fbpx
ArduinoNovidadeSérie Arduino

Utilizando o Buzzer Ativo no Arduino


O buzzer é um componente eletrônico que converte um sinal elétrico em onda sonora. Este dispositivo é utilizado para sinalização sonora, sendo aplicado em computadores, despertadores, carros, entre outros. O buzzer é composto por duas camadas de metal, uma terceira camada de cristal piezelétrico, envolvidas em um invólucro de plástico, e dois terminais para ligação elétrica.

Figura 1: Buzzer.


Existem dois tipos de buzzer: o buzzer ativo e o buzzer passivo. O buzzer ativo possui um circuito mais complexo que o passivo, no entanto seu uso é mais simples necessitando apenas de ser energizado para emitir um sinal sonoro. Este componente é apropriado para alarmes, avisos e sinais de alerta. No tutorial de hoje vamos aprender como utilizar o buzzer ativo no Arduino.

O propósito deste projeto será utilizar o buzzer ativo para emitir som cinco vezes. Apesar de bastante simples, este projeto nos ensinará sobre o acionamento deste componente na sua frequência padrão e em um intervalo de tempo definido.

Além disso, esse projeto também visa colocar em prática o uso da estrutura de repetição for, utilizada para que certo trecho do código seja executado um determinado número de vezes, cinco neste caso.


MATERIAIS NECESSÁRIOS

1 x Placa UNO SMD R3 Atmega328 compatível com Arduino UNO;
1 x Cabo USB;
1 x Protoboard;
1 x Buzzer ativo;
Cabos jumpers macho-macho.


ESQUEMÁTICO DE LIGAÇÃO DOS COMPONENTES

Observação: No Tinkercad não há buzzer ativo, então, para simulação, usamos um buzzer passivo. Como a ligação pode ser a mesma, siga o esquemático normalmente. A única diferença é que, para o buzzer passivo funcionar, é necessário que o controlador envie uma frequência, enquanto o ativo funciona com níveis lógicos: (HIGH) para ligado e (LOW) para desligado.

Antes de iniciar a montagem elétrica do circuito, certifique-se que a sua placa Arduino esteja desligada. Monte o circuito da utilizando a protoboard, o buzzer ativo e os fios.


Ao montar seu circuito na protoboard preste atenção nos seguintes pontos:

• Assim como os LEDS, o buzzer possui polaridade. No corpo do componente você encontrará um símbolo “+” que indica a polaridade positiva;
• O terminal positivo do buzzer deve ser conectado à porta digital 8 da placa UNO e o outro terminal deve ser ligado ao GND.


ELABORANDO O CÓDIGO

Após a montagem do circuito, vamos a programação do Sketch. Conforme mencionado anteriormente, o objetivo deste projeto é fazer com o que o buzzer toque cinco vezes. Vamos entender a lógica de programação deste projeto com os seguintes passos:

1- Declarar a variável

A variável buzzer será utilizada para representar o pino digital 8, onde o terminar positivo do buzzer está conectado;

2- Definir o pino de saída

A variável buzzer (pino 8) deve ser definida como saída, ou seja, OUTPUT;

3- Realizar repetição

Inicializaremos o loop incluindo a estrutura de repetição for através da instrução for (i; i < 5; i++). Após o for, o primeiro parâmetro a ser incluído nos parênteses é a variável que será utilizada como contados. O outro parâmetro é uma condição, que deve ser satisfeita para que as instruções do laço for sejam executadas. Neste projeto, as instruções do for serão realizadas enquanto i for menor que 5. Por fim, deve ser incluído o incremento.

4- Acionar o buzzer

Utilizaremos a função digitalWrite() para enviar um sinal de nível logico alto(High) para o pino digital 8 da placa UNO e damos um intervalo de 500 milissegundos;
Sintaxe da função: digitalWrite(buzzer, HIGH);

Para interromper a geração da onda quadrada iniciada pela função digitalWrite() enviaremos o nível logico baixo(Low) desligando o buzzer e criamos um intervalo de 500 milissegundos;
Sintaxe da função: digitalWrite(buzzer, LOW);

Desta forma, o Sketch deste projeto ficará da seguinte maneira:

int buzzer = 8; // Atribui o valor 8 a variável buzzer, que representa o pino digital 8, onde o buzzer está conectado
int i = 0;//Variável para contar o número de vezes que o buzzer tocou

void setup() {
  pinMode(buzzer, OUTPUT); //Definindo o pino buzzer como de saída.
}

void loop() {
  for(i; i<5; i++){
  digitalWrite(buzzer, HIGH); // Liga o buzzer
  delay(500); // Aguarda 500 milissegundos
  digitalWrite(buzzer, LOW); // Desliga o buzzer
  delay(500); // Aguarda mais 500 milissegundos
}
}

Espero que tenham gostado deste tutorial. Em caso de dúvidas deixe seu comentário abaixo.

Att.,

Carol Correia Viana

Bacharel em Engenharia Elétrica com ênfase em Eletrônica, mestra em Engenharia Industrial e especialista em Docência com ênfase em Educação Inclusiva. Atua no setor de Desenvolvimento de Produtos na Casa da Robótica. Editora chefe e articulista no Blog da Robótica. Fanática por livros, Star Wars e projetos Maker.

Carol Correia Viana

Bacharel em Engenharia Elétrica com ênfase em Eletrônica, mestra em Engenharia Industrial e especialista em Docência com ênfase em Educação Inclusiva. Atua no setor de Desenvolvimento de Produtos na Casa da Robótica. Editora chefe e articulista no Blog da Robótica. Fanática por livros, Star Wars e projetos Maker.