Arduino UNO Q - Buzzer Piézoélectrique
Un buzzer produit des sons — des simples bips aux mélodies complètes. Dans ce tutoriel, vous apprendrez à connecter un buzzer piézoélectrique à Arduino UNO Q, à jouer des tonalités et des mélodies avec la fonction tone(), et à déclencher des sons à distance via Telegram.

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Buzzer Piézoélectrique
Buzzer Actif vs Buzzer Passif
- Buzzer Actif : Émet un son continu lorsqu'une tension est appliquée — le plus simple à utiliser
- Buzzer Passif : Nécessite un signal de fréquence variable (onde carrée) — peut produire différentes tonalités et mélodies
Brochage
Un buzzer a deux broches :
- Broche positive (+) : Connectez à la broche de sortie de l'Arduino UNO Q
- Broche négative (−) : Connectez à GND

Comment Programmer
La fonction intégrée tone() d'Arduino génère une onde carrée sur n'importe quelle broche numérique, pilotant à la fois les buzzers actifs et passifs :
- tone(pin, frequency, duration) — joue une note à une fréquence donnée pendant une durée donnée
- noTone(pin) — arrête la tonalité
Schéma de Câblage
- Câblage avec un buzzer piézoélectrique autonome :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Câblage avec un module de buzzer piézoélectrique :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code MCU — Jouer une Mélodie
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 le buzzer : Connectez la broche positive à la broche 6 et la broche négative à GND.
- 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_Buzzer
- 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.

- Écouter : Le buzzer joue la mélodie une fois au démarrage de la carte.
Modifier la Mélodie — Jingle Bells
Pour jouer une chanson différente, mettez à jour les tableaux melody[] et noteDurations[]. Voici la version Jingle Bells :
Étapes Rapides
- Remplacez le sketch par la version Jingle Bells et cliquez sur Run.
- Écoutez le buzzer jouer Jingle Bells au démarrage.
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 buzzer est connecté au MCU (STM32) — câblé à une broche de sortie numérique. Le MCU pilote le buzzer en utilisant tone() et noTone().
- Le MPU ne peut pas contrôler le buzzer directement — il doit déclencher un son en appelant une fonction sur le MCU via Bridge.call().
- Le MPU dispose du Wi-Fi — parce que le MPU exécute Debian Linux complet avec Wi-Fi, il peut déclencher des sons de buzzer via Telegram à la demande.
- Communication : Bridge.call() côté Linux invoque les fonctions Bridge.provide_safe() côté MCU (car tone()/noTone() sont des API matérielles)
- ⚠️ 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 un bip ou une mélodie → le MCU pilote le buzzer via tone() → le MCU confirme l'action → le MPU enregistre ou transmet.
Sketch MCU — buzzer avec Bridge et sortie Monitor :
Script Python (Arduino App Lab) — déclencher le buzzer 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 dans sketch/sketch.ino, ajoutez pitches.h comme nouvel onglet, installez la bibliothèque 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 alterne automatiquement entre bip et mélodie.
- Vérifier la console : Ouvrez l'onglet Console → le sous-onglet MCU Monitor pour voir les messages "Beep played" et "Melody played".
Sortie Console d'App Lab
Intégration Telegram
Déclenchez des sons de buzzer à 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 contrôler le buzzer :
- Remarque : Remplacez YOUR_BOT_TOKEN par le token obtenu depuis @BotFather sur Telegram.
- Envoyez /beep pour déclencher un court bip.
- Envoyez /melody pour jouer la mélodie.
É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 : Envoyez /beep — entendez un court son du buzzer. Envoyez /melody — entendez la mélodie complète jouer.
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
- Alarme à distance : Déclenchez une alarme buzzer à distance via Telegram lorsqu'un événement se produit
- Avertisseur de notification : Bip lorsqu'un seuil de capteur est dépassé — déclenché par la logique Linux du MPU
- Sonnette : Utilisez un bouton pour émettre un son de sonnette ; notifiez via Telegram que quelqu'un a sonné
- Jukebox de mélodies : Créez un bot Telegram qui vous permet de choisir différentes mélodies à jouer à distance
- Alerte minuterie : Utilisez l'horloge du MPU Linux pour jouer une alarme buzzer à une heure programmée
Défiez-Vous
- Facile : Ajoutez une deuxième mélodie (par exemple, Joyeux Anniversaire) et exposez-la comme /birthday dans Telegram
- Moyen : Ajoutez un callback Bridge play_n_beeps(n) et exposez-le dans Telegram comme /beep <count>
- Avancé : Créez un bot Telegram qui joue une mélodie de compte à rebours avant de déclencher une action — utilisez la planification temporelle côté Linux MPU