Buzzers ou Piezo Buzzers são componentes eletrônicos utilizados para produzir som.
Os Buzzers são polarizados, ou seja, possuem pólo positivo e negativo.
Ele contém um elemento piezo, que é um disco fino de cerâmica piezoelétrica aderido a uma placa de metal.
O buzzer ativo possui um oscilador internamente e consegue emitir som somente com corrente contínua. Ele produz um único tipo de som.
Por outro lado, o buzzer passivo não possui este oscilador, sendo que ele precisa de um sinal de corrente alternada para emitir sons. Ele produz sons em diferentes frequências.
Neste projeto você criará um circuito que faz o uso de buzzers ativo e passivo.
Repare que teremos dois códigos diferentes para o buzzer ativo e passivo, mas o circuito de conexão para ambos é mesmo, somete o tipo do buzzer que muda.
Para a criação deste circuito serão necessários os seguintes componentes:
Para montar o circuito, visualize na imagem a seguir como conectar os componentes entre a placa Arduino e a breadboard.
Certifique-se de utilizar o código correto para o tipo do buzzer (ativo ou passivo).
A seguir temos o schematics do circuito, que detalha suas conexões e fornece detalhes mais específicos do que o circuito da imagem anterior.
Uma vez criado o circuito, use o código fonte a seguir no Arduino IDE para fazer o upload dele na placa Arduino e assim ver o resultado do circuito em funcionamento.
// define o pino onde será conectado o buzzer
#define BUZZER_PIN 8
void setup() {
pinMode(BUZZER_PIN, OUTPUT); // inicializa o pino do buzzer como output/saída
}
void loop() {
digitalWrite(BUZZER_PIN, HIGH); // toca som
delay(500); // aguarda meio segundo
digitalWrite(BUZZER_PIN, LOW); // para o som
delay(500); // agurada meio segundo
}
Uma vez criado o circuito, use o código fonte a seguir no Arduino IDE para fazer o upload dele na placa Arduino e assim ver o resultado do circuito em funcionamento.
// frequências das notas musicais
#define DO 262
#define RE 294
#define MI 330
#define FA 349
#define SOL 392
#define LA 440
#define SI 494
// pino do buzzer
#define BUZZER_PIN 8
// melodias
int melodia[] = {
DO, SOL, SOL, LA, SOL, 0, SI, DO
};
// tempos das notas: 4 = quarto de tempo, 8 = oitavo de tempo...
int temposNotas[] = {
4, 8, 8, 4, 4, 4, 4, 4
};
void setup() {
pinMode(BUZZER_PIN, OUTPUT);
}
void loop() {
for (int notaIdx = 0; notaIdx < 8; notaIdx++) {
tone(BUZZER_PIN, melodia[notaIdx]);
// para calcular o tempo da nota, divida um segundo pelo tempo da nota
// ex.: quarto de tempo = 1000 / 4, oitavo de tempo = 1000 / 8
int tempoNota = 1000 / temposNotas[notaIdx];
delay(tempoNota);
// para de emitir som
noTone(BUZZER_PIN);
}
}