Created
December 25, 2020 02:19
-
-
Save dwblair/3781e4a6ec8678d5bd986f6626b657a7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "HX711.h" | |
// HX711.DOUT - pin #A1 | |
// HX711.PD_SCK - pin #A0 | |
HX711 scale(A1, A0); // parameter "gain" is ommited; the default value 128 is used by the library | |
float force_max = 0.; | |
void setup() { | |
Serial.begin(9600); | |
/* | |
Serial.println("HX711 Demo"); | |
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(2280.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() { | |
//Serial.print("one reading:\t"); | |
float force = scale.get_units(); | |
if (force>force_max) force_max=force; | |
Serial.print(force, 1); | |
Serial.print(","); | |
Serial.println(force_max); | |
//Serial.print("\t| average:\t"); | |
//Serial.println(scale.get_units(10), 1); | |
scale.power_down(); // put the ADC in sleep mode | |
delay(100); | |
scale.power_up(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment