Bonjour, élève de terminal SSI, je dois réalisé un projet en fin d'année. Nous avons décider de traiter l’automatisation d'une serre. Ma partie traite du controle de la temperature de la serre. Ayant fini la parti mécanique, je dois me charger a present de la partie commande. En effet je souhaiterais pouvoir commander mon vérin afin que celui ci s'ouvre en fonction de la température extérieur, voici ici le cahier des charges de la programmation:
La fenêtre s’ouvrira en fonction de la température :
*La fenêtre de la serre est fermée
*Si t ≥ 25° ET si t N’est PAS < 18°.
Alors, le système se met en ordre d’ouverture.
*Si l’ouverture a fini sa course en position haute.
Alors, le système se met en ordre d’arrêt.
*Si t < 18° ET si t N’est PAS ≥ 25°.
Alors, le système se met en ordre de fermeture
*Si l’ouverture a fini sa course en position basse.
Alors, le système se met en ordre d’arrêt.
J'ai déjà trouvé appliqué un programme d'ouverture et de fermeture d'une led en fonction de la température, mais je sais pas comment remplacé ces led par des vérins sur le programme que je vous joint ici. En espérant que vous pourriez m'aider. Cordialement
int capteur = 0;
void setup(){
Serial.begin(9600);
pinMode(4,OUTPUT); //LED BLEU
pinMode(8,OUTPUT); //LED ROUGE
pinMode(12,OUTPUT); //LED VERTE
}
void loop(){
int valcapt = analogRead(capteur);
float voltage = valcapt*5.0/1024.0;
float temperature = (voltage - 0.5)*100;
Serial.print( "temperature : ");
Serial.print(temperature);
Serial.printLn(" C ");
delay(2000);
if( temperature>25)
{
digitalWrite(4,LOW); // BLEU ETEINTE
digitalWrite(8,HIGH); // ROUGE ALLUMEE
digitalWrite(12,LOW); // VERTE ETEINTE
}
if( temperature<18)
{
digitalWrite(4,HIGH); // BLEU ETEINTE
digitalWrite(8,LOW); // ROUGE ETEINTE
digitalWrite(12,LOW); // VERTE ALLUMEE
}
else{
digitalWrite(4,LOW); // BLEU ALLUMEE
digitalWrite(8,HIGH); // ROUGE ETEINTE
digitalWrite(12,LOW); // VERTE ETEINTE
}
}
