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.

Differenza tra buzzer attivo e passivo
| Caratteristica | Buzzer attivo | Buzzer passivo |
|---|---|---|
| Oscillatore interno | Sì | No |
| Per suonare | Basta dargli HIGH | Serve un'onda quadra (frequenza) |
| Suono | Un solo tono fisso | Qualsiasi frequenza: note, melodie |
| Comando Arduino | digitalWrite() | tone() / noTone() |
| Uso | Allarmi, bip di avviso | Musica, 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:
| Nota | Do (C4) | Re (D4) | Mi (E4) | Fa (F4) | Sol (G4) | La (A4) | Si (B4) | Do (C5) |
|---|---|---|---|---|---|---|---|---|
| Frequenza (Hz) | 262 | 294 | 330 | 349 | 392 | 440 | 494 | 523 |
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() {
}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.
Progetti da realizzare dopo questo articolo
Vedi tutti i progetti
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().

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.

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.

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

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.

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.

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).

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
Altri articoli
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.

