Nota
¡Hola! Bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook. Profundiza en Raspberry Pi, Arduino y ESP32 con 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.
Previsualizaciones exclusivas: Obtén acceso anticipado a nuevos anuncios de productos y adelantos.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones festivas y sorteos: Participa en sorteos y promociones de temporada.
👉 ¿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 hacer sonar un zumbador activo con un transistor NPN.
Componentes Necesarios
En este proyecto, necesitaremos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
COMPONENTES EN ESTE KIT |
ENLACE |
|---|---|---|
Kit Raphael |
337 |
También puedes comprarlos por separado desde los enlaces a continuación.
INTRODUCCIÓN AL COMPONENTE |
ENLACE DE COMPRA |
|---|---|
- |
|
Diagrama Esquemático
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 Experimentales
Paso 1: Construye el circuito. (El zumbador activo tiene una etiqueta blanca en la superficie y un respaldo negro).
Paso 2: Abre el archivo de código.
cd ~/raphael-kit/python-pi5
Paso 3: Ejecuta el archivo.
sudo python3 1.2.1_ActiveBuzzer_zero.py
Al ejecutar el código, el zumbador sonará.
Advertencia
Si recibe el mensaje de error RuntimeError: Cannot determine SOC peripheral base address, consulte Si «gpiozero» no funciona.
Código
Nota
Puedes Modificar/Restablecer/Copiar/Ejecutar/Detener el código a continuación. Pero antes de eso, necesitas ir a la ruta del código fuente como raphael-kit/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
# Initialize a Buzzer object on GPIO pin 17
buzzer = Buzzer(17)
try:
while True:
# Turn on the buzzer
print('Buzzer On')
buzzer.on()
sleep(0.1) # Keep the buzzer on for 0.1 seconds
# Turn off the buzzer
print('Buzzer Off')
buzzer.off()
sleep(0.1) # Keep the buzzer off for 0.1 seconds
except KeyboardInterrupt:
# Handle KeyboardInterrupt (Ctrl+C) for clean script termination
pass
Explicación del Código
Estas sentencias importan la clase
Buzzerde la bibliotecagpiozeroy 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 de la Raspberry Pi.# Initialize a Buzzer object on GPIO pin 17 buzzer = Buzzer(17)
En un bucle infinito (
while True), el zumbador se enciende y se apaga cada 0.1 segundos. Las declaracionesprintproporcionan una salida en la consola para cada acción.try: while True: # Turn on the buzzer print('Buzzer On') buzzer.on() sleep(0.1) # Keep the buzzer on for 0.1 seconds # Turn off the buzzer print('Buzzer Off') buzzer.off() sleep(0.1) # Keep the buzzer off for 0.1 seconds
Este segmento asegura que el programa pueda ser terminado de manera segura usando una interrupción del teclado (Ctrl+C) sin arrojar un error.
except KeyboardInterrupt: # Handle KeyboardInterrupt (Ctrl+C) for clean script termination pass