1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #include <HX711.h>
const uint8_t nbScales = 4;
const uint8_t dataPins[nbScales] = {2, 4, 6, 8};
const uint8_t clockPins[nbScales] = {3, 5, 7, 9};
const long dividers[nbScales] = {5895655L, 5895655L, 5895655L, 5895655L}; // Adjustments
const long offsets[nbScales] = {50682624L, 50682624L, 50682624L, 50682624L}; // Adjustments
HX711 loadcells[nbScales];
void setup()
{
Serial.begin(115200);
for (byte i = 0; i < nbScales; i++) {
loadcells[i].begin(dataPins[i], clockPins[i]);
loadcells[i].set_scale(dividers[i]);
loadcells[i].set_offset(offsets[i]);
}
}
void loop()
{
static byte currentLoadCell = 0;
if (loadcells[currentLoadCell].wait_ready_timeout(1000)) {
Serial.print(F("Scale #"));
Serial.print(currentLoadCell);
Serial.print(F(" : "));
long reading = loadcells[currentLoadCell].read();
Serial.println(reading);
} else {
Serial.println(F("not found."));
}
currentLoadCell++; // go to next loadCell
if (currentLoadCell >= nbScales) { // if we read all the scales, pause for 1 second
currentLoadCell = 0;
delay(1000);
}
} |
Partager