.. note:: ¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete en el apasionante mundo de Raspberry Pi, Arduino y ESP32 junto a otros entusiastas. **¿Por qué unirte?** - **Soporte Experto**: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo. - **Aprende y Comparte**: Intercambia consejos y tutoriales para mejorar tus habilidades. - **Avances Exclusivos**: Obtén acceso anticipado a nuevos anuncios de productos y adelantos exclusivos. - **Descuentos Especiales**: Disfruta de descuentos exclusivos en nuestros productos más recientes. - **Promociones Festivas y Sorteos**: Participa en sorteos y promociones especiales de temporada. 👉 ¿Listo para explorar y crear con nosotros? Haz clic en [|link_sf_facebook|] y únete hoy mismo. Buzzer Activo ================ Introducción --------------- En este proyecto, aprenderemos cómo activar un zumbador activo para que emita sonidos usando un transistor PNP. Componentes -------------- .. image:: ../img/list_1.2.1.png Diagrama del Circuito ----------------------- En este experimento, se utiliza un zumbador activo, un transistor PNP y una resistencia de 1k entre la base del transistor y el GPIO para proteger el transistor. Cuando el GPIO17 de Raspberry Pi está programado para suministrar un nivel bajo (0V), el transistor entrará en conducción debido a la saturación de corriente, y el zumbador emitirá un sonido. En cambio, cuando el nivel es alto, el transistor se cortará y el zumbador no sonará. .. image:: ../img/image332.png Procedimiento Experimental ----------------------------- **Paso 1:** Construye el circuito. (El zumbador activo tiene una etiqueta blanca en la superficie y un respaldo negro.) .. image:: ../img/image104.png **Paso 2**: Ve a la carpeta del código. .. raw:: html .. code-block:: cd ~/davinci-kit-for-raspberry-pi/nodejs/ **Paso 3**: Ejecuta el código. .. raw:: html .. code-block:: sudo node active_buzzer.js El código se ejecuta, y el zumbador emite sonidos. **Código** .. 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(); }); **Explicación del Código** .. code-block:: js const Gpio = require('pigpio').Gpio; const active = new Gpio(17,{mode: Gpio.OUTPUT}); Importa el módulo ``pigpio`` e instancia un objeto ``active`` para controlar el puerto IO Gpio17, configurado en modo de salida. .. code-block:: js setInterval(() => { active.digitalWrite(!active.digitalRead()); }, 500); El zumbador activo es similar al LED en su uso y puede controlarse con ``digitalWrite()``. La función ``digitalRead()`` se usa para leer el nivel actual del pin. Aquí hacemos que el zumbador cambie su estado cada 500 ms. .. code-block:: js process.on('SIGINT', function() { /* DO SOME STUFF HERE */ process.exit() }) Maneja Ctrl+C para detener el zumbador al salir del programa. `Process - NodeJS `_ Imagen del Fenómeno ------------------------ .. image:: ../img/image105.jpeg