PROJETO PIANO

Nesse projeto cada um dos 3 botões tocará uma nota musical diferente. Para montá-lo usaremos o Buzzer. Um Buzzer é um pequeno alto-falante. 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 dele. Funciona da seguinte maneira: quando alimentado por uma fonte, seus componentes metálicos internos vibram da frequência da fonte, produzindo assim um som. Último detalhe sobre o Buzzer: ele tem polaridade.

 

Material:

  • 1x Arduíno;
  • 1x Buzzer 5V.
  • 3x Pushbutton (Botões Momentâneos);
  • 3x LEDS coloridos;
  • 3x Resistor de 300 ohms;
  • 3x Resistor de 10k ohms;
  • Cabos Diversos.

 

Esquema:

projeto3

Sketch:

const int ledPin1 = 13;// Definindo a porta dos LEDs
const int ledPin2 = 12;
const int ledPin3 = 11;
const int Botao1 = 2;
const int Botao2 = 3;
const int Botao3 = 4;
const int Buzzer = 10; //O buzzer está colocado no pino 10
int EstadoBotao1 = 0;
int EstadoBotao2 = 0;
int EstadoBotao3 = 0;
int Tom = 0; //Variavel para armazenar a nota musical
void setup() {
pinMode(Buzzer, OUTPUT);
pinMode(ledPin1, OUTPUT);
pinMode(Botao1, INPUT);
pinMode(ledPin2, OUTPUT);
pinMode(Botao2, INPUT);
pinMode(ledPin3, OUTPUT);
pinMode(Botao3, INPUT);
}
void loop(){
EstadoBotao1 = digitalRead(Botao1);
EstadoBotao2 = digitalRead(Botao2);
EstadoBotao3 = digitalRead(Botao3);
if(EstadoBotao1 && !EstadoBotao2 && !EstadoBotao3) {
Tom = 500;// Coloque o valor que você quiser
digitalWrite(ledPin1, HIGH);
}
if(EstadoBotao2 && !EstadoBotao1 && !EstadoBotao3) {
Tom = 1000;// Coloque o valor que você quiser
digitalWrite(ledPin2, HIGH);
}
if(EstadoBotao3 && !EstadoBotao2 && !EstadoBotao1) {
Tom = 1500;// Coloque o valor que você quiser
digitalWrite(ledPin3, HIGH);
}
if(Tom > 0) { //enquanto Tom for maior que zero faça o que esta descrito baixo:
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
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
}
}

 


Deixe um comentário