Leggere sensore forcella su ruota

Ciao a tutti,
ho acquistato un sensore a forcella che vorrei mettere per controllare i giri che fa una ruota comandata da un motore dc con presente una 'ruota intagliata' (scusate il tecnicismo) con 20 intagli.
Riesco a leggere semplicemente se il segnale è aperto o chiuso però non ho idea come si possa fare a leggere correttamente quanti giri fa la ruota. HO provato ma il valore che mi esce non ha senso, il problema penso che sia legato al fatto che non gestisco correttamente il cambiamento da aperto a chiuso e viceversa.
Avete qualche esempio? Consiglio? Può andar bene usare un sensore a forcella?

Mi serve per poi definire la velocità del robot.

Grazie

fai delle prove facendo fare un solo giro.. secondo me hai lo stesso problema dei normali bottoni, ovvero il "bouncing", cioè quando il sensore passa non hai 000000111111000000 ma hai qualcosa del tipo 000010111110101000
ora per eliminare il problema devi:

  1. valutare la velocità massima della ruota
  2. trovare il raggio perno ruota/sensore
  3. ricavare il tempo minimo tra una lettura di senore e l'altra
  4. ignorare i cambi di stato del pin che avvegono troppo in fretta rispetto al valore di cui sopra

Qui trovi un esempio di codice.
Dovresti completarlo con un contatore e poi dividere per l'unità di tempo per ottenere un valore che rappresenti i giri al secondo.
In base poi alle dimensioni della ruota e dei giri ti calcoli lo spostamento del robot.
--> Sensore a forcella con Arduino Nano