Componenti · 3 min di lettura

Che cos'è un buzzer? Buzzer attivo e passivo, melodie con Arduino

Che cos'è un buzzer, che differenza c'è tra attivo e passivo e come si riconoscono? Collegamento ad Arduino, la funzione tone(), frequenze delle note e un esempio di melodia.

Un buzzer è un piccolissimo altoparlante che trasforma un segnale elettrico in suono. Il bip di un allarme, l'avviso del microonde e le melodie dei giocattoli escono di solito da un buzzer. Nei progetti Arduino è il modo più economico per dare un riscontro sonoro, ma per ottenere il suono giusto devi sapere che tipo di buzzer hai.

Buzzer
Buzzer da 12 mm per breadboard. Il piedino lungo è il positivo (+).

Differenza tra buzzer attivo e passivo

CaratteristicaBuzzer attivoBuzzer passivo
Oscillatore internoSìNo
Per suonareBasta dargli HIGHServe un'onda quadra (frequenza)
SuonoUn solo tono fissoQualsiasi frequenza: note, melodie
Comando ArduinodigitalWrite()tone() / noTone()
UsoAllarmi, bip di avvisoMusica, toni di avviso diversi

Come capire se un buzzer è attivo o passivo?

  • Guarda sotto: il buzzer passivo di solito lascia vedere una scheda verde; quello attivo ha il fondo sigillato con resina nera.
  • Dagli 5 V: il buzzer attivo suona continuamente, quello passivo fa solo un leggero clic al collegamento.
  • Misuralo con il multimetro: la bobina di un buzzer passivo mostra una resistenza bassa e stabile, circa 16 Ω; sull'attivo il valore è incerto o molto alto.
  • Controlla l'etichetta: i buzzer attivi hanno spesso sopra un adesivo protettivo con scritto "remove".

Collegare un buzzer ad Arduino

I buzzer piccoli assorbono circa 20–30 mA, quindi possono essere collegati direttamente a un pin di Arduino. Collega il piedino lungo (+) a un pin digitale, per esempio il pin 8, e quello corto a GND. Se il suono è troppo forte puoi aggiungere una resistenza da circa 100 Ω. I buzzer più grandi e potenti vanno pilotati con un transistor.

Suonare note e melodie con tone()

Con un buzzer passivo, tone(pin, frequenza, durata) genera un'onda quadra alla frequenza richiesta. Ogni nota ha la sua frequenza; per esempio il La (A4) è a 440 Hz:

NotaDo (C4)Re (D4)Mi (E4)Fa (F4)Sol (G4)La (A4)Si (B4)Do (C5)
Frequenza (Hz)262294330349392440494523
const int BUZZER_PIN = 8;   // pasif buzzer / passive buzzer

// Do Re Mi Fa Sol La Si Do
int notes[] = {262, 294, 330, 349, 392, 440, 494, 523};

void setup() {
  for (int i = 0; i < 8; i++) {
    tone(BUZZER_PIN, notes[i], 300); // 300 ms çal / play for 300 ms
    delay(350);                      // notalar arası boşluk / gap between notes
  }
  noTone(BUZZER_PIN);                // sesi kapat / stop the sound
}

void loop() {
}
Questo codice non funziona con un buzzer attivo: produce lo stesso suono per ogni nota. Per le melodie usa sempre un buzzer passivo.

Errori comuni

  • Aspettarsi una melodia da un buzzer attivo: il suo oscillatore produce un tono fisso; tone() non cambia la nota.
  • Usare il PWM sui pin 3 e 11 insieme a tone(): sull'Uno tone() usa il Timer2, quindi analogWrite su quei pin non funziona bene mentre suona.
  • Suonare due buzzer insieme: tone() funziona su un solo pin alla volta.
  • Invertire la polarità: il piedino lungo è il positivo; al contrario un buzzer attivo resta muto.

Per costruire un pianoforte a pulsanti inizia da Come collegare un pulsante ad Arduino; per regolare nota o volume con una manopola guarda Che cos'è un potenziometro?.

Domande frequenti

Si può collegare un buzzer senza resistenza?

