samedi 26 novembre 2016

Ventiller en fonction d'une température et /ou d'un taux d'humidité

Un petit montage pour mettre en fonctionnement deux ventilateurs en fonction de la température et/ou du taux d'humidité


Un petit montage arduino très simple

Un code aussi très simple

#include "DHT.h"                            // Librairie pour DHT22
#define DHTPIN 9                            // DHT22 Sensor connecte au PIN 9 pour le pole data
#define DHTTYPE DHT22                       // DHT de type22 DHT22
DHT dht22(DHTPIN, DHTTYPE);

int fan1 = 7;                               //le ventilateur 1 a son pole positif connecte au PIN7
int fan2 = 4;                               //le ventilateur 1 a son pole positif connecte au PIN4

void setup()
{
  Serial.begin(9600);                       //
  Serial.println("DHT22 mesure de la temperature et de l'hygrometrie"); // Texte a afficher sur le moniteur série
  dht22.begin();                            //  
  pinMode (fan1,OUTPUT);                    //
  pinMode (fan2,OUTPUT);                    //
}

void loop()                                 // on lance une serie de commande en boucle
{

delay(2000);
  float t = dht22.readTemperature();        // On enregistre la valeur de temperature dans la variable t
  float h = dht22.readHumidity();           // On enregistre la valeur d'humidite dans la variable h
 
  Serial.print("Temperature: ");            // on affiche du texte sur le moniteur serie
  Serial.print(t);                          // on affiche du texte sur le moniteur serie
  Serial.print(" C ");                     // on affiche du texte sur le moniteur serie
  Serial.print("Humidite : ");              // on affiche du texte sur le moniteur serie
  Serial.print(h);                          // on affiche du texte sur le moniteur serie
  Serial.println(" %");  


  if (t >21){                                // si la variable t est superieur a 21 (vous pouvez modifier la valeur)
   digitalWrite (fan1, HIGH);                // la valeur de fan 1 est portee a haut
 } else {                                    // sino
      digitalWrite (fan1, LOW);              // la valeur de fan 1 est portee a bas
 }



    if (h >65){                              // si la variable h est superieur a 65 (vous pouvez modifier la valeur)
   digitalWrite (fan2, HIGH);                // la valeur de fan 2 est portee a haut
 } else {                                    // sinon
      digitalWrite (fan2, LOW);              // la valeur de fan 2 est portee a bas
 }

   delay(500);                               // on attends 500 millisecondes avant de relancer la boucle
}


Aucun commentaire:

Enregistrer un commentaire