Arduino UNO Q - Le Potentiomètre Contrôle un Servomoteur
Ce tutoriel montre comment contrôler l'angle d'un servomoteur avec un potentiomètre sur Arduino UNO Q. En tournant le bouton du potentiomètre, le servomoteur tourne proportionnellement de 0° à 180°.
※ Note:
Différence ADC de l'Arduino UNO Q : Le MCU STM32 de l'Arduino UNO Q dispose d'un ADC 12 bits (valeurs 0–4095), et non 10 bits (0–1023). Mappez les valeurs ADC de 0–4095 vers l'angle du servo 0–180 degrés.

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Note d'achat: Si vous utilisez plusieurs servomoteurs, nous recommandons d'utiliser le PCA9685 16 Channel PWM Servo Driver Module pour économiser les broches du MCU et faciliter le câblage.
À Propos du Potentiomètre et du Servomoteur
Si vous êtes nouveau avec le potentiomètre ou le servomoteur, consultez d'abord ces tutoriels :
Schéma de Câblage
- Si vous utilisez le potentiomètre de base :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Si vous utilisez le module potentiomètre :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Comment Programmer
- Lire la valeur ADC depuis le potentiomètre (12 bits sur Arduino UNO Q, 0–4095) :
- Mapper la valeur ADC vers l'angle du servo (0–180 degrés) :
- Déplacer le servo à l'angle calculé :
Code MCU — Le Potentiomètre Contrôle un Servomoteur
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.
Étapes Rapides
- Première fois avec 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 la sortie du potentiomètre à A0, GND à GND, VCC à 3,3V. Connectez le signal du servo à la broche 9 selon le schéma de câblage.
- 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 Create New App.

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

- Trouvez le fichier sketch/sketch.ino — c'est là 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 Arduino_RouterBridge created by Arduino and click the Install button.
- Téléverser : Cliquez sur le bouton Run dans Arduino App Lab pour compiler et téléverser vers le STM32.

- Tourner le bouton du potentiomètre — le servo devrait suivre la position du bouton progressivement de 0° à 180°.
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 en utilisant RPC via la bibliothèque Arduino_RouterBridge — jamais via des ports série bruts.
- Le potentiomètre et le servo sont connectés au MCU (STM32) — la sortie du potentiomètre est câblée à A0 et le signal du servo à la broche 9. Le MCU lit continuellement les valeurs ADC et met à jour l'angle du servo dans loop().
- Le MPU ne peut pas lire le potentiomètre ou contrôler le servo directement — il doit demander l'angle actuel du servo au MCU via Bridge.call().
- Le MPU dispose du Wi-Fi — parce que le MPU exécute Debian Linux complet avec Wi-Fi, il peut signaler l'angle du servo via Telegram à la demande.
- 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 l'Arduino Router — ne les ouvrez jamais directement
En résumé : Le MPU demande l'angle du servo → le MCU lit l'ADC et convertit → le MCU rapporte l'ADC et l'angle → le MPU enregistre ou transmet.
Sketch MCU — potentiomètre-servo avec Bridge et sortie Monitor :
Script Python (Arduino App Lab) — interroger l'angle du servo depuis Linux :
- 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 côté Linux.
- ⚠️ Avertissement : N'ouvrez jamais directement /dev/ttyHS1 (sur Linux) ou n'utilisez pas Serial1 (sur MCU) dans votre code — ils sont réservés par l'Arduino Router 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 Servo et Arduino_RouterBridge, et cliquez sur Run.
- 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 Run — le côté Python interroge l'angle du servo chaque seconde.
- Tourner le bouton du potentiomètre et observez le servo suivre la position du bouton.
- Vérifier la console : Ouvrez l'onglet Console → le sous-onglet MCU Monitor pour voir les valeurs ADC et angle enregistrées.
Sortie Console d'App Lab
Intégration Telegram
Vérifiez l'angle actuel du servo à distance depuis n'importe où 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'est 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'angle du servo :
- Remarque : Remplacez YOUR_BOT_TOKEN par le token obtenu depuis @BotFather sur Telegram.
- Envoyez /angle pour vérifier l'angle actuel du servo selon la position du potentiomètre.
É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 Run — le bot commence à écouter les messages Telegram.
- Tester : Tournez le potentiomètre, envoyez /angle — le bot répond avec la valeur ADC et l'angle du servo.
Sortie Console d'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
- Contrôle de panoramique caméra : Utilisez un potentiomètre comme joystick de panoramique physique pour une caméra montée sur servo — vérifiez la position via Telegram
- Articulation de bras robotique : Contrôlez manuellement l'angle d'une articulation de bras robotique avec un potentiomètre
- Positionneur d'antenne à distance : Utilisez un potentiomètre pour orienter une antenne en contrôlant un servo — vérifiez l'angle via Telegram
- Contrôleur de débit de vanne : Mappez le potentiomètre vers une vanne commandée par servo — vérifiez le pourcentage d'ouverture de la vanne à distance
- Cadran interactif : Créez une interface physique où un cadran contrôle un indicateur visuel via un servo
Défiez-Vous
- Facile : Ajoutez deux potentiomètres (A0 et A1) contrôlant chacun un servo séparé sur deux broches différentes
- Moyen : Exposez la valeur ADC et l'angle comme callbacks Bridge séparés : get_adc() et get_angle()
- Avancé : Créez un bot Telegram qui vous notifie automatiquement lorsque le servo se déplace de plus de 15° par rapport au dernier angle enregistré — utilisez une boucle de surveillance en Python