L’objectif de ce tutoriel est de concevoir et de programmer un système de refroidissement automatisé basé sur la carte ESP8266 NodeMCU.
Ce système utilise le capteur DHT11 pour mesurer la température et l’humidité ambiantes, un ventilateur 5V pour assurer le refroidissement automatique lorsque la température dépasse un seuil défini, et un écran LCD I2C pour afficher en temps réel les valeurs mesurées ainsi que l’état du ventilateur (ON/OFF).
À la fin de ce projet, vous serez capable de :
- lire les données de température et d’humidité avec le capteur DHT11.
- afficher les mesures sur un écran LCD I2C.
- contrôler automatiquement un ventilateur 5V selon la température mesurée.
- créer un système intelligent de gestion thermique à base d’ESP8266 NodeMCU.
Le système de refroidissement automatisé repose sur le contrôle automatique de la température ambiante grâce à la carte ESP8266 NodeMCU, le capteur DHT11, un module relais et un ventilateur 5V.
Le capteur DHT11 mesure en permanence la température et l’humidité de l’air. Ces valeurs sont envoyées à la carte ESP8266 NodeMCU, qui compare la température mesurée à une valeur seuil prédéfinie (par exemple 31 °C).
Si la température dépasse le seuil :
La carte ESP8266 envoie un signal logique au module relais, qui agit comme un interrupteur électronique et alimente le ventilateur 5V. Le ventilateur se met alors en marche pour refroidir l’environnement.
Si la température redescend en dessous du seuil :
L’ESP8266 désactive le relais, ce qui coupe l’alimentation du ventilateur. Le système retourne alors à son état de repos.
Pendant tout le fonctionnement, l’écran LCD I2C affiche la température et l’humidité mesurées, ainsi que l’état du ventilateur (ON ou OFF).
1. Carte ESP8266 NodeMCU

C’est le microcontrôleur principal du projet.
Il lit les données du capteur DHT11, commande le module relais selon la température et affiche les informations sur l’écran LCD.
Il fonctionne en 3,3 V et dispose d’une connectivité Wi-Fi (utile pour d’éventuelles extensions, comme une surveillance en ligne).
2. Capteur de température et d’humidité DHT11

Il mesure la température et l’humidité ambiantes.
Les valeurs mesurées sont envoyées à la carte ESP8266 pour analyse.
3. Module Relais

Le module relais Sert d’interrupteur électronique pour allumer ou éteindre le ventilateur.
L’ESP8266 envoie un signal logique au relais pour le commander.
Il permet d’isoler électriquement la carte du ventilateur.
4. Ventilateur 5V (DC)

C’est l’actionneur du système.
Il s’allume lorsque la température dépasse le seuil prédéfini et s’éteint lorsque la température redescend.
Il aide à refroidir l’environnement surveillé.
5. Écran LCD 16x2 avec module I2C

L'écran LCD permet d’afficher les valeurs mesurées (température et humidité) et l’état du ventilateur (ON/OFF).
Grâce au module I2C, seulement 4 connexions sont nécessaires : VCC, GND, SDA et SCL.
6. Plaque d’essai (breadboard)

La plaque d'essai sert à assembler le circuit sans soudure.
Elle Facilite les tests et modifications du montage.
7. Fils de connexion

Les fils de connexion sont utilisés pour relier les différents composants entre eux.
Ils sont indispensables pour établir toutes les connexions sur la breadboard.


Pour le Capteur DHT11 :
- Connecter la broche VCC(+) du DHT11 à 3V de la carte ESP8266
- Connecter la broche DATA du DHT11 à la broche D0 (GPIO16) de la carte ESP8266
- Connecter la broche GND(-) du DHT11 à la broche GND de la carte ESP8266
Pour l'Afficheur LCD I2C :
- Connecter la broche VCC de l'afficheur à 5V de la carte ESP8266
- Connecter la broche GND de l'afficheur à GND de la carte ESP8266
- Connecter la broche SDA de l'afficheur à la broche D2 (GPIO4) de la carte ESP8266
- Connecter la broche SCL de l'afficheur à la broche D1 (GPIO5) de la carte ESP8266
Pour le module Relais :
- Connecter la broche (+) du relais à la broche 3V de la carte ESP8266
- Connecter la broche (-) du relais à la broche GND de la carte ESP8266
- Connecter la broche (S) du relais à la broche D5 (GPIO14) de la carte ESP8266
- Connecter la broche (COM) du relais à la broche VIN (5V) de la carte ESP8266
Pour le ventilateur de 5V
- Connecter le fil rouge (+) du ventilateur à la broche ON du relais.
- Connecter le fil noir (-) du ventilateur à la broche GND de la carte ESP8266.
Ce code en Micropython permet de lire la température à partir du capteur DHT11, d’afficher cette température et l’état du ventilateur sur l’écran LCD.
Bibliothèques requises : i2c_lcd et lcd_api → pour afficher les informations sur l’écran LCD I2C.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import machine from machine import Pin, SoftI2C from lcd_api import LcdApi from i2c_lcd import I2cLcd from time import sleep import dht I2C_ADDR = 0x27 totalRows = 2 totalColumns = 16 # === Initialisation LCD I2C === i2c = SoftI2C(scl=Pin(5), sda=Pin(4), freq=10000) #initializing the I2C method for ESP8266 lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns) #lcd2 = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns) p16=Pin(16, Pin.IN) # Configuration du capteur DHT11 d=dht.DHT11(p16) # Configuration du pin du relais responsable du ventilateur relay_pin=Pin(14, Pin.OUT) lcd.clear() while True: d.measure() t=d.temperature() #read temperature lcd.move_to(0,0) # afficher la temperature sur l'ecran LCD lcd.putstr("temperature: "+str(int(t))) if (t>31) : lcd.move_to(0,1) # afficher l'etat du ventilateur sur l'ecran LCD lcd.putstr("Ventilateur ON") relay_pin.value(1) # Faire tourner le ventilateur else : lcd.move_to(0,1) # afficher l'etat du ventilateur sur l'ecran LCD lcd.putstr("Ventilateur OFF") relay_pin.value(0) # Arrêter le ventilateur sleep(2) lcd.clear() |
Explications du code :
1- Le capteur DHT11 lit la température et l’humidité ambiantes.
2- L’ESP8266 compare la température mesurée au seuil fixé (TEMP_SEUIL).
3- Si la température dépasse ce seuil, il active le relais, alimentant ainsi le ventilateur 5V.
4- Lorsque la température redescend, le relais est désactivé, et le ventilateur s’éteint.
5- L’écran LCD I2C affiche en temps réel la température et l’état du ventilateur (ON/OFF).
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info