Nota
Ciao, benvenuto nella Community di appassionati di Raspberry Pi, Arduino e ESP32 di SunFounder su Facebook! Approfondisci il tuo viaggio con Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti a noi?
Supporto esperto: Risolvi i problemi post-vendita e le sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime esclusive: Ottieni accesso anticipato a nuovi annunci di prodotti e anteprime.
Sconti speciali: Godi di sconti esclusivi sui nostri prodotti più recenti.
Promozioni e concorsi festivi: Partecipa a concorsi e promozioni durante le festività.
👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!
1.2.1 Buzzer Attivo
Introduzione
In questo progetto, impareremo come far suonare un buzzer attivo utilizzando un transistor PNP.
Componenti necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
OGGETTI IN QUESTO KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE AI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
- |
|
Schema elettrico
In questo esperimento, utilizziamo un buzzer attivo, un transistor PNP e una resistenza da 1k tra la base del transistor e il GPIO per proteggere il transistor. Quando il GPIO17 del Raspberry Pi è impostato a basso livello (0V) tramite programmazione, il transistor si saturerà e condurrà corrente, facendo suonare il buzzer. Tuttavia, quando il GPIO è impostato ad alto livello, il transistor si interromperà e il buzzer non emetterà suoni.
Procedure sperimentali
Passo 1: Costruisci il circuito. (Il buzzer attivo ha un adesivo bianco sulla superficie e un retro nero.)
Passo 2: Vai alla cartella del codice.
cd ~/raphael-kit/nodejs/
Passo 3: Esegui.
sudo node active_buzzer.js
Dopo l’esecuzione del codice, il buzzer suonerà a intervalli regolari.
Codice
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();
});
Spiegazione del codice
const Gpio = require('pigpio').Gpio;
const active = new Gpio(17,{mode: Gpio.OUTPUT});
Importa il modulo pigpio e crea un oggetto active per controllare la porta IO GPIO17, impostata in modalità di uscita.
setInterval(() => {
active.digitalWrite(!active.digitalRead());
}, 500);
Il buzzer attivo è simile a un LED per quanto riguarda l’uso e può essere controllato con digitalWrite(), mentre digitalRead() è usato per leggere il livello del pin corrente.
Qui facciamo cambiare lo stato operativo del buzzer attivo ogni 500 ms.
process.on('SIGINT', function() {
/* DO SOME STUFF HERE */
process.exit()
})
Gestisce Ctrl+C; in questo caso, viene utilizzato per fermare il suono del buzzer quando il programma viene chiuso.
Immagine del fenomeno