Interruttore livello

Ciao!

Ho acquistato un semplicissimo interruttore di livello tipo questo:

http://it.eachbuyer.com/tank-water-liquid-level-sensor-horizontal-float-switch-p4784.html?currency=EUR&utm_source=google&utm_medium=CSE&utm_campaign=[PLA]Italy(IT)&gclid=CPXwwaS4t8MCFRMatAodNFMAJA

dovrebbe essere un reed, quindi aperto o chiuso. se stampo la lettura del sensore su seriale non dovrei trovarmi o degli 0 o 1??

io trovo 000111000111000111 in una posizione e tutti 0 (00000000000) nell'altra...

è normale?

impossibile risponderti senza sketch e schemi di collegamento, presupponendo un hardware perfetto i problemi possono essere nello sketch e/o nei collegamenti

giusto, chiedo scusa. il sensore è collegato tra massa e pin 12 con una Rda 10K.

lo sketch che ho provato è questo:

#define sens_livello 12

byte i = 0;
void setup(){
pinMode (sens_livello,INPUT);
Serial.begin(9600);
}



void loop() {
i=digitalRead (sens_livello);
Serial.println(i);
}

Sarebbe corretto definire quando dici "una posizione o l'altra" quali effettivamente sono... Presumo che gli 0 fissi li hai quando il contatto è fisicamente chiuso e gli 1001101011001 quando è aperto, perciò suppongo, dato lo stato logico di incertezza che manchi una resistenza di pull-up sull'hardware

Hai messo una resistenza pullup o pulldown?
Puoi attivare quella interna con
pinMode (sens_livello,INPUT_PULLUP);
e collegare il sensore tra entata e massa.

Ciao Uwe

Risolto con R pullup.

Grazie a tutti!