I buzzer piccoli assorbono 20–30 mA e possono andare direttamente sul pin. Per abbassare il volume o proteggere il pin aggiungi una resistenza in serie da 100–220 Ω.

Perché il mio buzzer suona così piano?

Se a un buzzer passivo dai HIGH con digitalWrite non senti nulla o solo un clic; usa tone(). Le note vicine alla sua frequenza di risonanza (di solito 2–4 kHz) suonano più forti.

Come si usa un buzzer con ESP32 e Pico?

Sull'ESP32 tone() funziona con il core Arduino attuale; le versioni vecchie usano ledcWriteTone. Sul Pico con MicroPython basta impostare la frequenza PWM della nota e il duty cycle a metà.

Che differenza c'è tra buzzer e altoparlante?

Il buzzer è piccolo, efficiente per toni singoli e funziona direttamente da un pin. L'altoparlante suona meglio su un'ampia gamma di frequenze ma richiede un amplificatore o un modulo audio come il DFPlayer.

Vedi tutti i progetti
Uso del cicalino
#13Principiante

Uso del cicalino

Progetto di base che utilizza il cicalino per emettere un suono con una certa frequenza e intervalli. Insegna l'uso delle funzioni tone() e noTone().

4.7(88)
147
Impostazione della frequenza con cicalino
#14Intermedio

Impostazione della frequenza con cicalino

Progetto interattivo con 4 pulsanti che possono aumentare e diminuire la frequenza del cicalino, accenderlo e spegnerlo. Insegna la lettura multipla dei pulsanti e il controllo variabile.

4.6(67)
109
Inno nazionale con cicalino
#15Intermedio

Inno nazionale con cicalino

Il progetto che riproduce le prime due strofe dell'Inno nazionale della Repubblica di Turchia nota per nota con il Buzzer. Insegna la relazione frequenza-nota e la programmazione della melodia.

4.9(95)
151
Riproduzione pronta della melodia con ricevitore IR, controller e buzzer
#18Principiante
Premium

Riproduzione pronta della melodia con ricevitore IR, controller e buzzer

Progetto che riproduce le melodie di Mario, della festa della mamma e di Capodanno con cicalino premendo diversi tasti del telecomando IR. Combina l'attivazione di funzioni e la programmazione di melo

4.8(57)
74
Pianoforte semplice con cicalino e pulsante
#26Avanzato
Premium

Pianoforte semplice con cicalino e pulsante

Con 8 pulsanti e cicalino, semplice progetto di pianoforte in grado di suonare note dal do al do acuto. Insegna a simulare uno strumento musicale assegnando frequenze diverse a ciascun pulsante.

4.9(66)
87
Mehter March con Arduino
#100Principiante
Premium

Mehter March con Arduino

Questo progetto consente di riprodurre l'inno di Mehter con un ciclo infinito utilizzando solo Arduino Uno, Buzzer e cavi di collegamento. È sufficiente effettuare i collegamenti e incollare il codice.

4.0(24)
36
ESP32 Riproduzione di melodia con cicalino
#114Principiante
Premium

ESP32 Riproduzione di melodia con cicalino

Riproduzione di una semplice melodia (Twinkle Twinkle Little Star) con un buzzer passivo. Le note vengono riprodotte con le funzioni tone() e noTone() come in Arduino - la stessa sintassi funziona con ESP32 Arduino Core 3.0+. È necessario utilizzare un cicalino passivo (il cicalino attivo non riproduce la melodia).

4.8(30)
55
Test di reazione stimolata dal suono con Arduino
#97Intermedio
Premium

Test di reazione stimolata dal suono con Arduino

Stazione di test di reazione Arduino Questo progetto è una stazione di test digitale sviluppata per misurare la velocità di reazione di un utente a stimoli visivi e uditivi con una precisione di millisecondi (ms). Il sistema è composto da un controller Arduino, un gruppo di LED di notifica a tre livelli, un cicalino per l'avviso acustico e un display LCD I2C che mostra i risultati istantaneamente. Principio di funzionamento: All'avvio del test, il sistema prepara l'utente accendendo rispettivam

4.6(33)
49

Impara a distinguere un buzzer attivo da uno passivo, a collegarlo ad Arduino e a suonare note con tone() fino a creare la tua melodia.