samedi 7 mai 2016

ZAHI da LEYMA


AWAN ZAHI   DA LEYMA

A wannan cha hin za mou yi zantchey bissa awna zahi ( Temperature) kouma da leyma (Humidité).
Afannin wannan ayki chinney kamal in anna boukatar awna zahi da leyma a  wouri, moussali kamar gourin da a key kin-key sar koye, a na san zahi  da leyma sou saya kasou rika yawan saw yawa.



Kayan da za ayi boukata

- Arduino uno 
- Aboun kallo ( écran lcd)
-Aboun daw kan zahi da leyma (capteur de température et humidité  DHT11)


Sarin  wayoyi

Fritzing

Aboun kallo a key dorawa boussa Arduino a na lissahi a kan sounayan  wayoyin ( pins)




Hotan Aboun kallo boussa Arduino

A chirin da akey sawa tchi kin arduino:

#include <LiquidCrystalFast.h> //Librairie pour l'écran LCD
#include <DHT.h> //Librairie pour le capteur DHT

LiquidCrystalFast lcd(8, 9, 4, 5, 6, 7); //Initialisation de l'écran LCD avec les numéros des pins utilisés 
#define DHTPIN 3 //Pin auquel est connecté le capteur DHT

#define DHTTYPE DHT11 //Si vous utiliser le DHT 11
//#define DHTTYPE DHT22 //Si vous utiliser le DHT 22  (AM2302)
//#define DHTTYPE DHT21 //Si vous utiliser le DHT 21 (AM2301)

const int intTimePause = 1000; //Par défaut on actualise les valeures toutes les 5 secondes

float fltHumidity; //Pourcentage d'humidité mesuré
float fltTemperature; //Température mesurée en Celsius

DHT dht(DHTPIN, DHTTYPE); //On initialise le capteur DHT

void setup()
{
  lcd.begin(16, 2); //On indique le nombre de colonnes et de lignes de l'écran
  lcd.clear(); //On efface tout ce qui se trouve sur l'écran
}

void loop()
{
  fltHumidity = dht.readHumidity(); //On lit le pourcentage d'humidité
  fltTemperature = dht.readTemperature(); //On lit la température en degrés Celsuis
  if (isnan(fltTemperature) || isnan(fltHumidity)) //Si les valeures retournées ne sont pas des nombres :
  {
    lcd.setCursor(0, 1); //Positionnement du curseur
    lcd.print(DHTTYPE); //On affiche le type de capteur
    lcd.setCursor(5, 1);
    lcd.print(" illisible"); //On affiche l'erreur
  }
  else
  {
    //mise en forme et affichage des informations sur l'écran LCD
    lcd.setCursor(0, 0); //Positionnement du curseur
    lcd.leftToRight();  // indique que le texte doit être déplacé vers la gauche
    lcd.autoscroll();   // rend automatique ce déplacement
    
    
    //lcd.setCursor(9, 0);
    //Affichage de la température
    //if (fltTemperature >20)
    {
      lcd.print(fltTemperature );
      //lcd.print("confort");
  
    }
      //else
    { lcd.setCursor(0, 0);
      lcd.print("Temp:");
      lcd.print(fltTemperature); 
    
    //delay(400); 
     
    lcd.setCursor(12, 0);
    //lcd.print("Degre:"); //Affiche le caractère ° (degrés)
    }
    lcd.setCursor(11, 0);
    lcd.print("Celc"); //En degrés Celsuis
    lcd.setCursor(0, 1);
    lcd.print("Humidite : ");
    lcd.setCursor(11, 1);
    lcd.print(fltHumidity); //Affichage de l'humidité
    lcd.setCursor(15, 1);
    lcd.print("%");
  }
  delay(intTimePause); //On actualise les informations toutes les x millisecondes.
}