Come collegare un buzzer attivi e passivi Arduino

Il buzzer di Arduino è un elemento elettrico piezoelettrico che converte l’energia elettrica in vibrazioni (suono con una frequenza di circa 400 Hz). Vediamo come programmare il cicalino dal microcontrollore Arduino per generare suoni. Il cicalino è costituito da un diaframma piezoelettrico e accetta un’ampia gamma di tensioni, da 3 a 20 volt. Il modulo può essere dotato di un oscillatore interno a frequenza fissa (buzzer attivo).




Per questa attività sono necessari:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • buzzer attivi o passivi
  • fotoresistenza e resistenza
  • breadboard
  • cavi di collegamento

Come funziona attivi o passivi buzzer Arduino (datasheet)

Gli altoparlanti piezoelettrici sono dispositivi acustici che sfruttano l’effetto piezoelettrico per riprodurre il suono. Il principio di funzionamento dei cristalli piezoelettrici si basa sull’effetto scoperto dai fratelli Curie nel 1880. Grazie al loro basso costo e al basso consumo energetico, gli emettitori piezoelettrici si sono diffusi negli elettrodomestici. I moduli sono utilizzati per l’indicazione del suono in vari dispositivi: sveglie, telefoni, giocattoli e altri apparecchi.

Come funziona buzzer Arduino, datasheet
Come funziona buzzer passivi e attivi Arduino, datasheet

L’emettitore piezoceramico è costituito da una piastra metallica su cui è applicata una ceramica piezoelettrica con sputtering conduttivo. La piastra e lo sputtering sono i contatti dell’emettitore piezoelettrico (buzzer) e il dispositivo ha una polarità di più e meno. Nei piezocristalli, le cariche elettriche sono generate sotto l’azione di forze meccaniche di taglio, flessione o torsione. Oltre all’effetto “diretto”, esiste anche un effetto opposto.

Qual è la differenza tra buzzer passivi e attivi?

Molti si chiedono quale sia la differenza tra un buzzer attivo e un buzzer passivo. Un cicalino attivo genera il suono utilizzando un oscillatore incorporato e richiede una tensione continua. Un buzzer passivo richiede un segnale PWM dal microcontrollore Arduino Uno per generare il suono. Per identificare un cicalino attivo buzzer, è sufficiente applicargli una tensione continua; se il cicalino emette un segnale acustico, allora è attivo buzzer.

Collegamento buzzer attivi ad Arduino Uno

Collegamento buzzer passivi e attivi ad Arduino Uno
Collegamento buzzer passivi e attivi ad Arduino Uno

Dopo aver assemblato il circuito e collegato il cicalino ad Arduino come nell’immagine precedente, caricare il seguente sketch nel microcontrollore Arduino Uno. La riproduzione del suono su Arduino avviene tramite la funzione tone(), dove il numero di pin e la frequenza del suono sono specificati tra parentesi. Per disattivare il cicalino (piezodinamica di Arduino) è necessario utilizzare la funzione noTone()per saperne di più, leggete qui.

Programma Arduino per buzzer passivi o attivi




void setup() {
  pinMode(11, OUTPUT);

  tone(11, 900);
  delay(500);
  noTone(11);
  delay(500);
}

void loop() {
 
  for (int x = 0; x < 500 ; x++){
    tone (11, x);
    delay(1);
  }

  for (int x = 500; x > 0 ; x--){
    tone (11, x);
    delay(1);
  }
 
}

Spiegazione del codice per buzzer passivi o attivi Arduino:



  1. per modificare la frequenza del cicalino Arduino attivo, si utilizza un ciclo for per cambiare la frequenza del suono da 0 a 500 e viceversa.

Arduino Thermonvox con buzzer e fotoresistenza

Arduino Thermonvox con fotoresistenza e buzzer
Arduino Thermonvox con fotoresistenza e buzzer

Per regolare la frequenza del cicalino viene utilizzato un fotoresistore, ma è possibile utilizzare un potenziometro o qualsiasi altro sensore analogico. Nel programma che segue, convertiremo la variabile tono che corrisponde alla lettura dell’ingresso analogico A1 in una frequenza sonora compresa tra 1000 e 5000 Hz utilizzando la funzione map di Arduino. Assemblare il circuito come mostrato in figura e caricare il programma sulla scheda.

Programma Arduino per thermonvox con buzzer

void setup() {
  pinMode(11, OUTPUT);
  pinMode(A1, INPUT);
}

void loop() {
  int ton = analogRead(A1);
  ton = map(ton,0,1023,1000,5000);

  tone(11, ton);
  delayMicroseconds(5);
}

Spiegazione del codice per thermonvox con buzzer Arduino:

  1. la funzione map converte la variabile ton dall’intervallo di valori 0 – 1023 all’intervallo di valori 1000 – 5000.

Conclusione. Abbiamo visto come attivare un altoparlante piezoelettrico (squeaker) dal microcontrollore Arduino. Queste informazioni saranno utili per la creazione di progetti che richiedono un segnale sonoro all’accensione di un dispositivo sulla scheda Arduino o in altri casi. Per ridurre il volume del segnale dell’altoparlante piezo attivo di Arduino Uno, è possibile utilizzare resistenze con valori diversi, includendole nel circuito.

5/5 - (1 vote)


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.