Arduino UNO Q - Capteur Tactile

Un capteur tactile fonctionne comme un bouton numérique — il génère HIGH lorsqu'il est touché et LOW lorsqu'il ne l'est pas. Sur l'Arduino UNO Q, vous pouvez surveiller les touchers localement sur le MCU, ou utiliser Bridge pour détecter et agir sur les événements tactiles depuis le côté Linux via Telegram.

Dans ce tutoriel, vous apprendrez :

Capteur Tactile Arduino UNO Q

Matériel Requis

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×Capteur tactile
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Sensors/Servo Expansion Shield for Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À Propos du Capteur Tactile

Brochage

Le capteur tactile a trois broches :

  • GND : Connecter à GND (0V)
  • VCC : Connecter à 3,3V ou 5V
  • SIGNAL : Sortie numérique — génère LOW lorsqu'il n'est pas touché, HIGH lorsqu'il est touché. Connecter à une broche numérique du MCU Arduino UNO Q.
Brochage du Capteur Tactile

Fonctionnement

  • Lorsque le capteur n'est pas touché, la broche SIGNAL est LOW
  • Lorsque le capteur est touché, la broche SIGNAL est HIGH

Le capteur tactile se comporte exactement comme un bouton-poussoir momentané — il peut être lu avec digitalRead() et ne nécessite aucune bibliothèque.

Schéma de Câblage

Schéma de Câblage Arduino UNO Q Capteur Tactile

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Broche Capteur Tactile MCU Arduino UNO Q
GND GND
VCC 3,3V
SIGNAL D7

Comment Programmer pour le Capteur Tactile

  • Configurer la broche MCU de l'Arduino UNO Q comme entrée numérique :
pinMode(SENSOR_PIN, INPUT);
  • Lire l'état du capteur :
int state = digitalRead(SENSOR_PIN);
  • Vérifier et répondre :
if (state == HIGH) Serial.println("Touched"); else Serial.println("Not touched");

Code Arduino UNO Q

L'Arduino UNO Q possède deux processeurs fonctionnant ensemble :

  • Le MCU STM32 lit directement le capteur tactile via une broche numérique — toute la détection s'exécute sur le MCU
  • 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 fonctionnent ensemble via Bridge.

Le MCU lit le capteur tactile toutes les 500ms et imprime l'état sur le Moniteur Série.

/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-touch-sensor */ #define SENSOR_PIN 7 void setup() { Serial.begin(9600); pinMode(SENSOR_PIN, INPUT); Serial.println("Arduino UNO Q Touch Sensor ready"); } void loop() { int state = digitalRead(SENSOR_PIN); if (state == HIGH) Serial.println("Touched"); else Serial.println("Not touched"); delay(500); }

Étapes Rapides

Première utilisation d'Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q avant de continuer.

  • Connecter : Câblez le capteur tactile au MCU de l'Arduino UNO Q comme indiqué dans le schéma de câblage.
  • 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.
Créer une nouvelle application dans Arduino App Lab sur Arduino UNO Q
  • Donnez un nom à l'application, par exemple : TouchSensor
  • Cliquez sur Créer pour confirmer.
Dossiers et fichiers de l'application Arduino App Lab sur Arduino UNO Q
  • Coller le sketch : Copiez le code MCU ci-dessus et collez-le dans sketch/sketch.ino. Laissez les autres fichiers par défaut.
  • Aucune bibliothèque requise — le capteur tactile utilise uniquement la fonction intégrée digitalRead().
  • Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab.
Cliquez sur le bouton Exécuter dans Arduino App Lab sur Arduino UNO Q
  • Posez votre doigt sur le capteur et regardez le Moniteur Série.

Sortie de la Console App Lab

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
New Line
9600 baud
[2026-04-29 09:00:01] Arduino UNO Q Touch Sensor ready [2026-04-29 09:00:02] Not touched [2026-04-29 09:00:02] Not touched [2026-04-29 09:00:03] Touched [2026-04-29 09:00:03] Touched [2026-04-29 09:00:04] Not touched

