Arduino UNO Q - Clavier 1x4
Vous souhaitez ajouter un simple clavier à 4 boutons à votre projet Arduino UNO Q ? Dans ce tutoriel, vous apprendrez à détecter les pressions de touches avec anti-rebond — et même à envoyer des alertes Telegram lorsqu'une touche est pressée.
Dans ce tutoriel, vous apprendrez :
- Ce qu'est un clavier 1x4 et comment il fonctionne
- Comment câbler le clavier 1x4 à Arduino UNO Q
- Comment programmer le MCU (code Arduino C/C++) pour détecter les pressions de touches avec anti-rebond
- Comment programmer le côté Linux (Python) et le côté MCU (C/C++) pour lire le clavier via Bridge
- Comment envoyer des notifications Telegram lorsqu'une touche est pressée sur Arduino UNO Q
- Comment utiliser OpenClaw sur Arduino UNO Q avec le clavier 1x4

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du Clavier 1x4
Un clavier 1x4 possède quatre boutons disposés en une seule rangée. Il est utilisé pour saisir des codes, naviguer dans des menus ou déclencher des actions dans différents projets.
Brochage
Le clavier 1x4 possède 5 broches. L'ordre des broches ne correspond pas à l'ordre des touches sur l'étiquette :
- Broche 1 → Touche 2
- Broche 2 → Touche 1
- Broche 3 → Touche 4
- Broche 4 → Touche 3
- Broche 5 → Commun (GND)

Schéma de Câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche du Clavier | MCU Arduino UNO Q |
|---|---|
| Broche 1 (Touche 2) | D2 |
| Broche 2 (Touche 1) | D3 |
| Broche 3 (Touche 4) | D4 |
| Broche 4 (Touche 3) | D5 |
| Broche 5 (Commun) | GND |
Code Arduino UNO Q
L'Arduino UNO Q dispose de deux processeurs travaillant ensemble :
- Le MCU STM32 lit les broches du clavier directement avec anti-rebond via la bibliothèque ezButton
- Le MPU Qualcomm exécute Debian Linux et gère le Wi-Fi, Python et la connectivité cloud
- Dans cette section, seul le MCU est programmé — le côté Linux reste inactif. Une section ultérieure montre comment les deux processeurs travaillent ensemble via Bridge.
Chaque touche du clavier 1x4 fonctionne comme un bouton connecté entre une broche et GND. La bibliothèque ezButton gère automatiquement l'anti-rebond pour les quatre touches.
É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.
- Connecter : Câblez le clavier 1x4 au MCU Arduino UNO Q comme indiqué dans le schéma de câblage ci-dessus.
- Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q — cela peut prendre plusieurs minutes au premier lancement.
- Créer une nouvelle application : Cliquez sur le bouton Create New App.

- Donnez un nom à l'application, par exemple : Keypad1x4
- Cliquez sur Create pour confirmer.

- 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 ezButton created by ArduinoGetStarted.com 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.

- Ouvrir le Moniteur Série et appuyez sur chaque touche du clavier. Vous verrez le numéro de la touche s'afficher.
Bridge : Linux + MCU
Cette section montre comment programmer les deux processeurs de l'Arduino UNO Q afin que le côté Linux puisse lire les pressions du clavier à distance :
- Le clavier 1x4 est connecté au MCU (STM32) — le MCU interroge chaque touche avec anti-rebond dans loop()
- Le MPU ne peut pas lire les broches du clavier directement — il doit demander la dernière touche pressée au MCU via Bridge.call()
- Le MPU dispose du Wi-Fi — exécutant Debian Linux complet, il peut réagir aux pressions de touches et envoyer des alertes sur Internet
- Arduino_RouterBridge permet la communication RPC entre les deux processeurs
- ⚠️ /dev/ttyHS1 (Linux) et Serial1 (MCU) sont RÉSERVÉS par le routeur — ne les ouvrez jamais dans le code utilisateur
En résumé : Le MCU interroge le clavier → le MPU lit la dernière touche via Bridge → le MPU peut réagir aux pressions de touches depuis n'importe où sur Internet.
Remarque : Dans le sketch Bridge, la boucle de scrutation ezButton est placée dans la fonction Arduino loop() pour maintenir l'état du bouton à jour — cela est nécessaire et n'interfère pas avec la communication Bridge.
Code MCU (Bridge)
Code Python (Bridge)
Étapes Rapides
- Connecter : Câblez le clavier 1x4 à l'Arduino UNO Q comme indiqué dans le schéma de câblage.
- Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez que la carte soit détectée.
- Créer une nouvelle application : Cliquez sur Create New App, nommez-la Keypad1x4Bridge, puis cliquez sur Create.
- Coller le sketch MCU : Copiez le code MCU Bridge ci-dessus et collez-le dans sketch/sketch.ino.
- Coller le code Python : Copiez le code Python Bridge ci-dessus et collez-le dans le fichier Python de l'application.
- Téléverser : Cliquez sur le bouton Run dans Arduino App Lab.

- Appuyez sur les touches du clavier et observez la console Python.
Sortie de la Console App Lab
Telegram
Recevez des notifications Telegram lorsqu'une touche est pressée sur le clavier 1x4 — utile pour les sonnettes à distance, les codes d'accès ou les déclencheurs d'événements.
Sketch MCU : Conservez le même sketch MCU de la section Bridge précédente.
Code Python (Telegram)
Étapes Rapides
- Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre vrai token de bot obtenu depuis BotFather.
- Remplacez YOUR_CHAT_ID par votre identifiant de chat Telegram.
- Collez ce code Python dans le fichier Python de votre application (conservez le même sketch MCU).
- Cliquez sur le bouton Run. Appuyez sur les touches du clavier — votre chat Telegram recevra des alertes automatiquement.
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 de Projets
Vous pouvez réaliser de nombreux projets créatifs en utilisant le clavier 1x4 avec Arduino UNO Q :
- Saisie de code d'accès à distance : L'utilisateur appuie sur une combinaison de 4 touches sur le clavier ; le MPU reçoit la séquence via Bridge et la valide, puis envoie une alerte Telegram en cas de succès ou d'échec
- Système de navigation dans les menus : Utilisez les touches 1 à 4 pour naviguer dans un menu sur le Moniteur Série ou un écran LCD — le MPU suit la sélection et agit en conséquence
- Système de buzzer d'événement : Chaque touche du clavier déclenche une action différente (par exemple, activer un relais, sonner un buzzer ou envoyer une notification Telegram)
- Manette de jeu simple : Utilisez le clavier 1x4 comme entrée directionnelle (gauche/droite/haut/bas) dans un jeu textuel simple s'exécutant sur le MPU Linux
- Sonnette Telegram : Appuyez sur la touche 1 du clavier pour sonner une "sonnette" Telegram — le MPU envoie une notification au téléphone du propriétaire automatiquement
Défiez-vous
Prêt à aller plus loin avec le clavier 1x4 sur Arduino UNO Q ? Essayez ces défis :
- Facile : Modifiez le sketch MCU pour allumer une LED connectée à D6 chaque fois qu'une touche est pressée.
- Moyen : Implémentez un système de code PIN à 4 chiffres sur le MCU — appuyer sur les touches 1-2-3-4 dans l'ordre déverrouille un relais, tandis que toute mauvaise séquence réinitialise la saisie.
- Avancé : Construisez un clavier à distance via Telegram : utilisez /key pour interroger la dernière touche pressée, puis créez une machine à états en Python qui interprète les séquences de touches comme des commandes (par exemple, 1-1-2 = "lumières allumées", 2-1-1 = "lumières éteintes").