espace_public:arduino_clapet

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
espace_public:arduino_clapet [2020/08/24 12:04]
loickk
espace_public:arduino_clapet [2021/03/10 18:08]
loickk supprimée
Ligne 19: Ligne 19:
  
 ===== Code ===== ===== Code =====
 +Le code présenté ci-dessous permet de gérer le clapet en fonction des températures mesurées par les capteurs au sein du panneau solaire. Le code [[https://​cloud.ecutsa.fr/​index.php/​s/​jkzwm2zBDpENXcG|est téléchargeable ici]] et contient également la [[espace_public:​arduino_ventilateur|gestion du ventilateur présenté précédemment]].
 +==== Preambule du code ====
  
    #​include <​DHT.h>​    #​include <​DHT.h>​
Ligne 31: Ligne 33:
    #​define clapet_open 5    #​define clapet_open 5
    #​define clapet_closed 6    #​define clapet_closed 6
 +   
    #​define fan 7    #​define fan 7
 +   
    int maxTemp = 28;    int maxTemp = 28;
  
-Boucle d'​initialisation+==== Boucle d'​initialisation ​====
    void setup() ​    void setup() ​
       {       {
Ligne 50: Ligne 52:
       dht_2.begin(); ​           // Mise en route du capteur de temperature et d'​humidite       dht_2.begin(); ​           // Mise en route du capteur de temperature et d'​humidite
     }     }
 +    ​
 +==== Boucle infinie====
 +   void loop() ​
 +      {      ​
 +      // Attente de 5secondes entre chaque mesure.
 +      delay(5000);​
 +      ​
 +      // Lecture temperature et humidite (temps de lecture>​250ms)
 +      // Capteur #1
 +      float h_1 = dht_1.readHumidity();​
 +      // Temperature en degres Celsius
 +      float t_1 = dht_1.readTemperature();​
 +      ​
 +      // Capteur #2
 +      float h_2 = dht_2.readHumidity();​
 +      // Temperature en degres Celsius
 +      float t_2 = dht_2.readTemperature();​
  
-void loop() { +Si la température du capteur 1 dépasse la température ​de consigne 
-   +  if(t_1 > maxTemp) ​ 
-   // Attente ​de 5secondes entre chaque mesure. +     { 
-  delay(5000);​ +Attente d'une seconde ​    
- +
-  // Lecture temperature et humidite (temps de lecture>​250ms) +
-  // Sensor readings may also be up to 2 seconds '​old'​ (its a very slow sensor) +
-  // Capteur #1 +
-  float h_1 = dht_1.readHumidity();​ +
-  // Temperature en degres Celsius +
-  float t_1 = dht_1.readTemperature();​ +
- +
-    // Capteur #2 +
-  float h_2 = dht_2.readHumidity();​ +
-  // Temperature en degres Celsius +
-  float t_2 = dht_2.readTemperature();​ +
- +
-  // Activation/​Désactivation ventilateur +
-  if(t_1 > maxTemp) {+
       delay(1000);​       delay(1000);​
-      ​Serial.println("​Ouverture"​);​ +Affichage Ouverture clapet dans la console ​     
-      digitalWrite(clapet_open, ​LOW); +      ​Serial.println("​Ouverture ​clapet"); 
-      digitalWrite(clapet_closed, ​HIGH);+Le signal d'​ouverture du clapet est alimenté (port 5) par la carte Arduino tandis que le signal de fermeture du clapet n'est pas alimenté (port 6). 
 +      digitalWrite(clapet_open, ​HIGH); 
 +      digitalWrite(clapet_closed, ​LOW); 
 +Attente de 15 secondes puis tous les signaux sont coupés (sauf ventilation qui s'​active)
       delay(15000);​       delay(15000);​
       digitalWrite(clapet_open,​ LOW);       digitalWrite(clapet_open,​ LOW);
       digitalWrite(clapet_closed,​ LOW);       digitalWrite(clapet_closed,​ LOW);
       digitalWrite(fan,​ HIGH);       digitalWrite(fan,​ HIGH);
-  ​} else {+     } 
 +Si la température est inférieure à la température de consigne, fermeture des clapets  
 +  ​else  
 +     { 
 +Attente d'une seconde
       delay(1000);​       delay(1000);​
-      ​Serial.println("​Fermeture"​);​ +Affichage dans la console "​Fermeture clapet"​ 
-      digitalWrite(clapet_open, ​HIGH); +      ​Serial.println("​Fermeture ​clapet"); 
-      digitalWrite(clapet_closed, ​LOW);+Le signal de fermeture du clapet est alimenté (port 6) par la carte Arduino tandis que le signal d'​ouverture du clapet n'est pas alimenté (port 5). 
 +      digitalWrite(clapet_open, ​LOW); 
 +      digitalWrite(clapet_closed, ​HIGH);
       delay(15000);​       delay(15000);​
 +Attente de 15 secondes puis tous les signaux sont coupés.
       digitalWrite(clapet_open,​ LOW);       digitalWrite(clapet_open,​ LOW);
       digitalWrite(clapet_closed,​ LOW);       digitalWrite(clapet_closed,​ LOW);
       digitalWrite(fan,​ LOW);        digitalWrite(fan,​ LOW); 
-  ​+     
- +Affichage des mesures de température et d'​humidité dans la console 
-  Serial.print("​ Humidity #1: ");  +     ​Serial.print("​ Humidity #1: ");  
-  Serial.print(h_1);​ +     ​Serial.print(h_1);​ 
-  Serial.print("​ %\t"​);​ +     ​Serial.print("​ %\t"​);​ 
-  Serial.print("​Temperature #1: ");  +     ​Serial.print("​Temperature #1: ");  
-  Serial.print(t_1);​ +     ​Serial.print(t_1);​ 
-  Serial.print("​ *C "); +     ​Serial.print("​ *C "); 
- +     ​Serial.print("​ Humidity #2: ");  
-  ​Serial.print("​ Humidity #2: ");  +     ​Serial.print(h_2);​ 
-  Serial.print(h_2);​ +     ​Serial.print("​ %\t"​);​ 
-  Serial.print("​ %\t"​);​ +     ​Serial.print("​Temperature #2: ");  
-  Serial.print("​Temperature #2: ");  +     ​Serial.print(t_2);​ 
-  Serial.print(t_2);​ +     ​Serial.println("​ *C "); 
-  Serial.println("​ *C "); +   ​}
-}+