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.

../_images/list_1.2.1.png

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

Nome

COMPONENTI NEL KIT

LINK

Raphael Kit

337

Raphael Kit

Puoi anche acquistarli separatamente dai link seguenti.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

Cicalino

-

Transistor

ACQUISTA

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.

../_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 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

../_images/image105.jpeg