🔥 DIY Thermostat Intelligent avec ESP32 : Optimisez Votre Chauffage et Économisez l'Énergie (Guide 2026)
Plutôt que de simplement "purger un radiateur" ou "mettre des rideaux épais", la véritable façon d'amplifier l'efficacité de votre chauffage est de le contrôler avec précision. Un thermostat commercial coûte cher et est souvent fermé. En tant que makers, nous pouvons construire un thermostat intelligent DIY pour moins de 15€, capable de maintenir une température stable, d'éviter le gaspillage d'énergie et d'être contrôlé à distance.
1. Pourquoi un Thermostat DIY est Plus Efficace ?
Les systèmes de chauffage classiques fonctionnent souvent en "tout ou rien" avec un grand écart de température (hystérésis), ce qui gaspille de l'énergie. Notre projet ESP32 permet de :
- Maintenir une température précise à ±0.5°C grâce au capteur DS18B20.
- Éviter les cycles courts (short-cycling) qui usent les chaudières.
- Ajouter une interface OLED pour un suivi en temps réel.
- Évoluer vers un contrôle WiFi (Home Assistant, Telegram) plus tard.
2. 📦 Liste des Composants (BOM)
- Microcontrôleur : ESP32 DevKit V1 ou Arduino Nano (~5-8€)
- Capteur de température : DS18B20 (étanche, précis à ±0.5°C) (~3€)
- Module Relais : 1 Canal 5V, 10A (avec isolation optique pour la sécurité) (~3€)
- Affichage : Écran OLED 0.96" I2C (SSD1306) (~4€)
- Résistance : 1x 4.7kΩ (Pull-up pour le bus 1-Wire du DS18B20)
- Alimentation : Module 5V (ex: chargeur téléphone récupéré ou module HLK-PM01)
- Divers : Breadboard, câbles jumper, borniers à vis pour le 220V.
Coût total estimé : ~15-20€ (contre 50-100€ pour un thermostat connecté du commerce).
3. 🔌 Schéma de Câblage
La précision du câblage est cruciale, surtout pour l'isolation entre le circuit de commande (3.3V/5V) et le circuit de puissance (220V).
ESP32 Composants ───── ────────── GPIO 4 ──────→ Data DS18B20 (avec résistance 4.7kΩ vers 3.3V) 3.3V ──────→ VCC DS18B20 GND ──────→ GND DS18B20 GPIO 5 ──────→ IN (Module Relais) 3.3V/5V ──────→ VCC (Module Relais) GND ──────→ GND (Module Relais) GPIO 21 (SDA) ────→ SDA OLED GPIO 22 (SCL) ────→ SCL OLED 3.3V ──────→ VCC OLED GND ──────→ GND OLED
⚠️ Côté 220V (Relais) : Le fil de Phase (L) de l'alimentation secteur est coupé et passe par les bornes COM et NO (Normalement Ouvert) du relais, puis vers le radiateur/chauffage. Le Neutre (N) est connecté directement.
4. 💻 Code Arduino pour le Contrôle de Température
Ce code lit la température, l'affiche sur l'OLED, et active le relais uniquement si la température descend en dessous du seuil défini (avec une hystérésis pour éviter l'usure du relais).
/*
* Thermostat Intelligent DIY avec ESP32
* TechFix Hub - Optimisation de Chauffage
* Bibliothèques requises : OneWire, DallasTemperature, Adafruit_SSD1306, Adafruit_GFX
*/
#include
#include
#include
#include
#include
// Configuration des broches
#define ONE_WIRE_BUS 4
#define RELAY_PIN 5
#define TARGET_TEMP 20.5 // Température cible en °C
#define HYSTERESIS 0.5 // Marge pour éviter les cycles courts du relais
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(115200);
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // Relais éteint au démarrage (sécurité)
// Initialisation OLED
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("Échec initialisation OLED"));
for(;;);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
// Initialisation capteur
sensors.begin();
display.println("Initialisation...");
display.display();
delay(2000);
}
void loop() {
sensors.requestTemperatures();
float currentTemp = sensors.getTempCByIndex(0);
if (currentTemp != DEVICE_DISCONNECTED_C) {
// Logique de contrôle avec hystérésis
if (currentTemp < (TARGET_TEMP - HYSTERESIS)) {
digitalWrite(RELAY_PIN, HIGH); // Allumer le chauffage
} else if (currentTemp > (TARGET_TEMP + HYSTERESIS)) {
digitalWrite(RELAY_PIN, LOW); // Éteindre le chauffage
}
// Affichage OLED
display.clearDisplay();
display.setTextSize(2);
display.setCursor(0, 0);
display.print(currentTemp);
display.print(" C");
display.setTextSize(1);
display.setCursor(0, 25);
display.print("Cible: ");
display.print(TARGET_TEMP);
display.print(" C");
display.setCursor(0, 45);
if (digitalRead(RELAY_PIN) == HIGH) {
display.setTextColor(SSD1306_BLACK, SSDBLUE); // Fond bleu si chauffage ON
display.print(" CHAUFFAGE: ON ");
display.setTextColor(SSD1306_WHITE); // Reset couleur
} else {
display.print(" CHAUFFAGE: OFF");
}
display.display();
} else {
Serial.println("Erreur: Impossible de lire le capteur DS18B20");
}
delay(2000); // Mise à jour toutes les 2 secondes
}
5. 🛠️ Comment ce Projet "Amplifie" Votre Chauffage ?
Contrairement aux thermostats mécaniques bon marché qui ont une marge d'erreur de 2 à 3°C, ce système :
- Élimine le gaspillage : En coupant le chauffage exactement à 20.5°C, vous évitez de surchauffer la pièce inutilement.
- Prolonge la durée de vie de la chaudière : L'hystérésis de 0.5°C empêche le relais de s'allumer et s'éteindre toutes les 10 secondes (short-cycling).
- Permet l'automatisation future : Vous pouvez facilement ajouter un module WiFi pour allumer le chauffage 30 minutes avant votre retour du travail via une application.
6. ⚠️ Dépannage et Sécurité
- Le relais ne s'active pas : Vérifiez que votre module relais est "Active HIGH" ou "Active LOW". Certains modules s'activent avec un signal LOW. Adaptez le code en conséquence.
- Température erronée (-127°C) : La résistance Pull-up de 4.7kΩ est manquante ou mal branchée sur la broche Data du DS18B20.
- Sécurité 220V : Utilisez impérativement un boîtier en plastique (IP65 si possible) pour isoler toutes les connexions haute tension. Ne laissez aucun fil de cuivre nu exposé.
7. Conclusion
Optimiser votre chauffage ne passe pas par des astuces de grand-mère, mais par une gestion électronique précise. Ce projet de thermostat DIY avec ESP32 vous donne le contrôle total sur votre confort thermique, pour un coût dérisoire et avec une fiabilité professionnelle. C'est la première étape vers une maison connectée véritablement efficace.
Prochaine étape : Consultez notre guide sur l'ajout de la connectivité WiFi à ce projet pour le contrôler via Telegram ou Home Assistant !