Moniteur portable température/humidité Arduino avec LCD 16x2
Composants nécessaires
| Composant | Quantité | Notes |
|---|---|---|
| Arduino UNO R3 (ou tout modèle 5V) | 1 | |
| Capteur DHT11 (4 broches, température + humidité) | 1 | Précision ±2°C, ±5% HR |
| Écran LCD 16x2 à rétroéclairage RGB (Adafruit) | 1 | Compatible HD44780 |
| Résistance 10 kΩ (pull-up DHT11) | 1 | |
| Potentiomètre 10 kΩ (contraste LCD) | 1 | |
| Bouton tactile (rétroéclairage) | 1 | |
| Power Bank (alimentation portable) | 1 | 5V USB |
| Câble USB A-B | 1 | Pour programmation |
| Plaque d'essai + fils | 1 |
Câblage
Alimentation
- Arduino GND → rail négatif breadboard
- Arduino 5V → rail positif breadboard
Capteur DHT11
- Pin 1 (VCC) → 5V + résistance 10 kΩ vers Pin 2 (data)
- Pin 2 (Data) → Arduino Pin 8
- Pin 3 → non connecté
- Pin 4 (GND) → GND
LCD 16x2 (brochage standard)
| Pin LCD | Connexion |
|---|---|
| 1 (VSS/GND) | GND |
| 2 (VDD/5V) | 5V |
| 3 (VO/Contraste) | Curseur potentiomètre 10k (autres broches: 5V et GND) |
| 4 (RS) | Arduino Pin 12 |
| 5 (R/W) | GND |
| 6 (E/Enable) | Arduino Pin 11 |
| 7-10 (D0-D3) | Non connectés (mode 4 bits) |
| 11 (D4) | Arduino Pin 5 |
| 12 (D5) | Arduino Pin 4 |
| 13 (D6) | Arduino Pin 3 |
| 14 (D7) | Arduino Pin 2 |
| 15 (A/Anode +) | 5V |
| 16 (K/Cathode -) | Bouton tactile → GND (active le rétroéclairage quand pressé) |
Note : Vérifiez le brochage de votre LCD (pins 15/16 parfois inversés). Le schéma Fritzing joint utilise le brochage standard.
Code Arduino
Utilise la bibliothèque DHT sensor library d'Adafruit (GitHub) et LiquidCrystal (incluse).
// Moniteur Température / Humidité Portable
// Auteur : [Auteur original] - Adapté et commenté
#include <LiquidCrystal.h>
#include <DHT.h>
#define DHTPIN 8
#define DHTTYPE DHT11
// LCD : RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
DHT dht(DHTPIN, DHTTYPE);
void setup() {
lcd.begin(16, 2);
dht.begin();
lcd.print("Temp: Humidity:");
}
void loop() {
delay(500); // Fréquence de lecture ~2 Hz (DHT11 max ~1 Hz recommandé)
lcd.setCursor(0, 1); // Ligne 2 (index 1)
float h = dht.readHumidity();
float f = dht.readTemperature(true); // true = Fahrenheit
if (isnan(h) || isnan(f)) {
lcd.print("ERROR "); // Efface résidus
return;
}
// Affichage formaté : température à gauche, humidité à partir col 7
lcd.print(f, 1); // 1 décimale
lcd.setCursor(7, 1);
lcd.print(h, 1);
lcd.print("% "); // Efface résidus si nombre plus court
}
Fonctionnement
- Alimentez l'Arduino via la Power Bank (port USB).
- L'écran affiche « Temp: Humidity: » sur la première ligne.
- Appuyez sur le bouton tactile → le rétroéclairage s'allume.
- La deuxième ligne affiche la température (°F) et l'humidité (%HR) mises à jour toutes les 500 ms.
Applications pratiques
- Détection de fuites thermiques (fenêtres, portes) en déplaçant le capteur
- Optimisation de la ventilation (VMC, ouverture fenêtres)
- Surveillance cave, grenier, serre, cave à vin
- Base pour projet station météo complète (ajout pression, luminosité, log SD, WiFi...)
Évolutions prévues par l'auteur
- Remplacer l'Arduino UNO par un ATtiny84 (plus compact, faible conso)
- Concevoir un PCB gravé (attente météo favorable pour gravure en garage)
- Boîtier imprimé 3D étanche (IP65) pour usage extérieur
- Ajout horloge RTC + carte SD pour journalisation
- Transmission sans fil (ESP8266/ESP32, LoRa, nRF24L01) vers serveur domotique
Limites du DHT11
| Paramètre | Plage | Précision |
|---|---|---|
| Température | 0 ~ 50 °C | ±2 °C |
| Humidité | 20 ~ 80 % HR | ±5 % HR |
| Fréquence échantillonnage | 1 Hz max (1 lecture/seconde) | - |
Pour une meilleure précision : DHT22/AM2302 (±0,5°C, ±2% HR, -40~80°C, 0~100% HR) ou capteur I2C SHT3x, BME280 (temp/hum/pression).
Schémas Fritzing
Deux vues fournies :
- Schéma de câblage complet (breadboard)
- Schéma électrique (schema)
Fichier source : LCD_DHT11.ino (inclut le code)
Processus de fabrication
- Construire un système aéroponique automatisé avec Raspberry Pi et capteur d'humidité
- Construire un jeu gyroscopique temps réel avec Arduino Nano et capteur MPU-6050
- Système de Capteur de Température Multi-Position pour Intégration Domotique
- Capteur CO2 K30 : Surveillance en temps réel de la qualité de l'air intérieur
- Capteur d'obstacle IR simple avec Arduino — LED IR + Photodiode
- Intégrer un capteur d'empreintes capacitif DFRobot (ID809) avec Arduino ou ESP8266
- Créer une jauge IoT connectée au Web avec Arduino, Yaler et IFTTT
- Lévitation magnétique répulsive avec Arduino : circuit simple et guide DIY
- Construire un Réveil Fiable avec RTC DS1302 et Arduino UNO