come gestire velocità ventola in base alla temperatura

pippo72:
Potresti usare il MAP :

int pwm = map((degC*10), 100, 800, 0, 255); 

pwm = constrain (pwm, 0, 255);



Ho moltiplicato degC per 10 perche MAP lavora con gli interi e ti darebbe una risposta a "scalini".
Così pwm vale 0 (ventola ferma) con degC = 10 e vale 255 (ventola al massimo) con degC = 80 e naturalmente varia proporzionalmente al variare di degC.

il valore minimo (10°) e il massimo (80°) naturalmente li ho messi A CASO, vedi tu quali ti vanno bene.

[constrain](http://arduino.cc/en/Reference/Constrain) serve per evitare valori fuori range del pwm.

Ciao
pippo72

ti ringrazio tantissimo per l'aiuto e scusa se rispondo solo adesso ma e stata una settimana impegnativa.

ho provato come mi hai detto e mi sembra che funzioni tutto tranne che la ventola fa un ronzio e non capisco come eliminarlo.
il codice e questo

int motorPin = 3;
int led = 13;
int pwm;
int degC;
int temp;
 int senPin = A0;


void setup()
{
  pinMode(motorPin,OUTPUT);
  pinMode(led,OUTPUT);
  pinMode(senPin,INPUT);
  Serial.begin(9600);
 
}
void loop()
 {  
 temp = analogRead(senPin);         
 float degC = (5.0 * temp * 100.0)/1024.0;    
 Serial.println((byte)degC); 
delay(1000);
 
 
  
 if (degC<27) {                  
 digitalWrite(led, LOW);           
 digitalWrite(motorPin,LOW);      
 Serial.println(degC);
 
 } else {                        
 digitalWrite(led, HIGH);             
 int pwm = degC;
  pwm = map((degC*10), 200, 350, 50, 255);
  pwm = constrain (pwm, 0, 255);

  analogWrite(3, pwm);
 
   } 
 }

il prossimo passo voglio provare a usare il terzo cavo della ventola per la lettura della velocita.

pablos:
http://www.electroschematics.com/9540/arduino-fan-speed-controlled-temperature/
http://www.apcc.tk/diy-projects/pwm-arduino
Temperature controlled fan speed using LM35 - Project Guidance - Arduino Forum
Arduino temperature controlled PC Fan - Make:
http://forum.arduino.cc/index.php/topic,96170.0.html
http://www.barnesian.com/arduino-powered-smart-fan-controller/
sensor - Arduino controlled PWM PC Fan - Electrical Engineering Stack Exchange
metachronistic
http://arduinotemperaturecontrolledfan.blogspot.it/
...
...
dovreste impare a usare google prima di arduino :slight_smile: :slight_smile:

ciao

i link li avevo gia visti ma non riuscivo a venirne a capo :cold_sweat: