Note
Bonjour et bienvenue dans la communauté des passionnés de SunFounder Raspberry Pi, Arduino et ESP32 sur Facebook ! Plongez dans l’univers du Raspberry Pi, d’Arduino et de l’ESP32 avec d’autres passionnés.
Pourquoi nous rejoindre ?
Support d’experts : Résolvez vos problèmes après-vente et surmontez vos défis techniques grâce à l’aide de notre communauté et de notre équipe.
Apprendre et Partager : Échangez des astuces et des tutoriels pour perfectionner vos compétences.
Aperçus exclusifs : Obtenez un accès anticipé aux annonces de nouveaux produits et à des avant-premières.
Réductions spéciales : Profitez de remises exclusives sur nos derniers produits.
Promotions festives et cadeaux : Participez à des concours et à des promotions pendant les fêtes.
👉 Prêt à explorer et à créer avec nous ? Cliquez sur [Ici] et rejoignez-nous dès aujourd’hui !
1.2.1 Buzzer Actif
Introduction
Dans ce projet, nous allons apprendre à piloter un buzzer actif pour qu’il émette un son à l’aide d’un transistor PNP.
Composants

Schéma de câblage
Dans cet exercice, un buzzer actif, un transistor PNP et une résistance de 1k sont utilisés entre la base du transistor et le GPIO pour protéger le transistor. Lorsque la sortie GPIO17 du Raspberry Pi est programmée pour fournir un niveau bas (0V), le transistor se mettra en conduction à cause de la saturation du courant, et le buzzer émettra un son. En revanche, lorsque le GPIO fournit un niveau haut, le transistor sera coupé, et le buzzer ne produira aucun son.

Procédures expérimentales
Étape 1 : Construire le circuit (le buzzer actif possède un autocollant blanc sur la surface et un dos noir).

Étape 2 : Accéder au dossier du code.
cd ~/davinci-kit-for-raspberry-pi/nodejs/
Étape 3 : Exécuter le code.
sudo node active_buzzer.js
Une fois le code exécuté, le buzzer se met à émettre un bip sonore.
Code
const Gpio = require('pigpio').Gpio;
const active = new Gpio(17,{mode: Gpio.OUTPUT});
setInterval(() => {
active.digitalWrite(!active.digitalRead());
}, 500);
process.on('SIGINT',function(){
active.digitalWrite(1);
process.exit();
});
Explication du code
const Gpio = require('pigpio').Gpio;
const active = new Gpio(17,{mode: Gpio.OUTPUT});
Importer le module pigpio
et créer une instance d’objet active
pour contrôler le port GPIO17. Le mode est défini sur la sortie.
setInterval(() => {
active.digitalWrite(!active.digitalRead());
}, 500);
Le buzzer actif est similaire à la LED dans son utilisation et peut être contrôlé avec digitalWrite()
, tandis que digitalRead()
est utilisé pour lire le niveau actuel de la broche. Ici, nous faisons changer l’état du buzzer actif toutes les 500 ms.
process.on('SIGINT', function() {
/* DO SOME STUFF HERE */
process.exit()
})
Gérer l’événement Ctrl+C, utilisé ici pour arrêter le son du buzzer lors de la fermeture du programme.
Image du résultat
