Componentes · 3 min de leitura

Buzzer ativo vs passivo: o que é buzzer e como usar

Buzzer ativo vs passivo: como diferenciar, como um buzzer funciona, ligação no Arduino, a função tone(), frequências das notas e um exemplo de melodia.

O buzzer é um minúsculo alto-falante que transforma um sinal elétrico em som. O bipe de um sistema de alarme, o aviso do micro-ondas e as musiquinhas dos brinquedos geralmente vêm de um buzzer. Nos projetos com Arduino, ele é o jeito mais barato de dar um retorno sonoro, mas para conseguir o som certo você precisa saber qual tipo de buzzer tem.

Buzzer
Buzzer de 12 mm que encaixa na protoboard. A perna longa é o positivo (+).

Buzzer ativo vs passivo

CaracterísticaBuzzer ativoBuzzer passivo
Oscilador integradoSimNão
Para emitir somBasta dar HIGHPrecisa de uma onda quadrada (frequência)
SomUm único tom fixoQualquer frequência: notas, melodias
Comando no ArduinodigitalWrite()tone() / noTone()
Usado paraAlarmes, bipes de avisoMúsica, diferentes tons de alerta

Como saber se um buzzer é ativo ou passivo?

  • Olhe a parte de baixo: o buzzer passivo geralmente mostra uma placa de circuito verde embaixo; a parte de baixo do buzzer ativo é selada com resina preta.
  • Aplique 5 V: o buzzer ativo apita sem parar; o passivo só dá um estalo fraco quando você o liga.
  • Meça com um multímetro: a bobina de um buzzer passivo mostra uma resistência baixa e estável, de cerca de 16 Ω; o ativo dá uma leitura indefinida ou muito alta.
  • Confira o adesivo: os buzzers ativos costumam ter em cima um adesivo de proteção escrito “remove”.

Ligando um buzzer no Arduino

Buzzers pequenos consomem cerca de 20–30 mA, então podem ser ligados diretamente a um pino do Arduino. Ligue a perna longa (+) a um pino digital, por exemplo o pino 8, e a perna curta ao GND. Se estiver alto demais, você pode adicionar um resistor de cerca de 100 Ω. Buzzers maiores e mais fortes precisam ser acionados por um transistor.

Tocando notas e melodias com tone()

Com um buzzer passivo, tone(pin, frequency, duration) gera uma onda quadrada na frequência pedida. Cada nota tem uma frequência; por exemplo, o A4 (lá) é 440 Hz:

NotaC4D4E4F4G4A4B4C5
Frequência (Hz)262294330349392440494523
C++ (Arduino IDE)
1const int BUZZER_PIN = 8;   // pasif buzzer / passive buzzer
2
3// Do Re Mi Fa Sol La Si Do
4int notes[] = {262, 294, 330, 349, 392, 440, 494, 523};
5
6void setup() {
7  for (int i = 0; i < 8; i++) {
8    tone(BUZZER_PIN, notes[i], 300); // 300 ms çal / play for 300 ms
9    delay(350);                      // notalar arası boşluk / gap between notes
10  }
11  noTone(BUZZER_PIN);                // sesi kapat / stop the sound
12}
13
14void loop() {
15}
Este código não funciona com um buzzer ativo; o buzzer ativo dá o mesmo som para todas as notas. Para melodias, use sempre um buzzer passivo.

Erros comuns

  • Esperar uma melodia de um buzzer ativo: o oscilador integrado produz um tom fixo; tone() não muda a altura do som.
  • Usar PWM nos pinos 3 e 11 junto com tone(): no Uno, tone() usa o Timer2, então o analogWrite nesses pinos se comporta mal enquanto o som toca.
  • Tocar dois buzzers ao mesmo tempo: tone() funciona em apenas um pino por vez.
  • Inverter a polaridade: a perna longa é o positivo; ligado ao contrário, o buzzer ativo fica em silêncio.

Para montar um piano de botões, comece com Como ligar um botão no Arduino e, para ajustar a altura ou o volume com um botão giratório, veja O que é potenciômetro?.

