Nota
Ciao, benvenuto nella Community di SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci il mondo di Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti a noi?
Supporto tecnico esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.
Impara e condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e alle anteprime.
Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni festive e giveaway: Partecipa a giveaway e promozioni durante le festività.
👉 Sei pronto a esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!
1.2.1 Buzzer Attivo
Introduzione
In questo progetto, impareremo a far suonare un buzzer attivo con l’aiuto di un transistor NPN.
Componenti Necessari
Per questo progetto, avremo bisogno dei seguenti componenti.
È decisamente conveniente acquistare un kit completo, ecco il link:
Nome |
COMPONENTI NEL KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE AI COMPONENTI |
LINK D’ACQUISTO |
|---|---|
- |
|
Schema Elettrico
In questo esperimento vengono utilizzati un buzzer attivo, un transistor NPN e una resistenza da 1 kΩ. La resistenza è collegata tra il pin GPIO e la base del transistor per limitare la corrente di base e proteggere il transistor. Quando il GPIO17 del Raspberry Pi fornisce un livello alto (3,3 V), il transistor va in saturazione, permettendo alla corrente di fluire attraverso il buzzer, che emette un suono. Quando il GPIO17 fornisce un livello basso (0 V), il transistor è spento e il buzzer rimane silenzioso. ============ ======== ======== === T-Board Name physical wiringPi BCM GPIO17 Pin 11 0 17 ============ ======== ======== ===
Procedure Sperimentali
Passo 1: Costruisci il circuito. (Il buzzer attivo ha un adesivo bianco sulla superficie e un retro nero.)
Passo 2: Apri il file del codice.
cd ~/raphael-kit/python-pi5
Passo 3: Esegui.
sudo python3 1.2.1_ActiveBuzzer_zero.py
Il codice viene eseguito e il buzzer suona.
Avvertimento
Se viene visualizzato l’errore RuntimeError: Cannot determine SOC peripheral base address, fare riferimento a If gpiozero doesn’t work..
Code
Nota
Puoi Modificare/Resettare/Copiare/Eseguire/Fermare il codice qui sotto. Ma prima, devi andare nella directory del codice come raphael-kit/python-pi5. Dopo aver modificato il codice, puoi eseguirlo direttamente per vedere l’effetto.
#!/usr/bin/env python3
from gpiozero import Buzzer
from time import sleep
# Inizializza un oggetto Buzzer sul pin GPIO 17
buzzer = Buzzer(17)
try:
while True:
# Accendi il buzzer
print('Buzzer On')
buzzer.on()
sleep(0.1) # Mantieni il buzzer acceso per 0.1 secondi
# Spegni il buzzer
print('Buzzer Off')
buzzer.off()
sleep(0.1) # Mantieni il buzzer spento per 0.1 secondi
except KeyboardInterrupt:
# Gestisce l'interruzione da tastiera (Ctrl+C) per terminare correttamente lo script
pass
Spiegazione del Codice
Queste righe importano la classe
Buzzerdalla libreriagpiozeroe la funzionesleepdal modulotime.#!/usr/bin/env python3 from gpiozero import Buzzer from time import sleep
Questa riga crea un oggetto
Buzzercollegato al pin GPIO 17 del Raspberry Pi.# Inizializza un oggetto Buzzer sul pin GPIO 17 buzzer = Buzzer(17)
In un ciclo infinito (
while True), il buzzer si accende e si spegne ogni 0.1 secondi. Le istruzioniprintforniscono un’uscita sulla console per ogni azione.try: while True: # Accendi il buzzer print('Buzzer On') buzzer.on() sleep(0.1) # Mantieni il buzzer acceso per 0.1 secondi # Spegni il buzzer print('Buzzer Off') buzzer.off() sleep(0.1) # Mantieni il buzzer spento per 0.1 secondi
Questa parte garantisce che il programma possa essere terminato in modo sicuro utilizzando un’interruzione da tastiera (Ctrl+C) senza generare errori.
except KeyboardInterrupt: # Gestisce l'interruzione da tastiera (Ctrl+C) per terminare correttamente lo script pass