Foren
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.
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.