ciao a tutti ragazzi...
non riesco a far funzionare un progettino veramente elementare e non capisco il perché...
allora si tratta di un sistema composto da 3 galleggianti che, posti in una vasca di raccolta, mi permetta di segnare sul display il livello rilevato in tre punti: livello basso, livello medio e livello alto.
per quanto riguarda la configurazione del display non ho avuto problemi, sulla lettura dei sensori, invece, si.
Sul mio arduino ho liberi gli analogici 1, 2, 3 e i digitali 8 e 9; per comodità ho provato ad utilizzare gli analogici dato che sono in fila ed ho usato questo sketch (per comodità riporto solo quello che interessa a noi)
int livellob = A1;
int livellom = A3;
int livelloa = A2;
void setup(){
pinMode(livellob, INPUT);
pinMode(livellom, INPUT);
pinMode(livelloa, INPUT);
}
void loop(){
lcd.setCursor(13, 3);
if (digitalRead(livellob) == HIGH){
lcd.write(1);
}
else {
lcd.write(0);
}
lcd.setCursor(14, 3);
if (digitalRead(livellom) == HIGH){
lcd.write(0);
}
else {
lcd.write(1);
}
lcd.setCursor(15, 3);
if (digitalRead(livelloa) == HIGH){
lcd.write(0);
}
else {
lcd.write(1);
}
delay(1000)
}
come potete vedere è semplicissimo... ed io pensavo di collegare il primo cavo di ciascun galleggiante al +5v di arduino e gli altri ad A1, A2 ed A3...
quando l'acqua sale il galleggiante chiude il circuito mandando il +5v al pin di Arduino che, a sua volta, leggendolo, scriverà sul display un'icona che ho realizzato..
bene, il problema è che A1 funziona correttamente mentre A2 legge solo se anziché il +5v gli porto il ground (in realtà basta che colleghi un qualsiasi conduttore a prescindere che sia collegato o meno al + o a gnd) ma al tempo stesso deve interferire in qualche modo con A3 perché eccita anche quest'ultimo che automaticamente arduino legge come: "livello alto raggiunto".......
dove sbaglio?