SunuLab
Notre savoir
Tous les projets
Facile40 minKit Capteurs

Thermomètre à écran

Avec un DHT11 et un écran LCD, tu affiches la température et l'humidité de ta chambre en temps réel. Ton premier vrai instrument de mesure.

Pratique pendant les fortes chaleurs : tu sais exactement quand il fait 35 °C contre 38 °C.

Vidéo du tutoriel — à venir
Thermomètre à écran
Tu auras besoin du

SunuMake Capteurs

Mesure ton environnement7 composants inclus.

15 000 FCFAVoir le kit
Pas à pas

Les étapes

  1. 1

    Matériel et bibliothèques

    1 capteur DHT11 (3 broches), 1 écran LCD 16×2 avec backpack I2C (4 broches), 7 fils. Dans Arduino IDE : Outils → Gérer les bibliothèques → installe « DHT sensor library » d'Adafruit ET « LiquidCrystal_I2C » de Frank de Brabander.

  2. 2

    Câble le DHT11

    Le DHT11 a 3 broches (parfois 4 — ignore celle marquée NC). VCC → 5 V. GND → GND. DATA → broche 2 de l'Arduino. Place une résistance 10 kΩ entre VCC et DATA (résistance de pull-up).

  3. 3

    Câble le LCD I2C

    L'écran LCD avec backpack I2C n'a que 4 fils. VCC → 5 V. GND → GND. SDA → A4. SCL → A5. Le bus I2C utilise ces 2 fils (SDA et SCL) pour communiquer avec n'importe quel composant compatible.

  4. 4

    Téléverse et lis l'écran

    Téléverse le code. L'écran doit afficher « Temp: 28.0 C » sur la première ligne et « Humi: 65 % » sur la seconde. Si l'écran reste vide ou rempli de carrés noirs, ajuste le petit potentiomètre bleu à l'arrière du backpack I2C pour régler le contraste.

  5. 5

    Si l'écran ne s'allume pas

    L'adresse I2C par défaut est 0x27. Sur certains modules elle peut être 0x3F. Si rien ne s'affiche, change `lcd(0x27, ...)` en `lcd(0x3F, ...)` et re-téléverse.

Code Arduino

Le programme à téléverser

Copie ce code dans l'IDE Arduino, branche ta carte en USB et clique sur le bouton « Téléverser » (la flèche en haut à gauche).

sketch.ino
// Thermomètre à écran — DHT11 sur la broche 2, LCD I2C sur A4/A5
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
DHT dht(2, DHT11); // capteur sur la broche 2
LiquidCrystal_I2C lcd(0x27, 16, 2); // adresse I2C, 16 colonnes, 2 lignes
void setup() {
dht.begin();
lcd.init();
lcd.backlight();
}
void loop() {
float t = dht.readTemperature(); // en °C
float h = dht.readHumidity(); // en %
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t, 1); // 1 chiffre après la virgule
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humi: ");
lcd.print(h, 0);
lcd.print(" %");
delay(2000); // le DHT11 n'aime pas être lu plus vite que toutes les 2 s
}
Mini-cours

Comment ça marche ?

Le DHT11 est un capteur tout-en-un qui mesure température et humidité, et te renvoie déjà les valeurs converties. Tu n'as pas à faire de calcul — la bibliothèque DHT.h gère le protocole de communication complexe (un protocole 1-fil propre à ce capteur) pour toi.

Le bus I2C (*Inter-Integrated Circuit*) est un moyen astucieux de connecter plusieurs composants avec seulement 2 fils (SDA = données, SCL = horloge). Chaque composant a une adresse unique. Notre LCD à l'adresse 0x27 reçoit les caractères à afficher via ces 2 fils — au lieu d'utiliser 6 broches comme un LCD classique.

Le delay(2000) est important : le DHT11 a besoin d'au moins 1 seconde entre deux mesures. Si tu le lis plus vite, tu obtiens des erreurs (NaN).

Continuer

D'autres projets à essayer