26-04-2020, 19:12
Witam,
pracuję nad wagą opartą na tensometrach połączonych w mostek podłączonych do wzmacniacza HX711. Monitorowana ma być waga kilku uli 4-ry razy dziennie i wysyłana przy pomocy GPRS na stronę. Proszę szanowne grono o pomoc w rozwiązaniu dwóch problemów.
1. waga ma działać na zasilaniu bateryjnym więc w celu oszczędzania energii będzie usypiana. Chodzi o to aby po każdym wybudzeniu waga się nie zerowała tylko podawała wartość bezwzględną od momentu skalibrowania. Ja do tej pory waga się resetuje.
2. używam HX711, który rzekomo ma możliwość pomiaru z dwóch mostków tensometrycznych A i B. Pytanie w jaki sposób mogę dokonać tych pomiarów. Domyślnie pomiaru dokonuje dla kanału A.
podaję fragment kodu odpowiadającego za pomiar:
pracuję nad wagą opartą na tensometrach połączonych w mostek podłączonych do wzmacniacza HX711. Monitorowana ma być waga kilku uli 4-ry razy dziennie i wysyłana przy pomocy GPRS na stronę. Proszę szanowne grono o pomoc w rozwiązaniu dwóch problemów.
1. waga ma działać na zasilaniu bateryjnym więc w celu oszczędzania energii będzie usypiana. Chodzi o to aby po każdym wybudzeniu waga się nie zerowała tylko podawała wartość bezwzględną od momentu skalibrowania. Ja do tej pory waga się resetuje.
2. używam HX711, który rzekomo ma możliwość pomiaru z dwóch mostków tensometrycznych A i B. Pytanie w jaki sposób mogę dokonać tych pomiarów. Domyślnie pomiaru dokonuje dla kanału A.
podaję fragment kodu odpowiadającego za pomiar:
Kod:
HX711 waga(DOUT, CLK);
float kal = 43600;
float tab_pom[5];
waga.set_scale();
waga.tare();
void loop() {
waga.set_scale(kal);
if(digitalRead(pomiar)==HIGH ) {
Mierz();
delay(1000);
}
if (nr_pom == 4) {
tab_pom[4]=((tab_pom[0]+tab_pom[1]+tab_pom[2]+tab_pom[3])/4);
Serial.println("Wysyłam wiadomość");
delay(2000);
SendMessage();
delay(1000);
}
void Mierz()
{
tab_pom[nr_pom]=waga.get_units();
Serial.print(tab_pom[nr_pom]);
Serial.println(" kg");
nr_pom ++;
}