Arduino UNO Q - Commutateur DIP
Les commutateurs DIP (Dual In-line Package) sont des commutateurs de configuration compacts utilisés pour définir des adresses, activer des fonctionnalités ou sélectionner des modes. Dans ce tutoriel, vous apprendrez à câbler un commutateur DIP 4 positions sur Arduino UNO Q, lire l'état ON/OFF de chaque position, encoder les positions en un nombre, et vérifier les valeurs à distance via Telegram.

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Commutateur DIP
Un commutateur DIP est une unité de commutateurs coulissants multi-positions. Chaque position individuelle est un commutateur ON/OFF indépendant. Les variantes courantes ont 2, 4, 5, 6, 8 ou 10 positions.
Brochage
Un commutateur DIP a deux rangées de broches — une rangée par côté de chaque position. Chaque paire de broches opposées forme un commutateur coulissant. Peu importe quel côté se connecte à GND.

Fonctionnement
Connectez un côté de chaque position à GND et l'autre côté à une broche numérique Arduino UNO Q configurée en INPUT_PULLUP. Le tableau ci-dessous montre la logique :
| Position commutateur DIP | État du circuit | État de la broche Arduino UNO Q | Valeur binaire |
|---|---|---|---|
| ON | FERMÉ | LOW | 1 |
| OFF | OUVERT | HIGH | 0 |
Ce tutoriel utilise un commutateur DIP 4 positions sur les broches 2, 3, 4, 5. La même approche fonctionne pour des commutateurs à 2, 5, 6, 8 ou 10 positions — ajustez simplement le nombre de broches.
Schéma de Câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code MCU — Commutateur DIP
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.
Deux exemples de code sont fournis :
- Lecture de chaque position comme ON/OFF
- Encodage de toutes les positions en un seul entier
Code MCU — Lecture de chaque position DIP comme ON/OFF
É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 le commutateur DIP : Connectez un côté de chaque position à GND et l'autre côté aux broches 2–5 de l'Arduino UNO Q.
- Connecter : Branchez l'Arduino UNO Q sur 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_DIPSwitch
- Cliquez sur Créer 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 programme 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 Exécuter dans Arduino App Lab pour compiler et téléverser vers le STM32.

- Retournez les positions DIP une à la fois. L'état est lu toutes les 500 ms et enregistré via le Moniteur Bridge dans la section suivante.
- Conseil Pro : Vous pouvez étendre POSITION_NUM et SWITCH_PINS[] pour prendre en charge des commutateurs DIP à 6, 8 ou 10 positions.
Code MCU — Encodage des positions DIP en un nombre
Étapes Rapides
- Utilisez la même application et le même câblage de l'exemple précédent.
- Remplacez le programme par le code d'encodage ci-dessus et cliquez sur Exécuter.
- Retournez les positions DIP à différentes combinaisons et observez la valeur encodée changer dans le Moniteur Bridge.
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 programme Arduino). Ils communiquent via RPC grâce à la bibliothèque Arduino_RouterBridge — jamais via des ports série bruts.
- Le commutateur DIP est connecté au MCU (STM32) — câblé aux broches d'entrée numérique du STM32. Le MCU lit chaque position avec digitalRead() et INPUT_PULLUP.
- Le MPU ne peut pas lire le commutateur DIP directement — il doit demander l'état au MCU via Bridge.call(). Le MCU répond immédiatement.
- Le MPU a le Wi-Fi — car le MPU exécute Debian Linux complet avec Wi-Fi, il peut rapporter l'état DIP via Telegram à la demande.
En résumé : Le MPU demande l'état DIP → le MCU lit les broches → le MCU rapporte les positions et la valeur encodée → le MPU enregistre ou transfère.
Programme MCU — commutateur DIP avec Bridge et sortie Moniteur :
Script Python (Arduino App Lab) — interrogation de l'état DIP depuis Linux :
Étapes Rapides
- Téléverser le programme MCU : Ouvrez Arduino App Lab, créez une nouvelle application, collez le programme MCU Bridge dans sketch/sketch.ino, installez la bibliothèque 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 — le côté Python interroge le commutateur DIP toutes les 2 secondes.
- Retournez les positions DIP à différentes combinaisons.
- Vérifier la console : Ouvrez l'onglet Console → sous-onglet Moniteur MCU pour voir les positions et la valeur encodée enregistrées en temps réel.
Sortie de la Console App Lab
Intégration Telegram
Lisez l'état du commutateur DIP à distance via Telegram.
Programme MCU : Conservez le même programme MCU de la section Bridge précédente.
Sortie de la Console App Lab
ArduinoBot
OpenClaw
You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino UNO Q - OpenClaw Tutorial