Arduino UNO Q - Capteur de Température et d'Humidité DHT22
Le DHT22 offre des lectures de température et d'humidité plus précises que le DHT11 — avec une plage plus large et une meilleure précision. Ce tutoriel vous montre comment l'utiliser avec Arduino UNO Q pour une surveillance complète de l'environnement avec des alertes Telegram.
Dans ce tutoriel, vous apprendrez :
Ce qu'est le capteur DHT22 et en quoi il diffère du DHT11
Comment câbler le capteur DHT22 et le module sur le MCU Arduino UNO Q
Comment programmer le MCU (code Arduino C/C++) pour lire la température et l'humidité depuis le DHT22
Comment programmer le côté Linux (Python) et le côté MCU (C/C++) pour lire les données DHT22 via Bridge
Comment recevoir des alertes Telegram quand la température ou l'humidité dépasse un seuil
Comment utiliser OpenClaw sur Arduino UNO Q avec le capteur DHT22
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.
À Propos du Capteur DHT22
Le DHT22 (aussi connu sous le nom AM2302) est une alternative plus précise au DHT11. Les deux utilisent la même bibliothèque et un code presque identique — la principale différence est la constante de type dans le constructeur.
DHT22
Tension de fonctionnement
3,3V à 6V
Plage de température
-40°C à 80°C
Précision de température
±0,5°C
Plage d'humidité
0% à 100%
Précision d'humidité
±2%
Taux de lecture
0,5Hz (une fois toutes les 2 secondes)
Brochage
Capteur DHT22 (4 broches) :
GND : Connectez à GND (0V)
VCC : Connectez à 3,3V ou 5V
DATA : Broche de communication — connectez à une broche numérique du MCU
NC : Non connecté
Module DHT22 (3 broches) :
GND : Connectez à GND (0V)
VCC : Connectez à 3,3V ou 5V
DATA : Broche de communication (aussi étiquetée OUT ou S sur certains modules)
La plupart des modules DHT22 incluent une résistance de tirage intégrée — pas besoin de résistance externe.
Schéma de Câblage
Câblage Arduino UNO Q - Capteur DHT22
Nécessite une résistance de tirage 10kΩ entre DATA et VCC.
Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Câblage Arduino UNO Q - Module DHT22
Pas de résistance externe requise — le module en inclut une.
Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Le MCU lit la température et l'humidité toutes les 3 secondes et imprime sur le Moniteur Série.
/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-dht22*/#include <DHT.h>#define DHT22_PIN 2 // Arduino UNO Q MCU pin connected to DHT22 DATA pinDHT dht22(DHT22_PIN, DHT22);voidsetup() {Serial.begin(115200);delay(1500); dht22.begin();Serial.println("Arduino UNO Q DHT22 ready");}voidloop() {delay(3000); // DHT22 requires at least 2 seconds between readingsfloat humidity = dht22.readHumidity();float tempC = dht22.readTemperature();float tempF = dht22.readTemperature(true);if (isnan(humidity) || isnan(tempC) || isnan(tempF)) {Serial.println("Failed to read from DHT22 sensor!"); } else {Serial.print("Humidity: ");Serial.print(humidity);Serial.print("% | Temperature: ");Serial.print(tempC);Serial.print("°C ~ ");Serial.print(tempF);Serial.println("°F"); }}
Étapes Rapides
Première utilisation de l'Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q avant de continuer.
Connecter : Câblez le capteur ou module DHT22 sur le MCU Arduino UNO Q comme indiqué.
Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q.
Créer une nouvelle application : Nommez-la Dht22, puis cliquez sur Créer.
Coller le programme : Collez le code MCU dans sketch/sketch.ino.
Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.
Search for DHT sensor library created by Adafruit and click the Install button.
My Apps/DIYables Apps
Run
Bricks
No bricks added...
Sketch Libraries
No sketch libra...
Files
python
sketch
.gitignore
README.md
app.yaml
sketch.ino
Add sketch library
DHT sensor library
DHT sensor libraryAdafruit
Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors
1.4.6
Install
More Info
Search for Arduino_RouterBridge created by Arduino and click the Install button.
My Apps/DIYables Apps
Run
Bricks
No bricks added...
Sketch Libraries
No sketch libra...
Files
python
sketch
.gitignore
README.md
app.yaml
sketch.ino
Add sketch library
Arduino_RouterBridge
Arduino_RouterBridgeArduino
This library provides a simple RPC bridge for Arduino UNO Q boards, allowing communication between the board and other devices using MsgPack serialization.
0.4.1
Install
More Info
Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab.
Sortie de la Console App Lab
DIYables_Apps
Stop
sketch.ino
1#include"Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-dht22*/#include <DHT.h>#include"Arduino_RouterBridge.h"#define DHT22_PIN 2DHT dht22(DHT22_PIN, DHT22);float last_humidity = 0.0;float last_temp_c = 0.0;float last_temp_f = 0.0;unsignedlong last_read_ms = 0;String get_humidity(String arg) {returnString(last_humidity, 1);}String get_temp_c(String arg) {returnString(last_temp_c, 2);}String get_temp_f(String arg) {returnString(last_temp_f, 2);}String get_status(String arg) {return"Temp: " + String(last_temp_c, 2) + "°C / " + String(last_temp_f, 2) + "°F Humidity: " + String(last_humidity, 1) + "%";}voidsetup() {Bridge.begin(); Monitor.begin(); dht22.begin();delay(2000); // allow sensor to stabilizefloat h = dht22.readHumidity();float c = dht22.readTemperature();float f = dht22.readTemperature(true);if (!isnan(h) && !isnan(c) && !isnan(f)) { last_humidity = h; last_temp_c = c; last_temp_f = f; }Bridge.provide("get_humidity", get_humidity);Bridge.provide("get_temp_c", get_temp_c);Bridge.provide("get_temp_f", get_temp_f);Bridge.provide("get_status", get_status); Monitor.println("Arduino UNO Q DHT22 Bridge ready");}voidloop() {unsignedlongnow = millis();if (now - last_read_ms >= 3000) { last_read_ms = now;float h = dht22.readHumidity();float c = dht22.readTemperature();float f = dht22.readTemperature(true);if (isnan(h) || isnan(c) || isnan(f)) { Monitor.println("Failed to read from DHT22 sensor!"); } else { last_humidity = h; last_temp_c = c; last_temp_f = f; Monitor.println("Humidity: " + String(h, 1) + "% Temp: " + String(c, 2) + "°C / " + String(f, 2) + "°F"); } }}
/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-dht22*/from arduino.app_utils import *import timedef loop(): status = Bridge.call("get_status")print(status) time.sleep(3)App.run(user_loop=loop)
Sortie de la Console App Lab
DIYables_Apps
Stop
sketch.ino
1#include"Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !