Arduino UNO Q - Capteur de Son

Un capteur de son détecte les sons dans l'environnement et produit un signal numérique. Il comprend un potentiomètre intégré pour ajuster la sensibilité. Utilisez-le pour déclencher des actions lorsqu'un clap, un coup ou un bruit fort est détecté. Avec Bridge et Telegram, votre Arduino UNO Q peut vous envoyer des alertes instantanées lorsqu'il entend un son.

Dans ce tutoriel, vous apprendrez :

Arduino UNO Q Capteur de Son

Matériel Requis

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×Capteur de son
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 de Son

Un module capteur de son possède un petit microphone qui détecte les vibrations dans l'air (ondes sonores). Le module convertit celles-ci en signal numérique :

  • HIGH : Silencieux — aucun son détecté au-dessus du seuil
  • LOW : Son détecté

Le module comprend :

  • Broche VCC : Alimentation 3,3V à 5V
  • Broche GND : Masse
  • Broche OUT : Sortie numérique — HIGH = silencieux, LOW = son détecté
  • Potentiomètre intégré : Ajuste la sensibilité de détection
  • LED d'alimentation : Indicateur d'alimentation
  • LED sonore : S'allume lorsqu'un son est détecté
Brochage du Capteur de Son

Comment Ajuster la Sensibilité

Tournez le potentiomètre sur le module :

  • Dans le sens horaire : Plus sensible (détecte les sons plus faibles)
  • Dans le sens antihoraire : Moins sensible (seuls les sons forts le déclenchent)

Ajustez-le jusqu'à ce que la LED sonore se déclenche de manière fiable sur un clap ou un coup mais reste éteinte dans le bruit ambiant.

Schéma de Câblage

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

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

Broche Capteur Son MCU Arduino UNO Q
GND GND
VCC 5V
OUT D8

Comment Programmer pour le Capteur de Son

  • Configurer la broche du capteur en entrée numérique :
pinMode(SENSOR_PIN, INPUT);
  • Lire la sortie numérique :
int sound_state = digitalRead(SENSOR_PIN);
  • Détecter les événements sonores en comparant à l'état précédent :
if (prev_state == HIGH && sound_state == LOW) Serial.println("Sound DETECTED"); else if (prev_state == LOW && sound_state == HIGH) Serial.println("Quiet again"); prev_state = sound_state;

Code Arduino UNO Q

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

  • Le MCU STM32 lit la sortie numérique du capteur de son et détecte les événements sonores
  • Le MPU Qualcomm exécute Debian Linux avec Wi-Fi — dans cette section, seul le MCU est programmé. Une section ultérieure montre comment les deux processeurs fonctionnent ensemble via 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-sound-sensor */ // Sound sensor DO pin: HIGH = quiet, LOW = sound detected // Sensitivity is adjusted by the onboard potentiometer #define SENSOR_PIN 8 // The Arduino UNO Q MCU pin connected to OUT of the sound sensor int prev_sound_state = HIGH; int sound_state; void setup() { Serial.begin(9600); pinMode(SENSOR_PIN, INPUT); Serial.println("Arduino UNO Q Sound Sensor ready"); } void loop() { sound_state = digitalRead(SENSOR_PIN); if (prev_sound_state == HIGH && sound_state == LOW) Serial.println("Sound DETECTED"); else if (prev_sound_state == LOW && sound_state == HIGH) Serial.println("Sound gone — quiet again"); prev_sound_state = sound_state; }

É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 de son sur le 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 : SoundSensor
  • 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.
  • 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
  • Clappez près du capteur ou tapez sur la table — observez la sortie du Moniteur Série.
  • Ajustez le potentiomètre sur le module si la détection n'est pas fiable.

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 Sound Sensor ready [2026-04-29 09:00:05] Sound DETECTED [2026-04-29 09:00:05] Sound gone — quiet again [2026-04-29 09:00:08] Sound DETECTED [2026-04-29 09:00:08] Sound gone — quiet again

Bridge : Linux + MCU

Cette section montre comment programmer les deux processeurs de l'Arduino UNO Q pour que le côté Linux puisse lire l'état du son et recevoir les événements sonores via Bridge :

  • Le capteur de son est connecté au MCU — le MCU surveille en continu la sortie numérique et met en cache l'état actuel
  • Le MPU ne peut pas lire directement la broche du capteur — il appelle des fonctions Bridge pour obtenir l'état actuel ou vérifier les nouveaux événements sonores
  • Le MPU dispose du Wi-Fi — exécutant Debian Linux complet, il peut envoyer des alertes Telegram dès qu'un son est détecté
  • 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 bref : Le MCU détecte le son via la broche DO → définit le drapeau d'événement → Le MPU interroge Bridge → Le MPU envoie une alerte Telegram.

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-sound-sensor */ #include "Arduino_RouterBridge.h" #define SENSOR_PIN 8 // The Arduino UNO Q MCU pin connected to OUT of the sound sensor bool cached_sound = false; // true = sound present bool sound_event = false; // true = new sound detected (rising edge) int prev_state = HIGH; String get_state(String arg) { return cached_sound ? "sound" : "quiet"; } String get_event(String arg) { if (sound_event) { sound_event = false; return "sound_detected"; } 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 Sound Sensor Bridge ready"); } void loop() { int current = digitalRead(SENSOR_PIN); if (prev_state == HIGH && current == LOW) { // Quiet → Sound cached_sound = true; sound_event = true; Monitor.println("Sound detected!"); } else if (prev_state == LOW && current == HIGH) { // Sound → Quiet cached_sound = false; Monitor.println("Quiet again."); } prev_state = current; }

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-sound-sensor */ from arduino.app_utils import * import time def loop(): state = Bridge.call("get_state") print(f"Sound state: {state}") time.sleep(0.5) App.run(user_loop=loop)

Étapes Rapides

  • Connecter : Câblez le capteur de son sur l'Arduino UNO Q comme indiqué dans le schéma de câblage.
  • Ouvrir Arduino App Lab et créer une nouvelle application nommée SoundSensorBridge.
  • Coller le sketch MCU dans sketch/sketch.ino.
  • Coller le code Python dans le fichier Python.
  • 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.
Cliquez sur le bouton Exécuter dans Arduino App Lab sur Arduino UNO Q
  • Clappez près du capteur — observez l'événement apparaître dans les deux consoles.

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 Sound Sensor Bridge ready [2026-04-29 09:00:05] Sound detected! [2026-04-29 09:00:05] Quiet again.
DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:00:02] Sound state: quiet [2026-04-29 09:00:03] Sound state: quiet [2026-04-29 09:00:05] Sound state: sound [2026-04-29 09:00:06] Sound state: quiet

Telegram

Recevez des alertes Telegram instantanées lorsqu'un son est détecté par le capteur de son de l'Arduino UNO Q.

Sketch MCU : Gardez 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-sound-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 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(): # Auto-alert on new sound detection event = Bridge.call("get_event") if event == "sound_detected": print("Sound detected! Sending Telegram alert.") send_message(CHAT_ID, "🔊 Sound detected by Arduino UNO Q!") # 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 Sound Sensor Bot\n" "/state - Current sound state (sound / quiet)\n" "Automatic alert when sound is detected") elif text == "/state": result = Bridge.call("get_state") send_message(chat_id, f"Sound state: {result}") else: send_message(chat_id, "Unknown command. Send /start for help.") time.sleep(0.3) App.run(user_loop=loop)

Étapes Rapides

  • Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre token de bot réel obtenu auprès de BotFather.
  • Remplacez YOUR_CHAT_ID par votre identifiant de chat Telegram.
  • Collez ce code Python dans le fichier Python de votre application (gardez le même sketch MCU).
  • Cliquez sur le bouton Exécuter — clappez près du capteur pour déclencher une alerte Telegram.

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] Sound detected! Sending Telegram alert. [2026-04-29 09:10:10] 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
🔊 Sound detected by Arduino UNO Q!
10:15 AM
/state
10:16 AM ✓✓
Sound state: quiet
10:17 AM
/state
10:18 AM ✓✓
Sound state: sound
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 créer de nombreux projets utiles avec le capteur de son et l'Arduino UNO Q :

  • Interrupteur à clap : Détecter deux claps rapides et basculer un relais via Bridge pour allumer ou éteindre une lumière ou un ventilateur — Python compte les événements de clap dans une fenêtre de 500 ms et envoie la commande de basculement
  • Moniteur de bébé : Monter le capteur dans une chambre — lorsqu'il détecte un son continu (pleurs), le MPU envoie une alerte Telegram pour que vous le sachiez immédiatement depuis n'importe où dans la maison
  • Alerte d'intrusion : Combiner le capteur de son avec le capteur de porte — alertes Telegram pour l'ouverture de porte et les bruits forts inattendus, avec horodatage et durée enregistrés dans un fichier sous Linux
  • Enregistreur de niveau sonore : Interroger l'état du son chaque seconde et enregistrer la fréquence de détection dans un CSV — envoyer un rapport Telegram quotidien montrant les heures de pointe de bruit pour la surveillance du bruit
  • Sonnette intelligente : Détecter un coup sur la porte via le capteur de son — le MPU envoie un message Telegram avec une photo (si une caméra est connectée) pour que vous puissiez voir qui est à la porte à distance

Défiez-vous

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

  • Facile : Ajoutez un compteur de sons au code Python — comptez combien de fois un son est détecté par minute et affichez le total toutes les 60 secondes dans la console.
  • Moyen : Implémentez la reconnaissance de motif de clap en Python : détectez un double-clap (deux sons en moins de 600 ms) versus un clap simple — envoyez des messages Telegram différents pour chaque motif.
  • Avancé : Créez un suivi de durée de son : enregistrez l'heure de début et de fin de chaque événement sonore côté MCU en utilisant millis() — exposez la dernière durée via une fonction Bridge get_duration() et incluez-la dans chaque alerte 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 !