1
0
mirror of https://gitlab.com/lander-team/lander-cpp.git synced 2025-06-16 15:17:23 +00:00
Lander-Embedded/include/LoadCells.h
2021-11-10 14:42:57 -07:00

51 lines
1.3 KiB
C

struct LoadCells {
HX711 loadcell_0;
HX711 loadcell_1;
HX711 loadcell_2;
HX711 loadcell_3;
double lc0Value;
double lc1Value;
double lc2Value;
double lc3Value;
double lc0Calibration;
double lc1Calibration;
double lc2Calibration;
double lc3Calibration;
};
void init_LoadCells(LoadCells &loadCells) {
loadCells.lc0Value = 0.0;
loadCells.lc1Value = 0.0;
loadCells.lc2Value = 0.0;
loadCells.lc3Value = 0.0;
const int lc_clock = 23;
const int lc_data_0 = 0;
const int lc_data_1 = 1;
const int lc_data_2 = 2;
const int lc_data_3 = 3;
Serial.begin(9600);
// Configure clock pin with high impedance to protect pin (if this doesn't
// work, change to OUTPUT)
pinMode(lc_clock, INPUT);
// Configure load cell data pins as inputs
pinMode(lc_data_0, INPUT);
pinMode(lc_data_1, INPUT);
pinMode(lc_data_2, INPUT);
pinMode(lc_data_3, INPUT);
loadCells.loadcell_0.begin(lc_data_0, lc_clock);
loadCells.loadcell_1.begin(lc_data_1, lc_clock);
loadCells.loadcell_2.begin(lc_data_2, lc_clock);
loadCells.loadcell_3.begin(lc_data_3, lc_clock);
loadCells.lc0Calibration = loadCellCalibrate(loadCells.loadcell_0);
loadCells.lc1Calibration = loadCellCalibrate(loadCells.loadcell_1);
loadCells.lc2Calibration = loadCellCalibrate(loadCells.loadcell_2);
loadCells.lc3Calibration = loadCellCalibrate(loadCells.loadcell_3);
}