Figure 1 : Le DS1621, un classique intemporel combinant thermomètre numérique et thermostat programmable sur bus I2C.
Bienvenue sur TechFix Hub ! En 2001, programmer un capteur de température sans ordinateur était un défi technique passionnant. Aujourd'hui, avec l'avènement des microcontrôleurs à bas coût, nous pouvons faire bien mieux : non seulement lire et configurer le capteur, mais aussi en faire le cerveau d'un système de régulation thermique intelligent.
Le DS1621 de Dallas Semiconductor (aujourd'hui Maxim Integrated) est un circuit intégré remarquable. Il combine un thermomètre numérique (résolution de 0,5°C) et un thermostat avec hystérésis, le tout communicant via un simple bus à 2 fils (I2C). Dans ce guide, nous allons voir comment l'interfacer avec un Arduino ou un ESP32 pour créer votre propre station de monitoring thermique.
⚙️ 1. Comment Fonctionne le DS1621 ?
Contrairement aux capteurs analogiques (comme le LM35), le DS1621 effectue la conversion Analogique-Numérique (ADC) en interne. Voici ses atouts majeurs :
- Communication I2C : Il utilise seulement deux lignes (SDA pour les données, SCL pour l'horloge), libérant les broches de votre microcontrôleur. Jusqu'à 8 DS1621 peuvent partager le même bus grâce à 3 broches d'adressage (A0, A1, A2).
- Fonction Thermostat Intégrée : C'est sa force principale. Vous pouvez programmer deux registres : Th (Température Haute) et Tl (Température Basse). Lorsque la température dépasse Th, la broche TOUT passe à l'état HAUT. Elle ne repasse à l'état BAS que lorsque la température redescend en dessous de Tl, créant ainsi une hystérésis naturelle qui évite le papillonnement (cyclage rapide) d'un relais.
🛠️ 2. Liste des Composants (BOM) pour le Projet Moderne
🔌 3. Guide de Câblage et Exemple de Code
Le câblage est d'une simplicité enfantine grâce au bus I2C. N'oubliez pas les résistances de pull-up de 4,7 kΩ entre SDA/VCC et SCL/VCC, surtout si les fils dépassent 15 cm.
- VDD ➔ 3.3V ou 5V (selon votre microcontrôleur)
- GND ➔ GND
- SDA ➔ Broche SDA (A4 sur Arduino Nano, GPIO 21 sur ESP32)
- SCL ➔ Broche SCL (A5 sur Arduino Nano, GPIO 22 sur ESP32)
- A0, A1, A2 ➔ GND (pour l'adresse I2C par défaut : 0x48)
#include <Wire.h>
#define DS1621_ADDR 0x48 // Adresse I2C par défaut (A0, A1, A2 à la masse)
void setup() {
Serial.begin(115200);
Wire.begin();
// Démarrer la conversion de température en continu
Wire.beginTransmission(DS1621_ADDR);
Wire.write(0xAC); // Registre de configuration
Wire.write(0x02); // Bit 1 = 1 (Conversion continue)
Wire.endTransmission();
Wire.beginTransmission(DS1621_ADDR);
Wire.write(0xEE); // Commande "Start Convert T"
Wire.endTransmission();
}
void loop() {
Wire.beginTransmission(DS1621_ADDR);
Wire.write(0xAA); // Commande "Read T"
Wire.endTransmission();
Wire.requestFrom(DS1621_ADDR, 2);
if (Wire.available() == 2) {
int tempMSB = Wire.read();
int tempLSB = Wire.read();
// Calcul de la température (résolution 0.5°C)
float temperature = tempMSB + (tempLSB > 128 ? 0.5 : 0.0);
Serial.print("Température: ");
Serial.print(temperature);
Serial.println(" °C");
}
delay(1000);
}
🚀 4. L'Upgrade "TechFix Hub" : Le Thermostat Connecté IoT
Pourquoi s'arrêter à un simple affichage série ? En utilisant un ESP32, vous pouvez transformer ce montage classique en un objet connecté puissant :
- Dashboard Web Local : L'ESP32 peut héberger un petit serveur Web affichant la courbe de température en temps réel, accessible depuis votre smartphone sur le réseau Wi-Fi local.
- Intégration Home Assistant : Utilisez le protocole MQTT pour envoyer les données de température à votre box domotique. Vous pourrez ainsi créer des automatisations complexes (ex: "Si la température du serveur dépasse 45°C, allumer le ventilateur et m'envoyer une notification Telegram").
- Historique des Données : Ajoutez un module de carte microSD ou utilisez une base de données InfluxDB pour logger les températures sur plusieurs mois et analyser les tendances thermiques de votre pièce.
🔗 Pour Aller Plus Loin sur TechFix Hub
Les capteurs et la domotique n'ont plus de secrets pour vous ? Consultez ces guides complémentaires :
✅ Conclusion
Le DS1621 reste un composant pédagogique exceptionnel pour comprendre les bases de la communication I2C et la logique des thermostats à hystérésis. En abandonnant les anciens programmeurs dédiés au profit d'un simple Arduino ou ESP32, vous gagnez en flexibilité, en capacité d'affichage et en connectivité, ouvrant la porte à des projets de régulation thermique professionnels et peu coûteux.
🛠️ Un projet de régulation thermique en tête ?
Vous avez des questions sur le protocole I2C, le calcul de l'hystérésis, ou l'intégration du DS1621 avec un ESP32 ? Posez votre question dans les commentaires ci-dessous, la communauté TechFix Hub se fera un plaisir de vous aider !