Hoje nós vamos introduzir um novo elemento que até agora não foi utilizado em nossos experimentos.
É o famoso BUZZER! Um Buzzer nada mais é do que um pequeno
alto-falante. Obviamente que ele não consegue tocar músicas, mas consegue fazer apitos soarem,
como sirenes ou alarmes. A maioria dos alarmes de pequenos equipamentos eletrônicos é feito
através de um buzzer. Ele funciona da seguinte maneira: quando alimentado por uma fonte,
componentes metálicos internos vibram da frequência da fonte, produzindo assim um som.
Como vocês podem ver no protótipo acima, vamos precisar dos seguintes items:
- 1 Arduíno (Uno, MEGA, etc)
- 1 Cabo USB AB(onde será feita a conexão com o nosso computador)
- 1 LED
- Jumpers macho-macho
- 1 Protoboard
- 2 Resistores 330R
- 1 Pushbutton
- 1 Buzzer
Com o material na mão, vamos ao código!
const int ledPin = 13; //led no pino 13
const int Botao = 2; //botao no pino 2
const int Buzzer = 10; //O buzzer está colocado no pino 10
int EstadoBotao = 0; //Variavel para ler o status do pushbutton
int Tom = 0;
void setup(){
pinMode(ledPin, OUTPUT); //Pino do led será saída
pinMode(Botao, INPUT); //Pino com botão será entrada
pinMode(Buzzer, OUTPUT);
}
void loop(){
digitalWrite(Buzzer, HIGH); // Desliga buzzer
EstadoBotao = digitalRead(Botao); /*novo estado do botão vai ser igual ao que
Arduino ler no pino onde está o botão.
Poderá ser ALTO (HIGH)se o botão estiver
Pressionado, ou BAIXO (LOW),se o botão
estiver solto */
if (EstadoBotao == HIGH){ //Se botão estiver pressionado (HIGH)
Tom = 300;
digitalWrite(ledPin, HIGH); // acende o led do pino 13.
}
else{ //se não estiver pressionado
digitalWrite(ledPin, LOW); //deixa o led do pino 13 apagado
Tom = 0;
}
if (Tom > 0){
digitalWrite(Buzzer, HIGH); // Liga buzzer
delayMicroseconds(Tom); // Espera o tempo proporcional ao comprimento de onda da nota musical em milisegundos
digitalWrite(Buzzer, LOW); // Desliga buzzer
delayMicroseconds(Tom); // Espera o tempo proporcional ao comprimento de onda da nota musical em milisegundos
Tom = 0; // Reseta o Tom para zero, para sair do loop while e nao tocar o som constantemente
}
}
Feito isto, basta subir seu código e testar seu experimento!
É isso aí pessoal!! Até a próxima!