.. 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 [|link_sf_facebook|] 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
-----------
.. image:: ../img/list_1.2.1.png
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.
.. image:: ../img/image332.png
Procédures expérimentales
----------------------------
**Étape 1 :** Construire le circuit (le buzzer actif possède un autocollant blanc sur la surface et un dos noir).
.. image:: ../img/image104.png
**Étape 2 :** Accéder au dossier du code.
.. raw:: html
.. code-block::
cd ~/davinci-kit-for-raspberry-pi/nodejs/
**Étape 3 :** Exécuter le code.
.. raw:: html
.. code-block::
sudo node active_buzzer.js
Une fois le code exécuté, le buzzer se met à émettre un bip sonore.
**Code**
.. code-block:: js
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**
.. code-block:: js
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.
.. code-block:: js
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.
.. code-block:: js
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.
`Process - NodeJS `_
Image du résultat
--------------------
.. image:: ../img/image105.jpeg