Bridge : Linux + MCU

Cette section montre comment programmer les deux processeurs de l'Arduino UNO Q pour que le côté Linux puisse détecter les événements tactiles via Bridge :

  • Le capteur tactile est connecté à la broche numérique du MCU — le MCU surveille les changements d'état dans loop() et définit un drapeau d'événement lorsqu'il est touché
  • Le MPU ne peut pas lire directement la broche numérique — il appelle les fonctions Bridge pour interroger l'état actuel ou consommer l'événement tactile
  • Le MPU dispose du Wi-Fi — exécutant Debian Linux complet, il peut réagir aux événements tactiles et envoyer des notifications Telegram
  • 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 détecte les événements tactiles dans loop() → le MPU interroge via Bridge → le MPU déclenche des actions via Wi-Fi.

Code MCU (Bridge)

/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-touch-sensor */ #include "Arduino_RouterBridge.h" #define SENSOR_PIN 7 int last_state = LOW; bool touch_event = false; String get_state(String arg) { return (last_state == HIGH) ? "touched" : "not_touched"; } String get_event(String arg) { if (touch_event) { touch_event = false; return "touched"; } return "none"; } void setup() { Bridge.begin(); Monitor.begin(); pinMode(SENSOR_PIN, INPUT); Bridge.provide("get_state", get_state); Bridge.provide("get_event", get_event); Monitor.println("Arduino UNO Q Touch Sensor Bridge ready"); } void loop() { int state = digitalRead(SENSOR_PIN); if (state != last_state) { last_state = state; if (state == HIGH) { touch_event = true; Monitor.println("Touch detected!"); } else { Monitor.println("Touch released."); } } }

Code Python (Bridge)

/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-touch-sensor */ from arduino.app_utils import * import time def loop(): state = Bridge.call("get_state") print(f"Touch state: {state}") time.sleep(0.5) App.run(user_loop=loop)

Étapes Rapides

  • Connecter : Câblez le capteur tactile à 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 Créer une nouvelle application, nommez-la TouchSensorBridge, puis cliquez sur Créer.
  • 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.
  • Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.
Add sketch library in Arduino App Lab on Arduino UNO Q
  • Search for Arduino_RouterBridge created by Arduino and click the Install button.
My Apps / DIYables Apps
Run
Bricks
No bricks added...
Sketch Libraries
No sketch libra...
Files
python
sketch
.gitignore
README.md
app.yaml
sketch.ino
Add sketch library
Arduino_RouterBridge Arduino

This library provides a simple RPC bridge for Arduino UNO Q boards, allowing communication between the board and other devices using MsgPack serialization.

0.4.1
Install
More Info
  • Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab.
Cliquez sur le bouton Exécuter dans Arduino App Lab sur Arduino UNO Q
  • Touchez le capteur et regardez la console Python signaler le changement d'état.

Sortie de la Console App Lab

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
New Line
9600 baud
[2026-04-29 09:00:01] Arduino UNO Q Touch Sensor Bridge ready [2026-04-29 09:00:03] Touch detected! [2026-04-29 09:00:04] Touch released.
DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:00:02] Touch state: not_touched [2026-04-29 09:00:02] Touch state: not_touched [2026-04-29 09:00:03] Touch state: touched [2026-04-29 09:00:04] Touch state: not_touched

Telegram

Recevez des notifications Telegram instantanées lorsque le capteur tactile est activé.

Sketch MCU : Conservez le même sketch MCU de la section Bridge précédente.

Code Python (Telegram)

