To tu masz w automacie zanim zetrzesz znaczki na klawiaturze . Tak na szybko .....
Po odpaleniu programu w setup wartość "Z" jest mapowana na podstawie odczytu A0 dla pełnego zbiornika 5000ml i zapamiętana , w loop x jest mapowana jako odczyt aktualny i czeka aż spadnie od 95-110 zaświeci dioda . Powyżej 110 z zmienia wartość na aktualną , dioda gaśnie i znowu czeka aż spadnie od 95 - 110 i tak aż braknie wody . Jak nie zależy ci na super dokładności to dodałem linijkę kodu która po wlaniu wody przywróci wartość z ale jet błąd pomiarowy 10 jednostek w tej linijce if ( o < - 10 ){z = x;} jeżeli masz układ stabilny to możesz dać mniej jak masz wachania większe daj więcej .
Po odpaleniu programu w setup wartość "Z" jest mapowana na podstawie odczytu A0 dla pełnego zbiornika 5000ml i zapamiętana , w loop x jest mapowana jako odczyt aktualny i czeka aż spadnie od 95-110 zaświeci dioda . Powyżej 110 z zmienia wartość na aktualną , dioda gaśnie i znowu czeka aż spadnie od 95 - 110 i tak aż braknie wody . Jak nie zależy ci na super dokładności to dodałem linijkę kodu która po wlaniu wody przywróci wartość z ale jet błąd pomiarowy 10 jednostek w tej linijce if ( o < - 10 ){z = x;} jeżeli masz układ stabilny to możesz dać mniej jak masz wachania większe daj więcej .
Kod:
int y ;
int x ;
int z ;
int o ;
void setup() {
pinMode(13, OUTPUT);
pinMode(A0, INPUT);
pinMode(8 , INPUT_PULLUP);
pinMode(9 , INPUT_PULLUP);
Serial.begin(9600);
delay(500);
z = map(analogRead(A0),0,1023,0,5000);
}
void loop() {
y = analogRead(A0);
x = map(y,0,1023,0,5000);
o = ( z - x );
if ( o >= 95 and o <= 110 ){digitalWrite( 13 ,1 );}
if ( o > 110 ){z = x;digitalWrite( 13 ,0 );}
if ( o < - 10 ){z = x;}
Serial.print(z);
Serial.print(" / ");
Serial.print(o);
Serial.print(" / ");
Serial.println(x);
}
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji