Vamos ao ponto, veja o tutorial
Veja o esquemático pra de auxilair na montagem
Código fonte gratuito:
/*
-----------Piano com arduino SR 5------------------------------------------------
Versão do Software: 1.0 SR 5 //não apague essa linha, para futuras consultas
Software open source, favor citar o autor: Seu Robô https://SeuRobo.com.br/
Criado por: Leonardo Campbell - Seu Robô
*/
//declarando a biblioteca usada de teclado
#include <Keyboard.h>
//configurando as portas dos botões
#define botao1 2
#define botao2 3
#define botao3 4
#define botao4 5
#define botao5 6
#define botao6 7
//criando as variaveis para armazenar o estado do botão
int statusbotao1;
int statusbotao2;
int statusbotao3;
int statusbotao4;
int statusbotao5;
int statusbotao6;
//criando as variaveis para armazenar o ultimo estado do botão
int ultimoclick1 = LOW;
int ultimoclick2 = LOW;
int ultimoclick3 = LOW;
int ultimoclick4 = LOW;
int ultimoclick5 = LOW;
int ultimoclick6 = LOW;
//configurando os botoes
void setup()
{
pinMode(botao1, INPUT_PULLUP);//definindo os pinos do botão como saida com o "o botão para cima"
pinMode(botao2, INPUT_PULLUP);
pinMode(botao3, INPUT_PULLUP);
pinMode(botao4, INPUT_PULLUP);
pinMode(botao5, INPUT_PULLUP);
pinMode(botao6, INPUT_PULLUP);
Keyboard.begin();//inicia a biblioteca de teclado
}
void loop(){
// faz a leitura do botão e armazena na variável
int lerbotao1 = digitalRead(botao1);
int lerbotao2 = digitalRead(botao2);
int lerbotao3 = digitalRead(botao3);
int lerbotao4 = digitalRead(botao4);
int lerbotao5 = digitalRead(botao5);
int lerbotao6 = digitalRead(botao6);
if (lerbotao1 != ultimoclick1) { //compara se o botão é diferente da ultima vez que clicou
statusbotao1 = lerbotao1; //grava o valor ba variavel para comparar ela depois
if (lerbotao1 == HIGH) { //se o botão 1 for pressionado então faça
Keyboard.press('t'); //digite a letra no computador
delay(100); //aguarde um tempo
Keyboard.releaseAll(); //para de pressionar o tecla do pc
}
}
if (lerbotao2 != ultimoclick2) { //compara se o botão é diferente da ultima vez que clicou
statusbotao2 = lerbotao2; //grava o valor ba variavel para comparar ela depois
if (lerbotao2 == HIGH) { //se o botão 1 for pressionado então faça
Keyboard.press('y'); //digite a letra no computador
delay(100); //aguarde um tempo
Keyboard.releaseAll(); //para de pressionar o tecla do pc
}
}
if (lerbotao3 != ultimoclick3) { //compara se o botão é diferente da ultima vez que clicou
statusbotao3 = lerbotao3; //grava o valor ba variavel para comparar ela depois
if (lerbotao3 == HIGH) { //se o botão 1 for pressionado então faça
Keyboard.press('u'); //digite a letra no computador
delay(100); //aguarde um tempo
Keyboard.releaseAll(); //para de pressionar o tecla do pc
}
}
if (lerbotao4 != ultimoclick4) { //compara se o botão é diferente da ultima vez que clicou
statusbotao4 = lerbotao4; //grava o valor ba variavel para comparar ela depois
if (lerbotao4 == HIGH) { //se o botão 1 for pressionado então faça
Keyboard.press('i'); //digite a letra no computador
delay(100); //aguarde um tempo
Keyboard.releaseAll(); //para de pressionar o tecla do pc
}
}
if (lerbotao5 != ultimoclick5) { //compara se o botão é diferente da ultima vez que clicou
statusbotao5 = lerbotao5; //grava o valor ba variavel para comparar ela depois
if (lerbotao5 == HIGH) { //se o botão 1 for pressionado então faça
Keyboard.press('o'); //digite a letra no computador
delay(100); //aguarde um tempo
Keyboard.releaseAll(); //para de pressionar o tecla do pc
}
}
if (lerbotao6 != ultimoclick6) { //compara se o botão é diferente da ultima vez que clicou
statusbotao6 = lerbotao6; //grava o valor ba variavel para comparar ela depois
if (lerbotao6 == HIGH) { //se o botão 1 for pressionado então faça
Keyboard.press('p'); //digite a letra no computador
delay(100); //aguarde um tempo
Keyboard.releaseAll(); //para de pressionar o tecla do pc
}
}
// Atualiza a variável com o valor lido no botão
ultimoclick1 = lerbotao1;
ultimoclick2 = lerbotao2;
ultimoclick3 = lerbotao3;
ultimoclick4 = lerbotao4;
ultimoclick5 = lerbotao5;
ultimoclick6 = lerbotao6;
}
Se estiver com duvidas, por favor deixe um comentário ou entre em contato, abraço!