⭐⭐ Débutant avancé ⏱️ 20 minutes

Mini-station météo

Tu fabriques une mini-station météo. Le DHT11 mesure la température et l’humidité, et le petit écran OLED les affiche.

Tu te connectes d’abord. Ensuite, ton projet est tout de suite prêt.

🧰 De quoi as-tu besoin ?

1× Arduino UNO
1× Capteur de température DHT11
1× Petit écran OLED 0,91"
🔌
Câble USB + Câbles jumper

🗺️ Schéma de branchement

Suis les fils de l’Arduino vers chaque pièce. Tu peux choisir toi-même les couleurs des fils.

De Vers
Arduino UNO · D2 Capteur de température DHT11 · DAT
Arduino UNO · 5V Capteur de température DHT11 · VCC
Arduino UNO · GND Capteur de température DHT11 · GND
Arduino UNO · A4 Petit écran OLED 0,91" · SDA
Arduino UNO · A5 Petit écran OLED 0,91" · SCL
Arduino UNO · 5V Petit écran OLED 0,91" · VCC
Arduino UNO · GND Petit écran OLED 0,91" · GND

🛠️ Voici comment le construire

  1. Branche le DHT11 : DAT vers pin 2, VCC vers 5V et GND vers GND.
  2. Branche l’écran OLED : SDA vers A4, SCL vers A5, VCC vers 5V et GND vers GND.
  3. Astuce : deux pièces ont besoin de 5V et GND. Utilise les bandes + et − de ta breadboard.

💻 Le code

// Mini-station meteo
// Le DHT11 mesure la temperature et l'humidite. Le petit ecran OLED les affiche.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>

const int DHT_PIN = 2;          // DAT du DHT11 est sur la pin 2
DHT dht(DHT_PIN, DHT11);

Adafruit_SSD1306 ecran(128, 32, &Wire, -1);  // OLED de 128 x 32 pixels (SDA = A4, SCL = A5)

void setup() {
  Serial.begin(9600);
  dht.begin();
  if (!ecran.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {  // 0x3C est l'adresse de l'ecran
    Serial.println(F("Ecran non trouve. Verifie les fils de SDA et SCL."));
    while (true);                                   // Arret : sans ecran, cela ne sert a rien
  }
  ecran.setTextColor(SSD1306_WHITE);
}

void loop() {
  float temperature = dht.readTemperature();  // En degres Celsius
  float humidite = dht.readHumidity();           // En pour cent

  ecran.clearDisplay();
  ecran.setTextSize(2);
  ecran.setCursor(0, 0);

  if (isnan(temperature) || isnan(humidite)) {   // La mesure ne marche pas ?
    ecran.setTextSize(1);
    ecran.print(F("DHT11 introuvable"));
  } else {
    ecran.print(temperature, 1);
    ecran.print((char)247);                  // Le signe degre
    ecran.println(F("C"));
    ecran.print(humidite, 0);
    ecran.print(F("% hum."));

    Serial.print(F("Temperature: "));
    Serial.print(temperature);
    Serial.print(F(" C  Humidite: "));
    Serial.print(humidite);
    Serial.println(F(" %"));
  }

  ecran.display();   // C'est seulement maintenant que tout arrive vraiment sur l'ecran
  delay(2000);        // Le DHT11 ne peut mesurer qu'une fois toutes les 2 secondes
}

🧠 Que fait le code ?

  • Le DHT11 est sur la pin 2. Avec readTemperature() et readHumidity(), nous lisons les valeurs.
  • L’écran OLED parle avec SDA (A4) et SCL (A5). Avec print(), nous mettons du texte sur l’écran.
  • Toutes les 2 secondes, il y a une nouvelle mesure. La mesure ne marche pas ? Alors tu vois un message.

🎯 Essaie un peu…

  • Affiche aussi la température en Fahrenheit
  • Allume une LED s’il fait plus de 25 degrés
  • Garde en mémoire la température la plus haute d’aujourd’hui et affiche-la aussi

🚀 Construis ce projet avec Codey : ouvre codey.online/fr/starter-kits/uno/projects/weather-station et clique sur FAIS ÇA. Alors le code et le schéma de branchement sont tout de suite prêts.

Tu te connectes d’abord. Ensuite, ton projet est tout de suite prêt.
⬇️ Télécharger cette page en PDF 📚 Télécharger le tutoriel complet (PDF)

Codey Online est un produit de OTRONIC

Construisez votre projet Arduino ou ESP32 avec l'IA

Décrivez ce que vous voulez créer. Codey Online écrit le code, dessine le schéma de câblage, le compile et flashe votre carte directement depuis le navigateur.

Commencez gratuitement