Nota

Ciao, benvenuto nella Community di appassionati di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirti a noi?

  • Supporto 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 omaggi: Partecipa a omaggi e promozioni festive.

👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!

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.

../_images/list_1.2.1.png

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

COMPONENTI IN QUESTO KIT

LINK

Raphael Kit

337

Raphael Kit

Puoi anche acquistarli separatamente dai link sottostanti.

INTRODUZIONE COMPONENTI

LINK PER L’ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

Cicalino

-

Transistor

ACQUISTA

Schema di Collegamento

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 viene impostato a livello basso (0V) tramite programmazione, il transistor sarà in conduzione per saturazione della corrente e il buzzer emetterà suoni. Al contrario, quando il livello logico alto è applicato al GPIO del Raspberry Pi, il transistor sarà interrotto e il buzzer non emetterà suoni.

../_images/image332.png

Procedure Sperimentali

Passo 1: Costruisci il circuito. (Il buzzer attivo ha un’etichetta bianca sulla superficie e un retro nero.)

../_images/image104.png

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 aver eseguito il codice, il buzzer emetterà un suono.

Nota

Se dopo l’esecuzione non funziona o appare l’errore: "wiringPi.h: No such file or directory", consulta Installazione e verifica di WiringPi.

Codice

#include <wiringPi.h>
#include <stdio.h>

#define BeepPin 0
int main(void){
    if(wiringPiSetup() == -1){ //se l'inizializzazione di wiring fallisce, stampa un messaggio a schermo
        printf("setup wiringPi failed !");
        return 1;
    }

    pinMode(BeepPin, OUTPUT);   //imposta GPIO0 come 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);

In questo esperimento, utilizziamo un buzzer attivo, quindi emetterà suono automaticamente quando connesso alla corrente continua. Questo sketch imposta la porta I/O a livello basso (0V), attivando così il transistor e facendo suonare il buzzer.

digitalWrite(BeepPin, HIGH);

Impostando la porta I/O a livello alto (3.3V), il transistor non sarà alimentato e il buzzer non emetterà suoni.

Immagine del Fenomeno

../_images/image105.jpeg