Last active
September 13, 2016 21:31
-
-
Save dwblair/705b71296556c8a407e7eca7582c3ad5 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" | |
#include <SoftModem.h> | |
SoftModem modem = SoftModem(); | |
// 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 | |
int tareButton = 2; | |
void setup() { | |
Serial.begin(9600); | |
pinMode(tareButton, INPUT); | |
modem.begin(); | |
/* | |
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(2000.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"); | |
int buttonState = digitalRead(tareButton); | |
if (buttonState==1) { | |
scale.tare(); | |
delay(1000); | |
} | |
//Serial.println(-1.0*scale.get_units(), 1); | |
//Serial.println(buttonState); | |
//Serial.print("\t| average:\t"); | |
//Serial.println(scale.get_units(10), 1); | |
//scale.power_down(); // put the ADC in sleep mode | |
String str=String(-1.*scale.get_units(),1); | |
Serial.println(str); | |
modem.print(str); | |
delay(200); | |
//scale.power_up(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment