Lettura di un valore da reed switch

Buongiorno a tutti,

in questi giorni sto aiutando un amico modellista a costruire un plastico ferroviario, in particolare stiamo realizzando la circuiteria e il software che provvederà ad automatizzare i movimenti dei treni (ad esempio fermarsi ad un semaforo, invertire il senso di marcia), il tutto controllato da un Arduino Mega 2560. Il problema nasce quando abbiamo pensato a cosa usare come sensore di presenza, e abbiamo pensato di usare dei reed switch. Il reed è collegato ad un terminale +5V, l’altro ovviamente ad Arduino con in parallelo una resistenza di pull-down. Il problema nasce quando vado a leggere il valore in ingresso alla board, infatti quando passo sopra al reed con un magnete i valori passano da 0 (contato aperto), 5V quando chiude il contatto, in mezzo torna a 0 e sull’altro terminale 5V.

La mia domanda quindi è la seguente, esiste un metodo software tramite il quale nonostante questa variazione di valori io possa leggere soltanto il primo segnale in ingresso( in questo caso +5V)?

Ringrazio in anticipo tutti coloro che risponderanno

Questo succede perche’ il reed chiude quando ai capi e’ presente polarita’ magnetica diversa, oppure quando ad un capo e’ presente un polo magnetico … passando sul reed in quel modo, lo fai chiudere due volte, perche’ quando il magnete e’ al centro la differenza di polarita’ e’ nulla …

Posiziona il reed ed il magnete in modo che passi lateralmente, o in modo che solo un lato del reed passi vicino ad un polo del magnete …

Grazie mille per la delucidazione :slight_smile:

BIgor:
… abbiamo pensato a cosa usare come sensore di presenza, e abbiamo pensato di usare dei reed switch.

Sentono il magnete dei ganci del treno ?