Perguntas frequentes

Dá para ligar um buzzer sem resistor?

Buzzers pequenos consomem 20–30 mA, então podem ir direto a um pino. Para baixar o volume ou proteger o pino, adicione um resistor em série de 100–220 Ω.

Por que meu buzzer está tão baixo?

Se você deu HIGH a um buzzer passivo com digitalWrite, não vai ouvir nada ou só um estalo; use tone() no lugar. Notas perto da frequência de ressonância do buzzer (normalmente 2–4 kHz) soam mais alto.

Como tocar um buzzer no ESP32 e no Pico?

No ESP32, tone() funciona com o core atual do Arduino; versões mais antigas usam ledcWriteTone. No Pico com MicroPython, ajuste a frequência do PWM para a nota e o ciclo de trabalho para a metade.

Qual é a diferença entre buzzer e alto-falante?

O buzzer é pequeno, eficiente para tons únicos e funciona direto de um pino. O alto-falante dá um som melhor em uma faixa ampla de frequências, mas precisa de um amplificador ou de um módulo de som como o DFPlayer.

Ver todos os projetos
Uso do buzzer
#13Iniciante

Uso do buzzer

Já se perguntou como uma campainha ou um alarme produz som? O Arduino faz um pequeno buzzer emitir bipes em intervalos curtos: bipe, pausa, bipe, pausa. Você vê como a eletricidade produz som e dá o p

4.7(89)
161
Ajuste de frequência com buzzer
#14Intermediário

Ajuste de frequência com buzzer

Você controla o som de um buzzer com quatro botões: um inicia o som, outro o interrompe e os outros dois o deixam mais agudo ou mais grave. Mantenha pressionado o botão de aumentar ou diminuir, e o to

4.6(69)
118
Hino nacional da Turquia com buzzer
#15Intermediário

Hino nacional da Turquia com buzzer

Pressione o botão e um pequeno buzzer começa a tocar o hino nacional da Turquia, nota por nota. O Arduino toca cada nota na altura e na duração certas, executando duas estrofes do hino do início ao fi

4.9(106)
213
Tocar melodias com receptor IR, controle remoto e buzzer
#18Iniciante
Premium

Tocar melodias com receptor IR, controle remoto e buzzer

Monte uma caixinha de música que toca melodias com os botões de um controle de TV. Um receptor infravermelho capta o sinal do controle; um botão faz o buzzer tocar uma música animada de videogame, out

4.8(57)
74
Piano simples com buzzer e botões
#26Avançado
Premium

Piano simples com buzzer e botões

Monte seu próprio piano com oito botões. Cada botão corresponde a uma nota, da mais grave à mais aguda: dó, ré, mi, fá, sol, lá, si e dó agudo. A nota toca no buzzer enquanto você mantém o botão press

4.9(66)
88
Melodia com buzzer e ESP32
#114Iniciante
Premium

Melodia com buzzer e ESP32

Toque uma melodia simples (Brilha, brilha, estrelinha) com um buzzer passivo. Usamos as funções tone() e noTone() para tocar as notas, como no Arduino. A mesma sintaxe funciona com ESP32 Arduino Core 3.0+. É preciso usar um buzzer passivo, pois o ativo não toca melodias.

4.8(30)
55
Teste de reação com Arduino e aviso sonoro: meça seus reflexos em milissegundos (LCD + buzzer + 3 LEDs)
#97Intermediário
Premium

Teste de reação com Arduino e aviso sonoro: meça seus reflexos em milissegundos (LCD + buzzer + 3 LEDs)

Seus reflexos são rápidos? Aperte o botão: o LED vermelho diz preparar, o amarelo diz apontar e começa uma espera aleatória de 1,5 a 3,5 segundos. Assim que o LED verde acende e o buzzer apita, aperte de novo; seu tempo de reação aparece em milissegundos no LCD I2C, com seu recorde da sessão e sua média embaixo. Apertou antes do verde? A tela mostra TOO EARLY! e toca um som de derrota. Segure o botão para um novo jogador com a mesma ordem de esperas.

4.6(33)
50