Nota
¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.
¿Por qué unirse?
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: Accede anticipadamente a anuncios de nuevos productos y adelantos exclusivos.
Descuentos Especiales: Aprovecha descuentos exclusivos en nuestros productos más recientes.
Promociones Festivas y Sorteos: Participa en sorteos y promociones especiales.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.
1.2.1 Zumbador Activo
Introducción
En este proyecto, aprenderemos a activar un zumbador activo para que emita sonidos usando un transistor NPN.
Componentes Necesarios
Para este proyecto, necesitamos los siguientes componentes.
Diagrama de Conexiones
En este experimento se utilizan un zumbador activo, un transistor NPN y una resistencia de 1 kΩ. La resistencia se conecta entre el pin GPIO y la base del transistor para limitar la corriente de base y proteger el transistor. Cuando el GPIO17 de la Raspberry Pi emite un nivel alto (3,3 V), el transistor entra en saturación, permitiendo el paso de corriente a través del zumbador, que emite sonido. Cuando el GPIO17 emite un nivel bajo (0 V), el transistor se apaga y el zumbador permanece en silencio.
T-Board Name |
physical |
wiringPi |
BCM |
GPIO17 |
Pin 11 |
0 |
17 |
Procedimientos del Experimento
Paso 1: Construye el circuito. (El zumbador activo tiene una etiqueta blanca en la superficie y una parte trasera negra).
Paso 2: Abre el archivo de código.
cd ~/davinci-kit-for-raspberry-pi/python-pi5
Paso 3: Ejecuta el código.
sudo python3 1.2.1_ActiveBuzzer.py
Después de ejecutar el código, el zumbador emitirá un pitido.
Advertencia
Si aparece el mensaje de error RuntimeError: Cannot determine SOC peripheral base address, consulta Si gpiozero no funciona.
Código
Nota
Puedes Modificar/Restablecer/Copiar/Ejecutar/Detener el código a continuación. Antes de eso, asegúrate de estar en la ruta del código fuente, como davinci-kit-for-raspberry-pi/python-pi5. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.
#!/usr/bin/env python3
from gpiozero import Buzzer
from time import sleep
# Inicializa un objeto Buzzer en el pin GPIO 17
buzzer = Buzzer(17)
try:
while True:
# Enciende el zumbador
print('Buzzer On')
buzzer.on()
sleep(0.1) # Mantén el zumbador encendido por 0.1 segundos
# Apaga el zumbador
print('Buzzer Off')
buzzer.off()
sleep(0.1) # Mantén el zumbador apagado por 0.1 segundos
except KeyboardInterrupt:
# Maneja la interrupción de teclado (Ctrl+C) para terminar el script limpiamente
pass
Explicación del Código
Estas líneas importan la clase
Buzzerde la libreríagpiozeroy la funciónsleepdel módulotime.#!/usr/bin/env python3 from gpiozero import Buzzer from time import sleep
Esta línea crea un objeto
Buzzerconectado al pin GPIO 17 en la Raspberry Pi.# Inicializa un objeto Buzzer en el pin GPIO 17 buzzer = Buzzer(17)
En un bucle infinito (
while True), el zumbador se enciende y apaga cada 0.1 segundos. Las sentenciasprintproporcionan una salida en consola para cada acción.try: while True: # Enciende el zumbador print('Buzzer On') buzzer.on() sleep(0.1) # Mantén el zumbador encendido por 0.1 segundos # Apaga el zumbador print('Buzzer Off') buzzer.off() sleep(0.1) # Mantén el zumbador apagado por 0.1 segundos
Este segmento asegura que el programa pueda terminarse de forma segura usando una interrupción de teclado (Ctrl+C) sin generar un error.
except KeyboardInterrupt: # Maneja la interrupción de teclado (Ctrl+C) para terminar el script limpiamente pass