Arduino UNO Q - Capteur de Température
La lecture précise de la température en temps réel est l'une des tâches Arduino les plus courantes, et le capteur DS18B20 la rend facile sur l'Arduino UNO Q. Avec sa simple interface 1-Wire, il fournit des lectures de température numériques directement dans votre code — sans conversion analogique-numérique.
Dans ce tutoriel, vous apprendrez :
- Ce qu'est le capteur de température 1-Wire DS18B20 et comment il fonctionne
- Comment connecter le capteur de température DS18B20 à l'Arduino UNO Q
- Comment connecter le capteur de température DS18B20 à l'Arduino UNO Q en utilisant un adaptateur de câblage
- Comment programmer le MCU (code Arduino C/C++) sur l'Arduino UNO Q pour lire la température du capteur DS18B20
- Comment programmer côté Linux (Python) et côté MCU (code Arduino C/C++) pour que le côté Linux lise et traite les données de température du capteur DS18B20
- Comment utiliser Telegram pour envoyer des messages à l'Arduino UNO Q pour obtenir des lectures de température à distance
- Comment utiliser OpenClaw sur l'Arduino UNO Q pour lire la température du capteur DS18B20

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é.
À Propos du Capteur de Température DS18B20
Le DS18B20 est un capteur de température numérique qui communique sur un seul fil de données en utilisant le protocole 1-Wire.
- Protocole : Numérique 1-Wire — une broche de données gère à la fois l'alimentation et la communication
- Plage : -55°C à +125°C (-67°F à +257°F) avec une précision de ±0,5°C entre -10°C et +85°C
- Sortie : Numérique — aucune conversion analogique-numérique nécessaire
- Alimentation : Alimenté par 3,3V ou 5V ; prend en charge le mode d'alimentation parasite (alimenté depuis la ligne de données)
- Capteurs multiples : Jusqu'à 127 capteurs DS18B20 peuvent partager une seule broche de données, chacun avec une adresse 64 bits unique
- Types de boîtier : Boîtier style transistor TO-92 et sonde en acier inoxydable étanche
Brochage

Le capteur de température DS18B20 a trois broches :
| Broche DS18B20 | Fonction | Broche Arduino UNO Q |
|---|---|---|
| GND | Masse | GND |
| VCC | Alimentation (3,3V ou 5V) | 5V |
| DATA | Bus de Données 1-Wire | 4 |
- Résistance de pull-up : Une résistance de 4,7kΩ entre la broche DATA et VCC est requise pour une communication 1-Wire fiable
- Adaptateur : Nous recommandons d'acheter un capteur DS18B20 avec adaptateur de câblage — il inclut la résistance de pull-up et un bloc de bornes à vis, donc aucun composant supplémentaire n'est nécessaire
Comment Programmer pour le Capteur de Température DS18B20
- Inclure les bibliothèques :
- Créer un objet OneWire et un objet DallasTemperature pour la broche connectée à la broche DATA du capteur :
- Initialiser le capteur dans setup() :
- Demander une lecture de température :
- Lire la température en Celsius :
- (Optionnel) Convertir Celsius en Fahrenheit :
Schéma de Câblage
- Câblage sur breadboard (avec résistance de pull-up) :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Schéma de câblage avec adaptateur (pas de résistance supplémentaire nécessaire) :

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. Cet adaptateur facilite la connexion car il inclut une résistance, donc vous n'en avez pas besoin d'une supplémentaire.
Code MCU (Sketch Arduino Direct)
Voici le sketch Arduino qui s'exécute directement sur le MCU STM32 pour lire la température du capteur DS18B20 et afficher les lectures dans la console App Lab.
- Initialise le capteur DS18B20 en utilisant la bibliothèque DallasTemperature
- Demande une lecture de température toutes les 500ms
- Lit la température en Celsius et la convertit en Fahrenheit
- Affiche les deux valeurs dans la console App Lab
Étapes Rapides
- Première utilisation d'Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q pour préparer votre environnement de développement avant de continuer.
- Câbler le capteur : Connectez le DS18B20 à la broche 4 de l'Arduino UNO Q selon le schéma de câblage ci-dessus. Si vous utilisez l'adaptateur, suivez le schéma de câblage de l'adaptateur.
- Connecter : Branchez l'Arduino UNO Q à votre ordinateur avec un câble USB-C.
- Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q — cela peut prendre plusieurs minutes au premier lancement.
- Créer une nouvelle application : Cliquez sur le bouton Créer une nouvelle application.

