facendo così il serial monitor mi mostra una fila interminabile di zeri...
ho aggiunto (scusate se è parecchio brutto) lo schema di come ho fatto le connessioni.
Se con un cavo collego il +5V di arduino con il pin 2 i aumenta... inoltre ho collegato la ventola al pc,
e da li con speed fan leggo la velocità... quindi il segnale arriva... non capisco cosa sbaglio.
Ho provato anche con quella, ma mi da sempre 0(solo con intervalli più lunghi tra uno e l'altro), inoltre misurando col tester la tensione tra i 2 fili più esterni della ventola mi da 0V...
prova a misurare tra +5V e il filo giallo...
e più che la pulse in un interrupt in evento falling.... in ogni caso metti una foto della tua ventola ed il relativo collegamento che capiamo meglio
Funziona! ho messo il gnd di arduino sul filo del tachimetro e l'ingesso 2 di arduino sul +12V!!! non è che si brucia qualcosa così vero? a me sembrava tutto apposto, il cip non scaldava...
Controlla che non ti dia più di 5V... sennò risolvi con uno zener da 4.7/5.1V ed una resistenza da 470 ohm....
se la tensione è > di 5V friggi il chip....
a vuoto la tensione è al massimo 7V mentre una volta che collego arduino scende a 3.5V. A questo punto anche se mettessi il diodo zener passerebbero tutti i 3.5V quindi credo di essere tranquillo anche senza, correggetemi se sbaglio!
allora ti spiego come collegare lo zener...
ne prendi uno da 4.7V (anche se non sono 5 precisi arduino li sente come seglale 1, HIGH)
colleghi tra il cavo che ti da il segnale ed arduino la resistenza da 470 ohm...
poi colleghi lo zener (deve puntaare da massa al pin dell arduino che usi come ingresso) tra la resistenza e il pin d'ingresso
vi posto il codice che ho scritto per rilevare il numero di giri, devo solo migliorarlo mediando i valori che salgono e scendono un po' a caso, penso che userò qualcosa di simile a smooth.
unsigned long time;
unsigned long lastTime=0;
float duration;
float nGiri0;