
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03


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




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:
Brinquedos adaptáveis a interruptores: Luditek LED Party Light: 7 etapas

Switch-Adapt Toys: Luditek LED Party Light: A adaptação do brinquedo abre novos caminhos e soluções personalizadas para permitir que crianças com habilidades motoras limitadas ou deficiências de desenvolvimento interajam com os brinquedos de forma independente. Em muitos casos, as crianças que precisam dos brinquedos adaptados não conseguem entender
Teclado USB universal com interruptores RGB: 6 etapas

Teclado USB universal com interruptores RGB: Neste instrutível, mostrarei como construir seu próprio teclado USB personalizado que se comporta como um teclado de computador normal. Você pode atribuir qualquer combinação de teclas ou sequência de teclas a serem pressionadas enquanto pressiona apenas um botão. Você pode usá-lo
Como fazer cortinas de rolo inteligentes DIY com interruptores SONOFF inteligentes ?: 14 etapas

Como fazer DIY Smart Roller Blinds com SONOFF Smart Switches ?: Utilize o modo Interlock em SONOFF smart switches para transformar suas cortinas / venezianas comuns em inteligentes. e puxar para baixo à noite? Enfim, eu sou
Microcontrolador AVR. Alterne os LEDs usando um botão de pressão. Botão Debouncing: 4 etapas

Microcontrolador AVR. Alterne os LEDs usando uma chave de botão. Push Button Debouncing: Nesta seção, aprenderemos como fazer o código do programa C para ATMega328PU para alternar o status dos três LEDs de acordo com a entrada de uma chave de botão. Além disso, exploramos uma solução para o problema de ‘Switch Bounce’. Como de costume, nós teremos
Mais de 100 interruptores em um único pino do Arduino: 6 etapas (com imagens)

Mais de 100 switches em um único pino do Arduino: IntroduçãoVocê ficou sem pinos de entrada? Não se preocupe, aqui está uma solução sem nenhum registrador de deslocamento. Neste vídeo, aprenderemos como conectar mais de 100 switches a um único pino do Arduino