Arduino UNO Q - Capteur à Ultrasons avec Écran LCD
Ce tutoriel vous montre comment utiliser un Arduino UNO Q avec un capteur à ultrasons HC-SR04 pour mesurer la distance et l'afficher sur un écran LCD I2C.

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Note d'achat: Une autre option consiste à créer l'écran LCD I2C en associant LCD 1602 Display et PCF8574 I2C Adapter Module.
À Propos du Capteur à Ultrasons et du LCD
Apprenez-en plus sur le capteur à ultrasons et le LCD I2C dans les tutoriels ci-dessous :
Schéma de Câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code MCU
L'Arduino UNO Q possède deux processeurs : le MCU STM32 (gère le contrôle matériel en temps réel) et le MPU Qualcomm (exécute Debian Linux). Dans cette section, seul le MCU STM32 est programmé — le côté Linux reste inactif. Une section ultérieure montrera comment les deux processeurs fonctionnent ensemble.
※ Note:
L'adresse I2C du LCD peut différer selon le fabricant. Dans cet exemple, nous utilisons 0x27 (la valeur par défaut pour les modules LCD DIYables).
É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 les composants : Connectez TRIG → broche 4, ECHO → broche 3. Connectez le LCD I2C au bus I2C (SDA/SCL).
- 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.
- Créer une nouvelle application : Cliquez sur le bouton Créer une nouvelle application.

- Donnez un nom à l'application, par exemple : DIYables_UltrasonicLCD
- 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 DIYables LCD I2C created by DIYables.io 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.

- Tester : Passez votre main devant le capteur — la distance devrait se mettre à jour sur le LCD toutes les 500 ms.
※ Note:
- Si rien ne s'affiche sur le LCD, vérifiez : Dépannage LCD I2C
- Ce code est à des fins pédagogiques. Pour la production, appliquez le filtre de bruit du tutoriel Capteur à Ultrasons.
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.
- Le capteur à ultrasons et le LCD sont tous deux connectés au MCU (STM32) — capteur sur les broches 2/3, LCD via I2C.
- Le MPU ne peut pas contrôler directement ces composants — il appelle Bridge.call("read_distance") sur le MCU, qui mesure la distance, l'affiche sur le LCD et l'imprime dans le Monitor.
- Le MPU dispose du Wi-Fi — parce que le MPU exécute Debian Linux complet avec Wi-Fi, il peut recevoir des commandes Telegram et déclencher des mesures à distance.
- Communication : Bridge.call() côté Linux invoque Bridge.provide_safe() côté MCU (car digitalWrite() et les écritures LCD sont des APIs matérielles)
- ⚠️ Réservé : /dev/ttyHS1 (Linux) et Serial1 (MCU) sont utilisés par le routeur Arduino — ne les ouvrez jamais directement
En résumé : Le MPU demande une mesure → le MCU mesure la distance → le MCU l'affiche sur le LCD et l'imprime dans le Monitor.
Sketch MCU — affichage LCD du capteur à ultrasons avec Bridge :
Script Python (Arduino App Lab) — demander une mesure de distance depuis Linux chaque seconde :
- 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 dans sketch/sketch.ino, installez les bibliothèques DIYables_LCD_I2C et Arduino_RouterBridge, 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 — Python demande une mesure chaque seconde ; le MCU met à jour le LCD et le Monitor.
- Vérifier la console : Ouvrez l'onglet Console → sous-onglet MCU Monitor pour voir les valeurs de distance.
Sortie de la Console App Lab
Intégration Telegram
Lisez la distance et affichez-la sur le LCD à distance via Telegram.
Si vous n'avez pas encore de bot Telegram, consultez Arduino UNO Q - Bot Telegram pour obtenir votre token de bot avant de continuer.
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 l'affichage LCD du capteur à ultrasons :
- Note : Remplacez YOUR_BOT_TOKEN par le token obtenu de @BotFather sur Telegram.
- Envoyez /read pour déclencher une mesure de distance — le résultat apparaît sur le LCD et dans le Monitor.
É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.
- Tester : Envoyez /read — le bot répond avec la distance mesurée, qui apparaît également sur le LCD.
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
- Aide au stationnement avec affichage : Affichez "Sûr", "Ralentir", "Stop" sur le LCD lorsqu'un véhicule approche d'un mur
- Affichage du niveau d'eau : Montez le capteur au-dessus d'un réservoir — affichez le niveau actuel sur le LCD
- Journal de distance de visiteur : Affichez la distance d'approche la plus proche sur un LCD dans une exposition muséale
- Outil de mesure intelligent : Utilisez le capteur + LCD comme mètre de distance portable
- Affichage de proximité d'objet : Affichez la distance d'approche en temps réel pour un projet de robotique
Défiez-Vous
- Facile : Ajoutez une deuxième ligne sur le LCD — affichez "Proche !" quand la distance est < 20 cm, "Loin" sinon
- Moyen : Affichez la distance en centimètres et en pouces sur les deux lignes du LCD
- Avancé : Envoyez la valeur de distance réelle (en cm) directement à l'utilisateur Telegram comme message