/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-touch-sensor */ from arduino.app_utils import * import requests import time TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" CHAT_ID = "YOUR_CHAT_ID" last_update_id = 0 last_notified_state = "not_touched" def get_updates(): global last_update_id url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/getUpdates" params = {"offset": last_update_id + 1, "timeout": 5} try: response = requests.get(url, params=params, timeout=10) data = response.json() if data["ok"]: return data["result"] except Exception as e: print(f"Error getting updates: {e}") return [] def send_message(chat_id, text): url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage" payload = {"chat_id": chat_id, "text": text} try: requests.post(url, data=payload, timeout=10) except Exception as e: print(f"Error sending message: {e}") def loop(): global last_notified_state # Auto-notify on touch event event = Bridge.call("get_event") if event == "touched" and last_notified_state != "touched": last_notified_state = "touched" msg = "👆 Touch sensor touched!" print(msg) send_message(CHAT_ID, msg) elif event == "none": state = Bridge.call("get_state") if state == "not_touched": last_notified_state = "not_touched" # Handle Telegram commands updates = get_updates() for update in updates: last_update_id = update["update_id"] if "message" not in update: continue message = update["message"] chat_id = message["chat"]["id"] text = message.get("text", "").strip() print(f"Received: {text}") if text == "/start": send_message(chat_id, "Arduino UNO Q Touch Sensor Bot\n" "/state - Read current touch sensor state\n" "/event - Check if a touch event occurred") elif text == "/state": result = Bridge.call("get_state") send_message(chat_id, f"Touch state: {result}") elif text == "/event": result = Bridge.call("get_event") send_message(chat_id, f"Touch event: {result}") else: send_message(chat_id, "Unknown command. Send /start for help.") time.sleep(0.5) App.run(user_loop=loop)

Étapes Rapides

  • Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre vrai token de bot de 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 Exécuter. Touchez le capteur et vérifiez Telegram pour la notification.

Sortie de la Console App Lab

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:10:00] Waiting for Telegram messages... [2026-04-29 09:10:05] 👆 Touch sensor touched! [2026-04-29 09:10:22] Received: /state
Telegram
Telegram 12:45
Welcome to Telegram!
ArduinoBot 10:19
Chatting with Arduino...
telegram-botfather
BotFather Yesterday
Your bot has been created.

ArduinoBot

bot
Today
/state
10:15 AM ✓✓
Touch state: not_touched
10:16 AM
/event
10:17 AM ✓✓
Touch event: none
10:18 AM
👆 Touch sensor touched!
10:19 AM

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 utiles avec le capteur tactile et l'Arduino UNO Q :

  • Lampe Intelligente Tactile : Touchez le capteur pour basculer une LED ou un relais via Bridge — le MPU gère la logique de basculement et enregistre chaque événement tactile avec un horodatage
  • Carillon de Porte : Placez le capteur tactile près d'un cadre de porte — lorsqu'il est touché, le MPU joue un fichier audio ou envoie une notification Telegram pour vous alerter de la présence d'un visiteur
  • Compteur de Coups Secret : Comptez les touchers consécutifs dans les 3 secondes via la logique côté Python — si le compte correspond à un schéma prédéfini, Bridge déclenche un relais de déverrouillage
  • Affichage Activé par Présence : Touchez le capteur pour réveiller un écran OLED — le MCU allume l'écran via Bridge au premier toucher et l'éteint après 10 secondes d'inactivité
  • Confirmation de Sécurité de Laboratoire : Exigez une confirmation tactile avant qu'une commande Bridge active un relais haute puissance — le côté Python vérifie get_event() avant d'envoyer le signal de contrôle

Défiez-Vous

Prêt à aller plus loin avec le capteur tactile sur l'Arduino UNO Q ? Essayez ces défis :

  • Facile : Comptez le nombre de touchers depuis le démarrage et exposez le compteur via une fonction Bridge get_count(String) — le côté Python imprime le compteur chaque fois qu'il augmente.
  • Moyen : Implémentez un détecteur de double-tap : le MCU enregistre les horodatages des touchers et définit un drapeau double_tap lorsque deux touchers se produisent dans les 500ms — le côté Python récupère cela via get_event() et envoie une alerte Telegram.
  • Avancé : Construisez une entrée Morse tactile : le MCU distingue les touchers courts (point) et les touchers longs (>500ms, tiret) — le côté Python décode la séquence et envoie la lettre décodée à Telegram.

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !