sensore hall

Buongiorno,
ho realizzato un contachilometri particolare per moto.
Ho un problema con il sensore hall, dopo aver percorso decine di chilometri, invece che una lettura per ogni giro di ruota mi segnala una successione di letture che non corrispondono al passaggio del magnete di fronte al sensore hall.

Questo lo schetch per una scheda arduino nano:

< #include <LedControl.h>
<LedControl lc=LedControl(7,6,5,1);>
<unsigned long distanza;>
<int ruota = 2165;>
<unsigned long oldtempo;>

<void setup() {>
<Serial.begin(9600);>
<lc.shutdown(0,false); // resetta il display e lo attiva>
<lc.setIntensity(0,12); // seleziona l'intensità>
<pinMode(2, INPUT); //dichiaro il pin 2 come ingresso> 
<attachInterrupt(0, leggerpm, RISING); //dichiaro l'interrupt, ogni volta che va da zero a uno segna un giro>
<}>

<void loop() {>
<lc.clearDisplay();>
<lc.print (oldtempo);>
<lc.print(“  “);>
<lc.print(distanza);>
<delay(500);>
<}>

<void leggerpm() {> 
<    distanza=distanza+ruota;>
<   oldtempo=millis();>
<}>

i collegamenti fisici sono i seguenti:

positivo (5 volt) verso il sensore hall
massa verso il sensore hall
output dal sensore hall verso il pin 2
resistenza da 10Kohm tra il pin 2 e la massa

>Wildroad17: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non avrai sistemato il codice come richiesto, nessuno ti potrà rispondere, quindi ti consiglio di farlo al più presto. :wink: