I have done that, and now when I read from the Arduino I seem to be getting a much higher sampling rate. But once I connect my HX711 to 5V power it goes back to ~10Hz.
I am so confused, not sure what is going wrong, the code seems to work and output at a higher sampling frequency when nothing is connected but when I power the load cell with 5V through VCC everything goes back to slow sampling frequency.
I tried the DMM, I can't read 5V on the resistors, (even with a new unmodified HX711). It does buzz on the continuity test though, but it doesn't buzz for the 80HZ modified one.
This is the code.
#include <Arduino.h>
#include "HX711.h"
// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
//const int LOADCELL2_DOUT_PIN = 26;
//const int LOADCELL2_SCK_PIN = 27;
//const int LOADCELL3_DOUT_PIN = 26;
//const int LOADCELL3_SCK_PIN = 27;
HX711 scale;
void setup() {
Serial.begin(115200);
Serial.println("HX711 Demo");
Serial.println("Initializing the scale");
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
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(1941.446); //for Z force
scale.set_scale(1952.604); // 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() {
Serial.print("one reading:\t");
Serial.print(scale.get_units(1), 1);
Serial.print("\t| average:\t");
Serial.println(millis());
//Serial.println(scale.get_units(10), 5);
//delay(100);
}
With 5V connected to Vcc, the unmodified one should read 0 volts. With the resistor moved to the 80Hz position, it should read +5V on both sides of the resistor, if not, then it is not soldered correctly.
It won't buzz in the 80Hz position but that doesn't tell you if it is connected to 5V or not.
Do you read 5V on the Vcc connection?