PWM ARDUINO VENTILATEUR

Bonjour à tout le monde,

Etant novice en programmation, j’ai acheté il y a peu le starter kit d’arduino, et je souhaite effectuer un asservissement de ventilateur, j’ai déjà mon montage, mais c’est au niveau de la programmation que j’ai un peu de mal et le problème c’est qu’avec mon code je peux faire varier la vitesse du ventilateur qui passe par une vitesse minimale jusqu’à une vitesse maximale, mais je n’arrive pas à la faire varier en fonction de la température, j’aimerais avoir un petit peu d’aide ou de conseils…

Merci.

Voici mon code :

float temperature;
const int sensorLM35 = A0;
const int pinMoteur = 9;

void setup(){

Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
digitalWrite(2, LOW);
digitalWrite(4, LOW);
}

void loop(){

Serial.print("Temperature: ");
Serial.println(temperature);
temperature = (5.0 * analogRead(sensorLM35) * 100.0) / 1024;
MoteurVitessePWM();
MoteurAcceleration();

}

void MoteurVitessePWM()
{
int vitesse1 = int(255) / 3;
int vitesse2 = int(255) / 2;
int vitesse3 = (int)255;
analogWrite(pinMoteur, vitesse1);
delay(1000);
analogWrite(pinMoteur, vitesse2);
delay(1000);
analogWrite(pinMoteur, vitesse3);
delay(1000);
analogWrite(pinMoteur, vitesse2);
delay(1000);
analogWrite(pinMoteur, vitesse1);
delay(1000);
analogWrite(pinMoteur, LOW);
}

void MoteurAcceleration()
{
for(int i = 30; i<= 255; i++)
{
analogWrite(pinMoteur, i);
delay(50);
}
delay(1);

for(int i = 255; i>=0; i–)
{
analogWrite(pinMoteur, i);
delay(50);
}

bonjour,
déjà ton pinMoteur est ou dans le setup?

pour ton problème, utilise des if
mets sur le papier tes conditions et restranscrit après en code dans le loop seulement.
ca sera plus simple au départ.

si temperature < xxx => ventilo fait quoi
si temperature > yyy => ventilo fait quoi
sinon => ventilo fait quoi