espace_public:arduino_ventilateur

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_ventilateur [2020/08/21 13:10]
loickk
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Régulation d'un ventilateur 12 volts avec une carte Arduino ====== 
-Le fonctionnement du chauffage solaire électronique nécessite une [[espace_public:​electronique|gestion électronique]] permettant de piloter le ventilateur en fonction de la température au sein du panneau. 
  
-Pour le pilotage du ventilateur,​ deux capteurs de température sont utilisés : 
-  * Le premier est placé en amont du ventilateur à l'​intérieur de la conduite du bas du capteur. Sa température est proche de la température de l'​habitat. 
-  * Le second capteur de température est placé en aval du panneau solaire, au niveau de la sortie d'air. 
- 
-{{ :​espace_public:​vue_en_coupe_vert_2.png?​600 |}} 
- 
-===== Dans quelles conditions active t'on le ventilateur ? =====  
-Il existe trois cas de figure : 
-  * Lorsque la température T1 du capteur en amont du ventilateur est inférieure à une température de confort défini 22°C et que la température en aval du panneau T2 est supérieure à 25°C, le panneau solaire est en mesure de chauffer l'​habitat et le ventilateur est activé. 
-  * Lorsque la température T1 du capteur en amont du ventilateur est supérieure à la température de confort de 22°C, il n'est pas nécessaire de chauffer et le ventilateur peut être coupé. 
-  * Lorsque la température T1 du capteur en amont du ventilateur est inférieure à la température de 22°C mais que la température en aval du panneau est inférieure à 25°C, le panneau ne peut pas chauffer la pièce. Le ventilateur reste donc coupé pour ne pas consommer inutilement de l'​électricité. 
- 
-===== Liste de matériaux =====  
-Pour assurer le contrôle du ventilateur,​ nous allons utiliser : 
-  * Une diode 1N4007 
-{{ :​espace_public:​diode.jpg?​200 |}} 
- 
-  * Un transistor BC547 
-{{ :​espace_public:​transistor.jpg?​200 |}} 
- 
-  * Une carte Arduino ATmega 328 Uno 
-{{ :​espace_public:​arduino_uno.png?​200 |}} 
- 
-  * Deux capteurs de températures DHT11 
-{{ :​espace_public:​dht11.jpg?​200 |}} 
- 
-  * Une résistance de 1kOhms 
-{{ :​espace_public:​r1kohms.jpg?​150 |}} 
-  * Un convertisseur 230Volts-12Volts 
-{{ :​espace_public:​transformateur-led-12w-12v.jpg?​200 |}} 
- 
-  * Un câble secteur 230Volts 
-  * Câbles mâle-mâle 
-  * Câbles femelle-mâle 
-  * Un ventilateur 12V 
-{{ :​espace_public:​ventilateur_12v.jpg?​300 |}} 
- 
-===== Code =====  
-==== Préambule du code ==== 
-Chargement de la bibliothèque du capteur de température 
-   #​include <​DHT.h>​ 
- 
-Définition des ports attribués aux capteurs de températures (ports 2 et 3) 
-   #​define DHTPIN_1 2     // what pin we're connected to 
-   #​define DHTPIN_2 3     // what pin we're connected to 
-Définition du type de capteur de température (DHT11) 
-   #​define DHTTYPE DHT11   // DHT 11 
-Définition de la valeur entière (int) de la température de consigne qui pilote le ventilateur 
-   int maxTemp = 25; 
-Définition du port attribué au signal d'​activation/​désactivation du ventilateur  ​ 
-   #​define fan 7 
-Commande qui attribue au nom dht_1 et dht_2 des capteur DHT de type DHTTYPE et branché sur le port DHTPIN_1 et DHTPIN_2. ​ 
-   DHT dht_1(DHTPIN_1,​ DHTTYPE); 
-   DHT dht_2(DHTPIN_2,​ DHTTYPE); 
- 
-==== Initialisation ==== 
-   void setup() ​ 
-   { 
-Définition du mode de fonctionnement du port digital numéro 7 (fan) en signal de sortie. C'est la carte Arduino qui envoie un signal vers le transistor (et non l'​inverse) 
-     ​pinMode(fan,​ OUTPUT); ​  // Signal de sortie pour activer ou non le ventilateur 
-Définition du débit de données avec la commande Serial.begin en bits par seconde à une valeur de 9600 bits par secondes. ​     
-     ​Serial.begin(9600);​ 
-Démarrage des capteurs de température.. ​ 
-     ​dht_1.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() ​ 
-   { 
-Pause de 5000ms avec la commande delay. 
-     ​delay(5000);​ 
-Lecture de la température et de l'​humidité définie dans des variables réelles flottantes (de type float) avec les commandes dht_1.readHumidity() et dht_1.readTemperature(). 
-     float h_1 = dht_1.readHumidity(); ​        // Humidité relative 
-     float t_1 = dht_1.readTemperature(); ​     // Temperature en degres Celsius 
-     float h_2 = dht_2.readHumidity(); ​        // Humidité relative 
-     float t_2 = dht_2.readTemperature(); ​     // Temperature en degres Celsius 
- 
-Activation et désactivation du ventilateur avec une condition de type if/​else. ​ 
-Si la température t_1 est supérieure a maxTemp (25°C), le signal de sortie **fan** (port 7) est alimenté en courant (alimentation du Transistor). 
-Sinon, le signal de sortie n'est pas alimenté 
-     ​if(t_1 > maxTemp) ​ 
-     { 
-         ​digitalWrite(fan,​ HIGH); 
-     ​} ​ 
-     ​else ​ 
-     { 
-        digitalWrite(fan,​ LOW);  
-     } 
- 
-Affichage dans la console de l'​humidité et de la température mesurée 
-     ​Serial.print("​ Humidity #1: "​); ​ 
-     ​Serial.print(h_1);​ 
-     ​Serial.print("​ %\t"); 
-     ​Serial.print("​Temperature #1: "​); ​ 
-     ​Serial.print(t_1);​ 
-     ​Serial.print("​ *C "); 
-     ​Serial.print("​ Humidity #2: "​); ​ 
-     ​Serial.print(h_2);​ 
-     ​Serial.print("​ %\t"); 
-     ​Serial.print("​Temperature #2: "​); ​ 
-     ​Serial.print(t_2);​ 
-     ​Serial.println("​ *C "); 
-   } 
  • espace_public/arduino_ventilateur.1598008216.txt.gz
  • Dernière modification: 2020/08/21 13:10
  • par loickk