Magos do Arduino

Buzzers ativo e passivo

Aprenda a utilizar buzzers ativo e passivo com o Arduino

Magos do Arduino

O que são buzzers

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.

Diferença entre buzzer passivo e ativo

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.

Conectando buzzers ativo e passivo no Arduino

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:

  • 1x breadboard
  • 1x Arduino UNO
  • 1x Buzzer ativo
  • 1x Buzzer passivo
  • Jumpers

Circuito para os buzzers ativo e passivo

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

Circuito buzzer ativo/passivo

Schematics do LED

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.

Schematics LED

Código fonte para o buzzer ativo

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
}

Código fonte para o buzzer passivo

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);
    }
}