Hello I'm having a hard time finding my answer on the web and forums I even looked thru the hx711 library I got from git hub with lady adas Revision. This is where am at
I bought 10 load cell scales strain sensors df robot brand with the compatible hx711 ADC board .. having no trouble using up to 4 of them at a time
In the set up I'm. Using maga 2056.
I can call start each board and sensor communication in the setup like the following
#include "HX711.h"
HX711 scale;
HX711 scale1;
HX711 scale2;
HX711 scale3;
HX711 scale4;// VVV any scale defined past 4 on the mega seems to fail to communicate
/*
HX711 scale5;
HX711 scale6;
HX711 scale7;
HX711 scale8;
HX711 scale9;
HX711 scale10;
*/
void setup() {
pinMode(4, OUTPUT);
Serial.begin(9600);
Serial.println("HX711 Demo");
Serial.println("HX711 Demo");
Serial.println("Before setting up the scale:");
Serial.print("read: \t\t");
Serial.println(scale1.read()); // print a raw reading from the ADC
Serial.println(scale2.read());
Serial.println(scale3.read());
Serial.println(scale4.read());
Serial.println(scale5.read());
Serial.println(scale6.read());
Serial.println(scale7.read());
Serial.println(scale8.read());
Serial.println("Readings:");
Serial.println("Initializing the scale");
// parameter "gain" is ommited; the default value 128 is used by the library
// HX711.DOUT - pin #52
// HX711.PD_SCK - pin #53
scale1.begin(34, 35);
scale1.set_scale(100000);
scale2.begin(36, 37);
scale2.set_scale(100000);
scale3.begin(38, 39);
scale3.set_scale(100000);
scale4.begin(40, 41);
scale4.set_scale(100000);
// scale5.begin(42, 43);
// scale5.set_scale(100000);// <<<< when i remove the coment lines from here i get no response // from mega it turns in to a lifless brick
//scale6.begin(44, 45);
// scale6.set_scale(100000);
//// scale7.begin(46, 48);
// scale7.set_scale(100000);
// scale8.begin(48, 49);
// scale8.set_scale(100000);
//scale9.begin(50, 51);
// scale9.set_scale(100000);
//scale10.begin(52, 53);
// scale10.set_scale(100000);
Serial.println("Readings:");
}
void loop() {
//byte x = 0;
if (Serial.available()) { // If anything comes in Serial (USB),
// Serial.write(Serial.println(ww));
//using these to get readings from each sensor and board
float a =(scale1.get_units());
float b =(scale2.get_units());
float c =(scale3.get_units());
float d =(scale4.get_units());
float e =(scale5.get_units());
float f =(scale6.get_units());
float g =(scale7.get_units());
float h =(scale8.get_units());
Serial.print("A is "); // sends five bytes
Serial.println(a); // sends one byte
Serial.print("b is "); // sends five bytes
Serial.println(b); // sends one byte
Serial.print("c is "); // sends five bytes
Serial.println(c); // sends one byte
Serial.print("d is "); // sends five bytes
Serial.println(d); // sends one byte
Serial.print("e is "); // sends five bytes
Serial.println(e); // sends one byte
Serial.print("f is "); // sends five bytes
Serial.println(f); // sends one byte
Serial.print("g is "); // sends five bytes
Serial.println(g); // sends one byte
Serial.print("h is "); // sends five bytes
Serial.println(h); // sends one byte
// Serial.endTransmission(); // stop transmitting
}
}
maybe the photo will help explain what i'm doing in the photo i have hacked a 16 port ether net switch to use as a single communication hub for all the scales to be used and connect to one place the arduino with then apply a mapped range and send off the filtered results to a remote pc via serial BLE or Ether net wifi Undecided yet