Nota
Ciao, benvenuto nella community di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci le tue conoscenze su 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 comunità e del nostro team.
Impara e Condividi: Scambia suggerimenti 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 concorsi e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti subito!
1.2.1 Buzzer Attivo
Introduzione
In questo progetto, impareremo a 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 |
COMPONENTI NEL KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Puoi anche acquistarli separatamente dai link seguenti.
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 emette un livello basso (0V) tramite programmazione, il transistor entrerà in conduzione per saturazione di corrente e il buzzer emetterà suoni. Al contrario, quando viene fornito un livello alto all’IO del Raspberry Pi, il transistor si interrompe e il buzzer non emetterà suoni.
Procedure Sperimentali
Passo 1: Costruisci il circuito. (Il buzzer attivo ha un’etichetta bianca sulla superficie e un retro nero.)
Passo 2: Apri il file di codice.
cd ~/raphael-kit/c/1.2.1/
Passo 3: Compila il codice.
gcc 1.2.1_ActiveBuzzer.c -lwiringPi
Passo 4: Esegui il file eseguibile.
sudo ./a.out
Dopo l’esecuzione del codice, il buzzer emetterà suoni.
Nota
Se il codice non funziona dopo l’esecuzione o appare l’errore: "wiringPi.h: No such file or directory", fai riferimento a Installa e Controlla wiringPi.
Codice
#include <wiringPi.h>
#include <stdio.h>
#define BeepPin 0
int main(void){
if(wiringPiSetup() == -1){ //quando l'inizializzazione di wiring fallisce, stampa messaggio a schermo
printf("setup wiringPi failed !");
return 1;
}
pinMode(BeepPin, OUTPUT); //imposta GPIO0 in uscita
while(1){
//buzzer acceso
printf("Buzzer on\n");
digitalWrite(BeepPin, LOW);
delay(100);
printf("Buzzer off\n");
//buzzer spento
digitalWrite(BeepPin, HIGH);
delay(100);
}
return 0;
}
Spiegazione del Codice
digitalWrite(BeepPin, LOW);
Utilizziamo un buzzer attivo in questo esperimento, quindi emetterà suoni automaticamente quando collegato alla corrente continua. Questo codice imposta la porta I/O a livello basso (0V), gestendo così il transistor e facendo suonare il buzzer.
digitalWrite(BeepPin, HIGH);
Impostare la porta I/O a livello alto (3.3V), il transistor non è alimentato e il buzzer non emette suoni.
Immagine del Fenomeno