Capteur de température et d'humidité

Principe du Projet

Le but de ce projet est d’afficher sur un écran LCD le taux d’humidité et de température de l’air.

Si la température est strictement supèrieure à 26°C, la led rouge s’allume et l’écran affiche « Danger », sinon la led bleue s’allume et l’écran affiche « Safe ».

Matériel nécessaire

Capteur DHT11

Le capteur DHT11 mesure la température et l’humidité de l’air. Il existe en 3 ou 4 broches. 

 

Les sigles peuvent différer suivant le capteur utilisé :

 

  • VCC ou +  ou VDD (sortie de 3V à 5.5V du microcontrôleur) 
  • GND ou  ou MASSE ou VSS (GND du microcontrôleur)
  • DATA soit SIG ou S ou OUT (entrée numérique du microcontrôleur)

Ecran LCD

                                              L’écran à cristaux liquides ou LCD (Liquid Crystal Display)

 

 

La sortie 5V du microcontrôleur Arduino alimente l’écran LCD (broches « VSS » Masse) et « VDD » (Alimentation). La broche « VO » (Contraste) est reliée à la sortie du potentiomètre afin de contrôler le contraste de l’affichage. Les broches « RS » (Register Select) et « RW » (Read/Write) sont facultatives. La broche « E » (Enable) active l’affichage. Les broches D0 à D7 sont les broches de données. La broche « A » (Anode) et « K » (cathode) sont respectivement  les bornes + et – de la LED de rétroéclairage.

Potentiomètre

Le potentiomètre possède 3 broches :

  • une broche reliée à la tension d’alimentation (VCC)
  • une broche reliée à la masse (GND)
  • une broche correspondant à la sortie (curseur)
 
 Le potentiomètre permet de régler le contraste d’affichage de l’écran LCD.

 

Schéma Tinkercad

Schéma de principe à adapter à l'esp

Dans ce schéma de montage Tinkercad, le dht11 n’existant pas, il est remplacé par le capteur de température.

Code

Commentaires

La librairie DHT.h est utilisée pour gérer le capteur DHT11.

Dans le logiciel arduino : Outils > Gérer les librairies.
Dans la barre de recherche tapez « DHT11 » et installez la bibliothèque « DHT_sensor_library ». Une dépendance sera installée automatiquement (adafruit_unified_sensor).

 

La librairie LiquidCrystal.h est utilisée pour gérer l’affichage LCD.

Dans le logiciel arduino :  Outils > Gérer les librairies.

Dans la barre de recherche tapez « Liquid Crystal » et installez la bibliothèque « Adafruit LiquidCrystal by Adafruit ». Une
dépendance sera installée automatiquement (adafruit_unified_sensor).

//Librairies

#include <LiquidCrystal.h>
#include <DHT.h>
#define dhtType DHT11
int dhtPin = 0;//D3
int rs = 15 ;//D8
int en = 16;//D0
int db4 = 2;//D4
int db5 = 14;//D5
int db6 = 12;//D6
int db7 = 13;//D7
int ledRedPin = 5;//D1
int ledBleuPin=4;//D2
float temperature;
float humidity;

LiquidCrystal lcd(rs, en, db4, db5, db6, db7);
DHT dht(dhtPin, dhtType);

void setup()
{ pinMode(ledRedPin, OUTPUT);
pinMode(ledBleuPin, OUTPUT);
lcd.begin(16, 2);
Serial.begin(9600);
dht.begin();
}

 

void loop()
{
temperature = dht.readTemperature();
humidity = dht.readHumidity();
lcd.setCursor(0,0);
Serial.println( temperature);
lcd.print( » T= »);
lcd.print(temperature);
lcd.print(« C « );
int k=round(humidity);
lcd.print(« H= »);
lcd.print(k);
lcd.print(« % »);
delay(500);

if (temperature > 26.00)
{
digitalWrite(ledRedPin, HIGH);
digitalWrite(ledBleuPin, LOW);
lcd.setCursor(0,1);
lcd.print( » Danger « );
delay(500);
lcd.clear();
}

if (temperature < 26.00)
{
digitalWrite(ledBleuPin, HIGH);
digitalWrite(ledRedPin, LOW);
lcd.setCursor(0,1);
lcd.print( » Safe »);
delay(500);
}
lcd.clear();
}

Résultat