Ventola e sensore effetto Hall

float temp1;
float temp2;
float temp3;
int PIN_TEMP=0;

volatile int rpmcount;
int sensorState = 0;
unsigned long rpm;
unsigned long timeold;

void rpm_fun(){
  rpmcount++;
}

void setup() {
  // put your setup code here, to run once:
  pinMode(10,OUTPUT);
  pinMode(A0,INPUT);
  
Serial.begin(9600);

  attachInterrupt(0, rpm_fun, FALLING);
}

void loop() {
  // put your main code here, to run repeatedly:
Serial.flush();

if(rpmcount>=1) {
      rpm=(60000*rpmcount)/(4*(millis()-timeold)); //al posto di 4 mettere il valore del numero di magneti utilizzati
      timeold = millis();
      rpmcount = 0;
      Serial.print("RPM = ");
      Serial.println(rpm,DEC);
   }
 
delay(100);

   temp1 = (analogRead(PIN_TEMP)*0.0049);
   temp2 = temp1-0.5;
   temp3 = temp2/0.01;
      
Serial.print(temp3) ;
Serial.print((char)176);
Serial.print("C");

if (temp3 >= 25.00){ 
     Serial.println(" ALLERT! VENTOLA ATTIVA ");
     digitalWrite(3, 255);
   }                             

if (temp3 <25.00){
    Serial.println(" SAFE! ");
    digitalWrite(3, 0);
   }
  
delay(1000);

}

sto costruendo passo passo, una sorta di centralina per un motore, qui ho messo lo sketch completo che sto utilizzando, ma ho un problema, la ventola non parte quando dovrebbe e il sensore hall non risponde quando ,per adesso, ci passo un magnete vicino.
L'unico a funzionare è il sensore di temperatura, se però provo i vari sensori separatamente l'uno dall'altro vanno, anche utilizzando questo sketch, e possibile che sia un problema di sketch??

la ventola è una 4 pin, collego il pin azzurro al pwm, e il gnd della ventola a quello di arduino e il il rosso della ventola aduna pila 9v

un grazie in anticipo a chi mi sa aiutare :slight_smile:

Come collegare il sensore di temperatura ad Arduino.png

io aggiungerei nel setup()

pinMode(2,INPUT_PULLUP); // Pin 2 INT 0 - abilita PullUp

solo per informazione, con questo accorgimento, cosa vado a migliorare? :slight_smile:

comunque grazie per la dritta :wink:

Ciao, così dai una polarizzazione al sensore di hall, ovvero viene inserita una resistenza verso positivo che, se il sensore ad effetto di hall non avesse, la tensione in ingresso non potrebbe andare a +5.
(pullup significa "tira su" :wink: )

Stefano

Anche se quello non é un Arduino o Genuino originale non puoi collegare un LED direttamente senza resistenza sul pin 13. Aggiungi in serie al LED una resistenza tra 330 ohm e 1kOhm.
Ciao Uwe

quello nel immagine non è mio, io ho un Arduino originale, ma nel mio circuito non ho dei led.
Comunque ho sistemato tutto sia il circuito che la parte di informatica.

grazie a tutti voi per la vostra disponibilità Vince