- Donnez un nom à l'application, par exemple : DIYables_DS18B20
- Cliquez sur Créer pour confirmer.
- Vous verrez un ensemble de dossiers et fichiers générés dans votre nouvelle application.

- Trouvez le fichier sketch/sketch.ino — c'est ici que vous collerez le sketch MCU.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- 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.
- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab pour compiler et téléverser vers le STM32.

- Vérifier les lectures : Ouvrez l'onglet Console → sous-onglet Moniteur Série pour voir la sortie de température en direct.
- Tester : Tenez le capteur dans votre main ou placez-le dans de l'eau chaude et regardez la température augmenter.
- Conseil Pro : Le DS18B20 prend environ 750ms pour compléter une conversion — si les lectures semblent figées, augmentez la valeur delay() à au moins 800ms.
Sortie de la Console App Lab
Programmation Bridge Linux + MCU
L'Arduino UNO Q possède deux processeurs qui fonctionnent ensemble : le MPU (Qualcomm, exécute Debian Linux) et le MCU (STM32, exécute Zephyr OS avec votre sketch Arduino). Ils communiquent via RPC grâce à la bibliothèque Arduino_RouterBridge — jamais via des ports série bruts.
- DS18B20 est connecté au MCU (STM32) — le capteur est câblé à une broche numérique sur le STM32, pas sur le MPU. Le MCU lit les données 1-Wire brutes directement depuis le capteur.
- Le MPU ne peut pas lire le capteur directement — pour obtenir la température, le MPU doit envoyer une requête au MCU via Bridge.call(). Le MCU exécute la fonction Bridge.provide() correspondante et retourne le résultat.
- Le MPU dispose du Wi-Fi — parce que le MPU exécute Debian Linux complet avec support Wi-Fi, il peut se connecter à Internet et faire des choses que le MCU ne peut pas : envoyer des messages Telegram, appeler des APIs REST, télécharger des données vers des services cloud, et plus.
- Communication : Bridge.call() côté Linux invoque les fonctions Bridge.provide() côté MCU
- ⚠️ Réservé : /dev/ttyHS1 (Linux) et Serial1 (MCU) sont utilisés par le routeur Arduino — ne les ouvrez jamais directement
En résumé : Le MCU lit le capteur → le MPU demande la valeur → le MPU l'utilise via Internet.
Sketch MCU — expose la lecture de température au côté Linux :
Script Python (Arduino App Lab) — lire la température depuis Linux :
- Note : Assurez-vous que Bridge.begin() est appelé dans le sketch MCU et que le sketch est téléversé avant d'exécuter le script Python côté Linux.
- ⚠️ Avertissement : N'ouvrez jamais directement /dev/ttyHS1 (sur Linux) ou n'utilisez pas Serial1 (sur MCU) dans votre code — ceux-ci sont réservés par le routeur Arduino et y accéder cassera le Bridge.
Étapes Rapides
- Téléverser le sketch MCU : Ouvrez Arduino App Lab, créez une nouvelle application, collez le sketch MCU Bridge ci-dessus dans sketch/sketch.ino, installez les bibliothèques DallasTemperature et OneWire, et cliquez sur Exécuter.
- Ajouter le script Python : Collez le code Python ci-dessus dans l'onglet Python de la même application.
- Exécuter l'application : Cliquez sur Exécuter — le côté Linux commencera à demander des lectures de température chaque seconde.
- Vérifier la console : Ouvrez l'onglet Console → sous-onglet Console Python pour voir la sortie de température en direct depuis le côté Linux.
- Conseil Pro : Ajustez la valeur time.sleep(1) pour contrôler la fréquence d'interrogation de la température — augmentez-la pour réduire l'utilisation du CPU côté Linux.
Sortie de la Console App Lab
Intégration Telegram
Vous pouvez lire la température de votre capteur DS18B20 à distance via Telegram — envoyez une commande depuis n'importe où et obtenez la lecture de température actuelle instantanément.
Si vous n'avez pas encore de bot Telegram, consultez Arduino UNO Q - Bot Telegram pour obtenir votre token de bot avant de continuer.
Cette section couvre :
- L'exécution d'un script Python côté Linux de l'Arduino UNO Q pour écouter les messages Telegram
- Le transfert de la demande de température au côté MCU via Bridge.call()
- L'envoi de la lecture de température en retour comme réponse Telegram
Sketch MCU : Conservez le même sketch MCU de la section Bridge précédente — aucune modification nécessaire. Assurez-vous qu'il est déjà téléversé et en cours d'exécution sur le STM32 avant de continuer.
Script Python (Arduino App Lab) — bot Telegram pour le capteur de température DS18B20 :
- Note : Remplacez YOUR_BOT_TOKEN par le token obtenu de @BotFather sur Telegram.
- Envoyez /temperature à votre bot pour obtenir la lecture de température actuelle du capteur DS18B20.
Étapes Rapides
- Téléverser le sketch MCU : Utilisez le sketch MCU Bridge de la section précédente (téléversez-le d'abord s'il ne l'est pas déjà).
- Coller le script Telegram : Copiez le code Python ci-dessus dans l'onglet Python de votre application dans Arduino App Lab.
- Définir votre token : Remplacez YOUR_BOT_TOKEN dans le script par votre vrai token de bot.
- Exécuter l'application : Cliquez sur Exécuter — le bot commence à écouter les messages Telegram immédiatement.
- Tester : Envoyez /temperature à votre bot et obtenez la lecture actuelle en retour.
- Conseil Pro : Planifiez des sondages /temperature depuis Telegram sur votre téléphone pour surveiller les tendances de température tout au long de la journée.
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 d'Applications/Projets
Voici quelques idées de projets que vous pouvez réaliser avec le capteur de température DS18B20 et l'Arduino UNO Q :
- Moniteur de température ambiante : Enregistrez les relevés de température chaque minute et affichez les tendances côté Linux
- Système d'alerte de température : Envoyez une alerte Telegram lorsque la température dépasse un seuil défini
- Thermostat intelligent : Lisez la température DS18B20 depuis le côté Linux et contrôlez un relais ou un ventilateur via Bridge.call() en fonction de la lecture
- Enregistreur de données : Faites sauvegarder par le côté Python les relevés de température dans un fichier CSV sur le système de fichiers Linux toutes les quelques secondes
- Réseau multi-capteurs : Connectez plusieurs capteurs DS18B20 à une seule broche (chacun a un identifiant unique) et lisez-les tous depuis le côté Linux
- Système de protection des plantes : Surveillez la température extérieure et envoyez un avertissement Telegram lorsque des conditions de gel sont détectées
Besoin de plus de détails sur DS18B20 ? Consultez le tutoriel Arduino DS18B20 pour plus d'idées.
Défiez-Vous
Essayez ces défis avec le capteur de température DS18B20 et l'Arduino UNO Q pour améliorer vos compétences :
- Facile : Modifiez le sketch MCU pour afficher également l'adresse 64 bits unique du capteur à côté de la lecture de température
- Moyen : Ajoutez un deuxième capteur DS18B20 sur la même broche de données et faites lire par le côté Python les deux capteurs indépendamment en utilisant leurs adresses uniques
- Avancé : Construisez un enregistreur de température contrôlé par Telegram qui sauvegarde les lectures dans un fichier côté Linux et envoie un rapport de résumé (min/max/moyenne) lorsque demandé via Telegram