Tarafunktion mit dem HX711 Load Balancer
Mit dem HX711 Wägezellenmodul ist eine Tarafunktion für die
Bienenstockwaage relativ einfach zu realisieren. Es ist lediglich ein
zusätzlicher Taster der beispielsweise mit A2 und GND verbunden wird
notwendig. Wenn noch eine optische Anzeige gewünscht wird, dass die
Tarafunktion ausgeführt wird wird noch eine LED über einen
Pullupwiederstand ( 1 kOhm) an A3 und GND angeschlossen. Jetzt müssen
nur noch folgende Programmzeilen in den Arduino Sketch eingefügt werden:
const int taraPin = A2; const int taraLED = A3; void setup() {
.......... pinMode(taraPin, INPUT); pinMode(taraLED, OUTPUT);
while (millis() <= 5000) { buttonState = digitalRead(taraPin);
} if (buttonState == LOW) {
Serial.println("ButtonState=LOW"); digitalWrite(taraLED,
HIGH); scale.tare(); delay(1000); digitalWrite(taraLED,
LOW); scale.set_scale(scalefactor); offset = 0; } else{
scale.set_scale(scalefactor); //this value is
obtained by calibrating the scale with known weights;
/* How to Calibrate Your Scale
1.Call set_scale() with no parameter.
2.Call set_tare() with no parameter.
3.Place a known weight on the scale and call get_units(10).
4.Divide the result in step 3 to your known weight. You should get about
the parameter you need to pass to set_scale.
5.Adjust the parameter in step 4 until you get an accurate reading.
*/ offset = 283.4; } ........ loop() { ....... } Wird nun
bei einem Neustart der Bienenstockwaage die Tarataste gedrückt wird die
Waage auf Null gesetzt.
Bienenstockwaage relativ einfach zu realisieren. Es ist lediglich ein
zusätzlicher Taster der beispielsweise mit A2 und GND verbunden wird
notwendig. Wenn noch eine optische Anzeige gewünscht wird, dass die
Tarafunktion ausgeführt wird wird noch eine LED über einen
Pullupwiederstand ( 1 kOhm) an A3 und GND angeschlossen. Jetzt müssen
nur noch folgende Programmzeilen in den Arduino Sketch eingefügt werden:
const int taraPin = A2; const int taraLED = A3; void setup() {
.......... pinMode(taraPin, INPUT); pinMode(taraLED, OUTPUT);
while (millis() <= 5000) { buttonState = digitalRead(taraPin);
} if (buttonState == LOW) {
Serial.println("ButtonState=LOW"); digitalWrite(taraLED,
HIGH); scale.tare(); delay(1000); digitalWrite(taraLED,
LOW); scale.set_scale(scalefactor); offset = 0; } else{
scale.set_scale(scalefactor); //this value is
obtained by calibrating the scale with known weights;
/* How to Calibrate Your Scale
1.Call set_scale() with no parameter.
2.Call set_tare() with no parameter.
3.Place a known weight on the scale and call get_units(10).
4.Divide the result in step 3 to your known weight. You should get about
the parameter you need to pass to set_scale.
5.Adjust the parameter in step 4 until you get an accurate reading.
*/ offset = 283.4; } ........ loop() { ....... } Wird nun
bei einem Neustart der Bienenstockwaage die Tarataste gedrückt wird die
Waage auf Null gesetzt.