Ciao a tutti,
sto cercando di leggere lo stato di un sensore reed con due uscite (NA e NC) da una scheda Arduino Nano.
Ho montato il reed magnetico sulla portiera dell'auto e collegato il tutto in modo che a portiera aperta il circuito venga chiuso. Ho eseguito la prova con un tester e fin qui è ok.
Quindi: hai collegato il sensore al positivo (5V) con l'uscita su A0, e fino a qui potrebbe anche andare bene (ma non benissimo), poi dichiari A0 come INPUT_PULLUP, cioè collegata con un pullup al positivo. Quando è che su A0 ci dovrebbe essere un cambiamento di stato (hint: mai)?
Con la stessa configurazione (pin analogico in pull_up) riesco a leggere l’output +5V di un LM7805 alimentato da ACC della vettura. Perché in quel caso funziona?
Emmm ... veramente sono le BASI del framework Arduino ...
... dichiarare un pin in INPUT come PULL_UP significa collegarlo internamente, con una resistenza, al +Vcc quindi, quel pin, è normalmente HIGH. Se anche tu gli fai fare contatto con +Vcc ... il risultato NON cambia, sempre HIGH rimane e tu non vedi nulla.
Se un pin è dichiarato PULL_UP (quindi connesso al +Vcc con una resistenza interna) tu devi collegare il contatto verso GND in modo che, quando si chiude, il pin vada LOW.
Occhio comunque hai "rimbalzi" che i contatti meccanici possono avere, perché, nel passaggio da uno stato all'altro (chiusura del contatto/apertura del contatto) potresti avere una serie di impulsi ... in tal caso si applicano delle tecniche di "debouncing".
NON ho capito cosa funziona e senza uno schema esatto (e senza sapere cosa leggevi) ... difficile capire ... comunque la teoria del PULL_UP te l'ho spiegata poco sopra.