Tutoriais de Arduino, Eletronica, com Video Aulas, tambem tutoriais de PHP,MySQL,CSS,Java Script, Jquery entre outros. E o Melhor totalmente Gratis.

segunda-feira, 8 de abril de 2013

Projeto Piano Musical

Projeto 3

Componentes: 3 Botões + 3 Leds + Buzzer


Componentes utilizados: 01x Led Verde / 01x Led Amarelo / 01x Led Vermelho / 03x Resistores de
300 / 03x Resistores de 10k / 03x Pushbutton / cabos diversos / 01x Buzzer 5V





const int ledPin1 = 13;
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 = 100;
digitalWrite(ledPin1, HIGH);
}
if(EstadoBotao2 && !EstadoBotao1 && !EstadoBotao3) {
Tom = 200;
digitalWrite(ledPin2, HIGH);
}
if(EstadoBotao3 && !EstadoBotao2 && !EstadoBotao1) {
Tom = 500;
digitalWrite(ledPin3, HIGH);
}
while(Tom > 0) { //enquanto Tom for maior que zero faça o que esta descrit o 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);
}
}

4 comentários: