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.
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 em uma determinada frequência e intervalo de tempo. Para isso, aprenderemos como utilizar as funções tone() e noTone().
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
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 tone() para gerar uma onda quadrada na frequência de 1500 Hz no pino digital 8 da placa UNO e damos um intervalo de 500 milissegundos;
Sintaxe da função tone: tone(pino, frequência);
Para interromper a geração da onda quadrada iniciada pela função tone() utilizaremos a função noTone(), desligando o buzzer e criamos um intervalo de 500 milissegundos;
Sintaxe da função noTone: noTone(pino);
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++) {//Para i, enquanto i for menor que 5, realize o código e incremente 1 em i tone(buzzer, 1500);//Ligando o buzzer com uma frequência de 1500 Hz. delay(500);//Intervalo de 500 milissegundos noTone(buzzer);//Desligando o buzzer. delay(500);//Intervalo de 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.