Arduino UNO Q - Capteur de Température - OLED
Vous souhaitez afficher la température en direct sur un écran OLED avec votre Arduino UNO Q et recevoir des alertes Telegram à distance ? Ce tutoriel combine le capteur DS18B20 avec un écran OLED SSD1306 128x64.
Dans ce tutoriel, vous apprendrez :
- Comment câbler le capteur DS18B20 et l'écran OLED au MCU de l'Arduino UNO Q
- Comment programmer le MCU (code Arduino C/C++) pour lire la température et l'afficher centré sur l'OLED
- Comment programmer côté Linux (Python) et côté MCU (C/C++) pour surveiller la température via Bridge
- Comment recevoir des alertes Telegram lorsque la température dépasse un seuil sur l'Arduino UNO Q
- Comment utiliser OpenClaw sur l'Arduino UNO Q avec le capteur de température et l'OLED

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Note d'achat: De nombreux capteurs DS18B20 sur le marché sont de faible qualité. Nous recommandons vivement d'acheter le capteur de la marque DIYables en utilisant le lien ci-dessus. Nous l'avons testé et il a bien fonctionné.
Note d'achat: Si vous souhaitez un écran OLED plus grand, utilisez le Arduino UNO Q - Écran OLED SSD1309 (2,42 pouces).
À Propos du Capteur de Température et de l'OLED
Si vous êtes nouveau sur le capteur DS18B20 ou l'écran OLED SSD1306, consultez d'abord ces tutoriels :
Schéma de Câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Nous recommandons d'acheter un capteur DS18B20 avec adaptateur de câblage. L'adaptateur a la résistance de pull-up intégrée.
Connexions DS18B20 :
| Broche DS18B20 | MCU Arduino UNO Q |
|---|---|
| GND | GND |
| VCC | 3,3V ou 5V |
| DATA | D4 |
Connexions OLED I2C :
| Broche OLED | MCU Arduino UNO Q |
|---|---|
| VCC | 3,3V ou 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Code Arduino UNO Q
L'Arduino UNO Q possède deux processeurs fonctionnant ensemble :
- Le MCU STM32 lit le capteur DS18B20 et pilote directement l'écran OLED
- Le MPU Qualcomm exécute Debian Linux et gère le Wi-Fi, Python et la connectivité cloud
- Dans cette section, seul le MCU est programmé — le côté Linux reste inactif. Une section ultérieure montre comment les deux processeurs fonctionnent ensemble via Bridge.
Le MCU lit la température chaque seconde et l'affiche centrée sur l'OLED.
※ Note:
Le code centre automatiquement le texte de température horizontalement et verticalement sur l'écran OLED. Le symbole degré est affiché en utilisant char(247).
Étapes Rapides
Première utilisation d'Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q avant de continuer.
- Connecter : Câblez le capteur DS18B20 et l'écran OLED au MCU de l'Arduino UNO Q comme indiqué dans le schéma de câblage.
- Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q.
- Créer une nouvelle application : Cliquez sur le bouton Créer une nouvelle application.

- Donnez un nom à l'application, par exemple : TemperatureSensorOled
- Cliquez sur Créer pour confirmer.

- Coller le sketch : Copiez le code MCU ci-dessus et collez-le dans sketch/sketch.ino. Laissez les autres fichiers par défaut.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Adafruit SSD1306 created by Adafruit and click the Install button.
- Search for Adafruit GFX Library created by Adafruit and click the Install button.
- Search for DallasTemperature created by Miles Burton
, Tim Newsome , Guil Barros , Rob Tillaart and click the Install button.
- Search for OneWire created by Jim Studt, Tom Pollard, Robin James, Glenn Trewitt, Jason Dangel, Guillermo Lovato, Paul Stoffregen, Scott Roberts, Bertrik Sikken, Mark Tillotson, Ken Butcher, Roger Clark, Love Nystrom and click the Install button.
- Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab.

