Índice:

Piano Arduino com interruptores de botão: 3 etapas
Piano Arduino com interruptores de botão: 3 etapas

Vídeo: Piano Arduino com interruptores de botão: 3 etapas

Vídeo: Piano Arduino com interruptores de botão: 3 etapas
Vídeo: Como ligar um botão, alavanca, o interruptor no Arduino! Como funciona um botão com vários terminais 2024, Julho
Anonim
Piano Arduino com botões de pressão
Piano Arduino com botões de pressão
Piano Arduino com botões de pressão
Piano Arduino com botões de pressão

Criado por: Haotian Ye

Visão geral

Este é um piano board com oito botões que permitem que você toque uma oitava (Do Re Mi Fa So La Si Do) e com esta oitava você pode tentar tocar algumas músicas que você gosta. Para este projeto, existem alguns conhecimentos importantes que você precisa saber antes de começar.

Primeiro, precisamos conhecer as frequências das notas básicas de um piano.

As frequências estão listadas abaixo:

Do - 261 Hz

Re - 294 Hz

Mi - 329 Hz

Fa - 349Hz

Então - 392Hz

La - 440Hz

Si - 493Hz

Do - 523 Hz

Em segundo lugar, vou mostrar como construir o circuito usando as peças que podem ser compradas na Loja Eletrônica de Lee. Finalmente, irei apresentar e explicar o código que precisa ser carregado na placa Arduino.

Peças de que você vai precisar:

Arduino Uno R3 (ID do produto: 10997)

Cabo USB A para B M / M (ID do produto: 29861)

Resistor 10K * 8 (ID do produto: 91516)

Cores diferentes do interruptor de aderência * 8 (ID do produto: 3124, 31242, 31243, 31245, 31246)

Mini alto-falante (ID do produto: 41680)

Placa de ensaio (ID do produto: 106861)

Fios de jumpers (ID do produto: 21801)

Etapa 1: Etapa 1: construir o circuito

Etapa 1: Construindo o Circuito
Etapa 1: Construindo o Circuito
Etapa 1: Construindo o Circuito
Etapa 1: Construindo o Circuito
Etapa 1: Construindo o Circuito
Etapa 1: Construindo o Circuito
Etapa 1: Construindo o Circuito
Etapa 1: Construindo o Circuito

Primeiro, insira todos os interruptores de botão e mini alto-falante na placa de ensaio, um por um, e combine-os em uma linha. Em seguida, conecte os pinos de cada interruptor de botão ao solo. Em segundo lugar, conecte resistores de 10k entre a potência positiva e os outros pinos de cada interruptor de botão. E, conecte esta coluna aos pinos 2 a 9 na placa Arduino. Além disso, conecte o aterramento ao pino de aterramento e a alimentação positiva ao pino de 3,3 V no Arduino. Finalmente, conecte o minifalante ao pino 10 no Arduino.

Etapa 2: Etapa 2: Código e explicação

O código abaixo é o que eu escrevi

const int preto = 2;

const int branco = 3;

const int vermelho = 4;

const int verde = 5;

const int azul = 6;

const int preto2 = 7;

const int verde2 = 8;

const int red2 = 9;

const int speaker = 10; // Ligar todos os botões e alto-falantes com os pinos de sinal do Arduino

frequência interna = {262, 294, 330, 349, 392, 440, 493, 523}; // matriz contém todas as frequências de uma oitava

void setup () {

// coloque seu código de configuração aqui, para ser executado uma vez:

pinMode (preto, INPUT);

pinMode (branco, INPUT);

pinMode (vermelho, INPUT);

pinMode (verde, INPUT);

pinMode (azul, INPUT);

pinMode (black2, INPUT);

pinMode (verde2, INPUT);

pinMode (red2, INPUT);

pinMode (alto-falante, OUTPUT);

tom (alto-falante, 2000);

Serial.begin (9600);

}

void loop () {

// coloque seu código principal aqui, para executar repetidamente:

if (digitalRead (black) == LOW) // quando você pressiona o botão "DO"

{tom (alto-falante, frequência [0], 50);

atraso (50);

noTone (alto-falante);}

else if (digitalRead (branco) == LOW) // quando você pressiona o botão "RE"

{tom (alto-falante, frequência [1], 50);

atraso (50);

noTone (alto-falante);}

else if (digitalRead (red) == LOW) // quando você pressiona o interruptor do botão "MI"

{tom (alto-falante, frequência [2], 50);

atraso (50);

noTone (alto-falante);}

else if (digitalRead (green) == LOW) // quando você pressiona o botão "FA"

{tom (alto-falante, frequência [3], 50);

atraso (50);

noTone (alto-falante);}

else if (digitalRead (blue) == LOW) // quando você pressiona o botão "SO"

{tom (alto-falante, frequência [4], 50);

atraso (50);

noTone (alto-falante);}

else if (digitalRead (black2) == LOW) // quando você pressiona o botão "LA"

{tom (alto-falante, frequência [5], 50);

atraso (50);

noTone (alto-falante);}

else if (digitalRead (green2) == LOW) // quando você pressiona o botão "SI"

{tom (alto-falante, frequência [6], 50);

atraso (50);

noTone (alto-falante);}

else if (digitalRead (red2) == LOW) // quando você pressiona o botão "DO"

{tom (alto-falante, frequência [7], 50);

atraso (50);

noTone (alto-falante);}

mais // quando você não pressiona nada

noTone (alto-falante);

}

Primeiro, temos que declarar todas as chaves de botão e alto-falante como o pino de 2 a 10 no Arduino. Cada switch representa uma nota. Em seguida, use um array para colocar todas as frequências dentro. Em seguida, as instruções If e else são o que eu uso para informar ao Arduino qual botão de pressão eu pressiono.

Finalmente, conecte sua placa Arduino ao seu computador ou laptop com um cabo USB A para B. Antes de fazer upload de seu código, você ainda precisa fazer o download do software Arduino e fazer algumas configurações padrão. Selecione Ferramentas -> Placa -> Arduino / Genuino Uno; Em seguida, precisamos selecionar a porta de comunicação conectada à placa Arduino. Selecione Ferramentas -> Porta e, em seguida, qualquer nome de porta rotulado como "(Arduino / Genuino Uno)." Então, você pode fazer o upload do código para a placa Arduino.

Recomendado: