encoder conteggio giri

Salve a tutti, sto controllando un motore con un encoder magnetico assoluto.
L encoder invia all arduino un segnale Pwm e attraverso un AnalogRead incremento un contatore sui soli fronti alti, che vengono poi convertiti in angolo attraverso un valore di guadagno da me calcolato.
Ciò che ottengo sulla stampa seriale sono quindi dei valori di angolo che vanno da 0 a 360 con una sensibiltà di 10 gradi.
Ora il mio problema è di dover riconoscere il numero di giri che il motore compie, ma sto trovando dei grandi problemi con le condizioni di controllo non essendo un grande programmatore. :slight_smile:
Questo è il codice:

for (int i = 0; i < 3750; i = i + 1) { //riempimento array
array*=analogRead(pwm);*

  • }*

  • for (i=0;vero==1;i++) { //eliminazione fronte alto parziale*

_ if (array*==0) { //incremento contatore q finchè non si trova un valore di fronte basso*_
* q=i;*
* vero=0;*
* }*
* }*

* for (i = q; i < 3750; i = i + 1) { // incremento countPeriodo solo su lettura dei fronti alti partendo da q*

_ if (array*>600) {
countPeriodo+=1;
count2=0;
}*_

* else {*

* if(count2==0) { //azzeramento countPeriodo incontrando fronte basso*

_ Serial.println(angolo=countPeriodo*10);_

_ /* if (count3==0){
* iniz=angolo; //salva il primo valore di angolo*
* count3=1;
}/

* count2 = countPeriodo;
countPeriodo=0;
}
}*_

Spero veramente mi possiate aiutare
Grazie.