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: La plupart des écrans LCD I2C du marché sont des modèles 5V. Ils peuvent fonctionner avec cette carte, mais ce n'est pas sûr et cela risque d'endommager la carte. Nous recommandons vivement d'utiliser l'écran LCD I2C 3.3V recommandé ci-dessus.
À 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