Ciao.. questo è il codice... che usavo... ma con queste ventole non ho la lettura corretta.
cli();
sei();
int NbTopsFan;
int Calc;
int hallsensor = 2;
typedef struct{
char fantype;
unsigned int fandiv;
}fanspec;
fanspec fanspace[3]={{0,1},{1,2},{2,8}};
char fan = 1;
void rpm ()
{
NbTopsFan++;
}
void setup()
{
pinMode(hallsensor, INPUT);
Serial.begin(9600);
attachInterrupt(0, rpm, RISING);
}
void loop ()
{
NbTopsFan = 0;
sei();
delay (1000);
cli();
Calc = ((NbTopsFan * 60)/fanspace[fan].fandiv);
Serial.print (Calc, DEC);
Serial.print (" rpm\r\n");
}
Scusa Leo ma non è come lo utilizzavo io ? Pulsein intendo...