.. 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