- Tenez le capteur dans votre main ou plongez-le dans de l'eau chaude/froide — regardez la température se mettre à jour sur l'OLED.
Sortie de la Console App Lab
Bridge : Linux + MCU
Cette section montre comment programmer les deux processeurs de l'Arduino UNO Q pour que le côté Linux puisse surveiller la température via Bridge tandis que l'OLED continue de se mettre à jour automatiquement :
- Le capteur DS18B20 et l'OLED sont tous deux connectés au MCU (STM32) — le MCU lit la température chaque seconde et met à jour l'OLED automatiquement
- Le MPU ne peut pas accéder directement au capteur ou à l'OLED — il doit appeler les fonctions Bridge pour récupérer les relevés ou effacer l'affichage
- Le MPU dispose du Wi-Fi — exécutant Debian Linux complet, il peut enregistrer les lectures, publier sur des tableaux de bord ou envoyer des alertes via Internet
- Arduino_RouterBridge permet la communication RPC entre les deux processeurs
- ⚠️ /dev/ttyHS1 (Linux) et Serial1 (MCU) sont RÉSERVÉS par le routeur — ne les ouvrez jamais dans le code utilisateur
En résumé : Le MCU lit le capteur chaque seconde et met à jour l'OLED → le MPU lit la température via Bridge → le MPU publie, enregistre ou alerte via Wi-Fi.
Code MCU (Bridge)
Code Python (Bridge)
Étapes Rapides
- Connecter : Câblez le capteur DS18B20 et l'OLED à l'Arduino UNO Q comme indiqué dans le schéma de câblage.
- Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez que la carte soit détectée.
- Créer une nouvelle application : Cliquez sur Créer une nouvelle application, nommez-la TemperatureSensorOledBridge, puis cliquez sur Créer.
- Coller le sketch MCU : Copiez le code MCU Bridge ci-dessus et collez-le dans sketch/sketch.ino.
- Coller le code Python : Copiez le code Python Bridge ci-dessus et collez-le dans le fichier Python de l'application.
- Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab.

- Regardez les lectures de température apparaître dans la console Python tandis que l'OLED se met à jour automatiquement.
Sortie de la Console App Lab
Telegram
Surveillez la température à distance et recevez des alertes Telegram automatiques lorsque la température dépasse 35°C.
Sketch MCU : Conservez le même sketch MCU de la section Bridge précédente.
Code Python (Telegram)
Étapes Rapides
- Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre vrai token de bot de BotFather.
- Remplacez YOUR_CHAT_ID par votre identifiant de chat Telegram.
- Collez ce code Python dans le fichier Python de votre application (conservez le même sketch MCU).
- Cliquez sur le bouton Exécuter. Envoyez /temp depuis Telegram ou tenez le capteur pour déclencher l'alerte de haute température.
Sortie de la Console App Lab
ArduinoBot
Intégration d'OpenClaw
Vous pouvez adapter OpenClaw à ce tutoriel en vous référant aux instructions du tutoriel Arduino UNO Q - OpenClaw.
Idées de Projets
Vous pouvez réaliser de nombreux projets utiles combinant le capteur de température et l'OLED avec l'Arduino UNO Q :
- Thermomètre Numérique Portable : Un thermomètre alimenté par batterie qui affiche la température sur l'OLED en grand texte lisible — l'OLED s'éteint après 30 secondes sans changement pour économiser l'énergie
- Moniteur de Salle Serveur : Montez le capteur dans un rack serveur et affichez la température en temps réel sur l'OLED ; le MPU envoie des alertes Telegram en cas de défaillance du refroidissement
- Bandeau LED Contrôlé par Température : Le MCU lit la température et ajuste la couleur d'un bandeau LED selon les plages (bleu = froid, vert = normal, rouge = chaud) tandis que l'OLED affiche la lecture actuelle
- Tableau de Bord OLED Multi-Lignes : Affichez la température à la ligne 1, le min/max de la session à la ligne 2, et l'heure actuelle (depuis le MPU via Bridge) à la ligne 3 de l'OLED
- Enregistreur de Température Cloud : Le MPU Linux lit la température chaque minute via Bridge, stocke les données dans un fichier CSV et les télécharge vers Google Sheets ou un tableau de bord IoT quotidiennement
Défiez-Vous
Prêt à aller plus loin avec le capteur de température et l'OLED sur l'Arduino UNO Q ? Essayez ces défis :
- Facile : Modifiez le sketch MCU pour que l'OLED affiche à la fois Celsius et Fahrenheit sur des lignes séparées, en basculant l'affichage toutes les 3 secondes.
- Moyen : Ajoutez une fonction Bridge set_unit(String) qui accepte "C" ou "F" et définit l'unité affichée par l'OLED, sans modifier le code sous-jacent du capteur.
- Avancé : Construisez un tableau de bord de station météo : lisez la température du DS18B20 et l'humidité d'un capteur DHT11 (si connecté), affichez les deux sur l'OLED dans une mise en page formatée, et faites publier toutes les lectures par le MPU sur un broker MQTT toutes les 30 secondes.