Hey there,
I´m currently measuring several loadscales with a HX711, with this library (GitHub - bogde/HX711: An Arduino library to interface the Avia Semiconductor HX711 24-Bit Analog-to-Digital Converter (ADC) for Weight Scales.) and an Arduino Mega 2560. I want to send the values in serial as fast as possible.
With a baudrate of 19200 I´m measuring 120ms in max msp for one value which is quiet a lot...
Same rate with the Arduino Serial Monitor.
Exchanged the cable but had no effect.
How can I make this faster?
T
#include "HX711.h"
// Two Load Cells, Common Clock and Individual Data I/O
HX711 scale;
void setup() {
Serial.begin(19200);
Serial.println("HX711 Dual L/C Demo");
// Serial.println("Initializing the scale");
// parameter "gain" is ommited; the default value 128 is used by the library
// HX711.DOUT - pin #A1
// HX711.PD_SCK - pin #A0
scale.begin(A1, A0);
// Serial.println("Before setting up the scale:");
// Serial.print("read: \t\t");
// Serial.println(scale.read()); // print a raw reading from the ADC
// Serial.print("read average: \t\t");
// Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC
// Serial.print("get value: \t\t");
// Serial.println(scale.get_value(5)); // print the average of 5 readings from the ADC minus the tare weight (not set yet)
// Serial.print("get units: \t\t");
// Serial.println(scale.get_units(5), 1); // print the average of 5 readings from the ADC minus tare weight (not set) divided
// by the SCALE parameter (not set yet)
scale.set_scale(0.f); // this value is obtained by calibrating the scale with known weights; see the README for details
scale.tare(); // reset the scale to 0
// Serial.println("After setting up the scale:");
// Serial.print("read: \t\t");
// Serial.println(scale.read()); // print a raw reading from the ADC
// Serial.print("read average: \t\t");
// Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC
// Serial.print("get value: \t\t");
// Serial.println(scale.get_value(5)); // print the average of 5 readings from the ADC minus the tare weight, set with tare()
// Serial.print("get units: \t\t");
// Serial.println(scale.get_units(5), 1); // print the average of 5 readings from the ADC minus tare weight, divided
// by the SCALE parameter set with set_scale
// Serial.println("Readings:");
}
void loop() {
scale.begin(A1, A0);
// Serial.print("read LC1:\t");
// Serial.println(scale.get_units(), 1);
Serial.println(scale.read());
Serial.print(" ");
// Serial.print("\t| LC1 avg:\t");
// Serial.println(scale.get_units(10), 1);
scale.begin(A2, A0);
//
//// Serial.print("read LC2:\t");
//// Serial.println(scale.get_units(), 1);
Serial.println(scale.read());
Serial.print(" ");
// Serial.print("\t| LC2 avg:\t");
// Serial.println(scale.get_units(10), 1);
scale.begin(A1, A0);
// Serial.print("read LC1:\t");
// Serial.println(scale.get_units(), 1);
Serial.println(scale.read());
Serial.print(" ");
// Serial.print("\t| LC1 avg:\t");
// Serial.println(scale.get_units(10), 1);
scale.begin(A2, A0);
//
//// Serial.print("read LC2:\t");
//// Serial.println(scale.get_units(), 1);
Serial.println(scale.read());
Serial.print(" ");
// Serial.print("\t| LC2 avg:\t");
// Serial.println(scale.get_units(10), 1);
scale.begin(A1, A0);
// Serial.print("read LC1:\t");
// Serial.println(scale.get_units(), 1);
Serial.println(scale.read());
Serial.print(" ");
// Serial.print("\t| LC1 avg:\t");
// Serial.println(scale.get_units(10), 1);
scale.begin(A2, A0);
//
//// Serial.print("read LC2:\t");
//// Serial.println(scale.get_units(), 1);
Serial.println(scale.read());
Serial.print(" ");
// Serial.print("\t| LC2 avg:\t");
// Serial.println(scale.get_units(10), 1);
////////////////////////////////////////////
// scale.begin(A3, A0);
////
////// Serial.print("read LC3:\t");
////// Serial.println(scale.get_units(), 1);
// Serial.println(scale.read());
// Serial.print(" ");
//// Serial.print("\t| LC3 avg:\t");
//// Serial.println(scale.get_units(10), 1);
//
// scale.power_down(); // put the ADC in sleep mode
delay(10); // doesnt affect anything
// scale.power_up();
}
HX711_reading_Six_L_Cs.ino (3.79 KB)