.. note:: Bonjour et bienvenue dans la Communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez plus profondément dans l'univers des Raspberry Pi, Arduino et ESP32 avec d'autres passionnés. **Pourquoi rejoindre ?** - **Support d'experts** : Résolvez les problèmes après-vente et les défis techniques avec l'aide de notre communauté et de notre équipe. - **Apprendre et partager** : Échangez des astuces et des tutoriels pour améliorer vos compétences. - **Aperçus exclusifs** : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus. - **Réductions spéciales** : Profitez de réductions exclusives sur nos produits les plus récents. - **Promotions festives et cadeaux** : Participez à des cadeaux et des promotions de vacances. 👉 Prêt à explorer et à créer avec nous ? Cliquez [|link_sf_facebook|] et rejoignez-nous aujourd'hui ! .. _1.2.1_js: 1.2.1 Buzzer Actif ======================== Introduction --------------- Dans ce projet, nous apprendrons à faire émettre un bip à un buzzer actif à l'aide d'un transistor PNP. Composants Nécessaires -------------------------------- Pour ce projet, nous avons besoin des composants suivants. .. image:: ../img/list_1.2.1.png Il est certainement pratique d'acheter un kit complet, voici le lien : .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nom - ARTICLES DANS CE KIT - LIEN * - Kit Raphael - 337 - |link_Raphael_kit| Vous pouvez également les acheter séparément à partir des liens ci-dessous. .. list-table:: :widths: 30 20 :header-rows: 1 * - INTRODUCTION DES COMPOSANTS - LIEN D'ACHAT * - :ref:`cpn_gpio_extension_board` - |link_gpio_board_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_buzzer` - \- * - :ref:`cpn_transistor` - |link_transistor_buy| Schéma de Câblage -------------------- Dans cette expérience, 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 le GPIO17 du Raspberry Pi est alimenté en niveau bas (0V) par programmation, le transistor sera conducteur en raison de la saturation du courant et le buzzer émettra des sons. Mais lorsque le niveau haut est fourni à l'IO du Raspberry Pi, le transistor sera coupé et le buzzer n'émettra pas de sons. .. image:: ../img/image332.png Procédures Expérimentales ---------------------------- **Étape 1:** Construire le circuit. (Le buzzer actif a un autocollant blanc sur la surface et un dos noir.) .. image:: ../img/image104.png **Étape 2**: Aller dans le dossier du code. .. raw:: html .. code-block:: cd ~/raphael-kit/nodejs/ **Étape 3**: Exécuter. .. raw:: html .. code-block:: sudo node active_buzzer.js Le code s'exécute, le buzzer émet un bip. **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 instancier un objet actif pour contrôler le port IO Gpio17, et le mode est défini en mode sortie. .. code-block:: js setInterval(() => { active.digitalWrite(!active.digitalRead()); }, 500); Le buzzer actif est similaire à la LED en termes d'utilisation et peut être contrôlé avec ``digitalWrite()``, et ``digitalRead()`` est utilisé pour lire le niveau de la broche actuelle. Ici, nous faisons en sorte que le buzzer actif change son état de fonctionnement toutes les 500ms. .. code-block:: js process.on('SIGINT', function() { /* DO SOME STUFF HERE */ process.exit() }) Gérer Ctrl+C, ici utilisé pour arrêter le son du buzzer lors de la sortie du programme. `Process - NodeJS `_ Image du Phénomène ------------------ .. image:: ../img/image105.jpeg