1 minute(s) de lecture

ESP32-DHT22 C’est très simple de capter la température ambiante et l’humidité à l’aide d’un capteur DHT22 et un micro-contrôleur ESP32. Dans cet exemple j’ai pris une PYBSTICK-ESP32-C3, ça fonctionnera tout aussi bien avec les autres modèles d’ESP32, il suffira d’adapter le câblage.

Circuit électronique

ESP32-DHT22 Il y a 4 pattes sur le DHT22.

  • La première est à relier au +3v.
  • La seconde doit être reliée à un PIN du micro-contrôleur (Pin 3 dans mon exemple) et reliée aussi au 3v avec une résistance de 10kΩ.
  • La troisième n’est reliée à rien
  • La quatrième est reliée à la masse GND.

Code micro-python

Pour faire communiquer un DHT22 avec un Raspberry pi, il faut installer tout un tas de dépendances à récupérer chez Adafruit en passant par leur système circuit-python: il y a beaucoup de setup à faire avant de pouvoir coder. Avec un ESP32 c’est bien plus simple car micro-python contient nativement une bibliothèque “dht” qui permet de communiquer avec un tel capteur: le code est enfantin:

from machine import Pin
from time import sleep
import dht 

#patte 2 du capteur reliée au PIN3 du micro-controleur
sensor = dht.DHT22(Pin(3))

while True:
  try:
    sleep(2)
    sensor.measure()
    temp = sensor.temperature()
    hum = sensor.humidity()
    print("Température: {}°C, humidié: {}%".format(temp, hum))
  except OSError as e:
    print('Failed to read sensor.')

Ce code va afficher la température et l’humidité ambiante toutes les 2 secondes. Pour ne pas fausser les mesures il conviendra de bien éloigner le capteur de toute source de chaleur “électronique”. Par ailleurs il ne sert à rien d’interroger trop fréquemment ce capteur il ne suivrait pas la cadence: toutes les 2 secondes c’est déjà bien assez vite pour lui.

ESP32-DHT22