Arduino UNO Q - Capteur Ultrasonique avec Écran OLED
Dans ce guide, vous apprendrez à mesurer la distance à l'aide d'un capteur ultrasonique et à l'afficher centré sur un écran OLED avec Arduino UNO Q.

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Note d'achat: Si vous souhaitez un écran OLED plus grand, utilisez le Arduino UNO Q - Écran OLED SSD1309 (2,42 pouces).
À Propos de l'Écran OLED et du Capteur Ultrasonique
Apprenez-en plus sur l'écran OLED et les capteurs ultrasoniques 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 dispose 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:
Le code centre le texte de distance horizontalement et verticalement sur l'écran OLED.
Étapes Rapides
- Première utilisation de l'Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q pour préparer votre environnement de développement avant de continuer.
- Câblez les composants : Connectez TRIG → broche 4, ECHO → broche 3. Connectez OLED SDA → SDA, SCL → SCL.
- Connectez : Branchez l'Arduino UNO Q à votre ordinateur avec un câble USB-C.
- Ouvrez Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q.
- Créez une nouvelle application : Cliquez sur le bouton Créer une nouvelle application.

- Donnez un nom à l'application, par exemple : DIYables_UltrasonicOLED
- 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 là que vous collerez le code MCU.
- 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 Arduino_RouterBridge created by Arduino and click the Install button.
- Téléversez : Cliquez sur le bouton Exécuter dans Arduino App Lab pour compiler et téléverser vers le STM32.

- Testez : Agitez la main devant le capteur — la distance doit se mettre à jour sur l'OLED toutes les 500 ms.
※ Note:
Ce code est à des fins pédagogiques. Pour la production, appliquez le filtre anti-bruit du tutoriel Capteur Ultrasonique.
Programmation Bridge Linux + MCU
L'Arduino UNO Q dispose 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 ultrasonique et l'OLED sont tous les deux connectés au MCU (STM32) — capteur sur les broches 5/9, OLED via I2C.
- Le MPU ne peut pas les contrôler directement — il appelle Bridge.call("read_distance") sur le MCU, qui mesure la distance, l'affiche sur l'OLED et l'imprime sur le Monitor.
- Le MPU dispose du Wi-Fi — car le MPU exécute Debian Linux complet avec Wi-Fi, il peut recevoir des commandes Telegram et déclencher des lectures à distance.
- Communication : Bridge.call() du côté Linux invoque Bridge.provide_safe() du côté MCU (car digitalWrite() et les écritures OLED sont des API matérielles)
- ⚠️ Réservé : /dev/ttyHS1 (Linux) et Serial1 (MCU) sont utilisés par l'Arduino Router — ne les ouvrez jamais directement
En résumé : Le MPU demande une lecture → le MCU mesure la distance → le MCU affiche sur l'OLED et imprime sur le Monitor.
Code MCU — affichage OLED capteur ultrasonique avec Bridge :
Script Python (Arduino App Lab) — demander une lecture de distance depuis Linux toutes les secondes :
- Remarque : 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 du côté Linux.
- ⚠️ Avertissement : N'ouvrez jamais directement /dev/ttyHS1 (sous Linux) ni n'utilisez Serial1 (sur MCU) dans votre code — ils sont réservés par l'Arduino Router et y accéder brisera le Bridge.
Étapes Rapides
- Téléversez 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 Adafruit SSD1306 et Arduino_RouterBridge, et cliquez sur Exécuter.
- Ajoutez le script Python : Collez le code Python ci-dessus dans l'onglet Python de la même application.
- Exécutez l'application : Cliquez sur Exécuter — Python demande une lecture toutes les secondes ; le MCU met à jour l'OLED et le Monitor.
- Vérifiez la console : Ouvrez l'onglet Console → sous-onglet MCU Monitor pour voir les valeurs de distance.
Sortie Console App Lab
Intégration Telegram
Lisez la distance et affichez-la sur l'OLED à 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 ultrasonique OLED :
- Remarque : Remplacez YOUR_BOT_TOKEN par le token obtenu auprès de @BotFather sur Telegram.
- Envoyez /read pour déclencher une mesure de distance — le résultat apparaît sur l'OLED et dans le Monitor.
Étapes Rapides
- Téléversez le sketch MCU : Utilisez le sketch MCU Bridge de la section précédente (téléversez-le d'abord si ce n'est pas déjà fait).
- Collez le script Telegram : Copiez le code Python ci-dessus dans l'onglet Python de votre application dans Arduino App Lab.
- Configurez votre token : Remplacez YOUR_BOT_TOKEN dans le script par votre vrai token de bot.
- Exécutez l'application : Cliquez sur Exécuter — le bot commence à écouter les messages Telegram.
- Testez : Envoyez /read — le bot répond avec la distance mesurée, qui apparaît également sur l'OLED.
Sortie 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
- Télémètre portable : Utiliser le capteur + OLED comme outil de mesure de distance portatif
- Assistant de stationnement : Afficher un graphique en barres de l'espace restant lorsqu'un véhicule recule vers un mur
- Jauge de niveau de réservoir d'eau : Afficher le niveau d'eau actuel sur l'OLED en temps réel
- Jauge de proximité robot : Afficher la distance actuelle d'un obstacle sur un écran OLED embarqué
- Station de mesure : Monter sur un mur pour afficher les dimensions d'une pièce en direct lors de projets de rénovation
Relevez le Défi
- Facile : Afficher « PROCHE ! » sur l'OLED en grands caractères lorsque la distance est inférieure à 20 cm
- Moyen : Dessiner un graphique en barres sur l'OLED qui se remplit à mesure que l'objet se rapproche
- Avancé : Envoyer la valeur réelle de la distance (en cm) directement à l'utilisateur Telegram sous forme de message