Arduino - Teclado musical
O trabalho dessa semana foi de fazer algum experimento usando Arduino. Por amar os sons em geral dei uma pesquisada e percebi que era bem simples de montar um teclado musical.
A primeira etapa foi montar o circuito, fiz o desenho no site Autodesk circuits, lá é possível testar o código também. É uma maneira fácil de testar e criar projetos sem gastar nada.
O meu circuito ficou assim:
se quiserem podem acessar o link e testar os resultados obtidos
(https://circuits.io/circuits/4873221-teclado)
Foram usados nesse experimento:
8 Leds
8 Resistores
8 Botões de pressão
1 Protoboard
1 Buzzer/ caixa de som
1 Arduino Uno
Jumpers para realizar as conexões
O código final pode ser encontrado logo abaixo
CÓDIGO:
#define FALANTE 13
//defini a entrada do falante/caixa de som
int CAIXAS[] = {9,10, 3, 4, 5, 6, 7, 8};
// ligação dos botões com as entradas do arduino, está assim
//porque foi como liguei na protoboard de verdade
int TOM[] = {1047,1175,1319,1397,1568,1760,1976,2093};
// valores usados para fazerem os tons das notas musicais
int tam = sizeof (CAIXAS)/sizeof(int);
void setup() {
pinMode(FALANTE, OUTPUT);
Serial.begin(9600);
for (int i = 0; i < tam; i++) {
pinMode(CAIXAS[i], INPUT);
}
}
void loop() {
// para cada botão
for (int i = 0; i < tam; i++) {
while (digitalRead(CAIXAS[i]) == HIGH) {
Serial.println(digitalRead (CAIXAS[i]));
tone(FALANTE, TOM[i]);
delay(300);
noTone (FALANTE);
delay(150);
}
}
}
o resultado físico pode ser visto no vídeo abaixo:
A primeira etapa foi montar o circuito, fiz o desenho no site Autodesk circuits, lá é possível testar o código também. É uma maneira fácil de testar e criar projetos sem gastar nada.
O meu circuito ficou assim:
se quiserem podem acessar o link e testar os resultados obtidos
(https://circuits.io/circuits/4873221-teclado)
Foram usados nesse experimento:
8 Leds
8 Resistores
8 Botões de pressão
1 Protoboard
1 Buzzer/ caixa de som
1 Arduino Uno
Jumpers para realizar as conexões
O código final pode ser encontrado logo abaixo
CÓDIGO:
#define FALANTE 13
//defini a entrada do falante/caixa de som
int CAIXAS[] = {9,10, 3, 4, 5, 6, 7, 8};
// ligação dos botões com as entradas do arduino, está assim
//porque foi como liguei na protoboard de verdade
int TOM[] = {1047,1175,1319,1397,1568,1760,1976,2093};
// valores usados para fazerem os tons das notas musicais
int tam = sizeof (CAIXAS)/sizeof(int);
void setup() {
pinMode(FALANTE, OUTPUT);
Serial.begin(9600);
for (int i = 0; i < tam; i++) {
pinMode(CAIXAS[i], INPUT);
}
}
void loop() {
// para cada botão
for (int i = 0; i < tam; i++) {
while (digitalRead(CAIXAS[i]) == HIGH) {
Serial.println(digitalRead (CAIXAS[i]));
tone(FALANTE, TOM[i]);
delay(300);
noTone (FALANTE);
delay(150);
}
}
}
o resultado físico pode ser visto no vídeo abaixo:
Comentários
Postar um comentário