Piano de bananas
Publicado em 12 de Setembro de 2025 às 18:57

Um piano feito com bananas e Arduino Leonardo, inspirado na placa Makey-Makey, possibilita simular um teclado de computador com objetos normais do dia a dia, não se limitando a bananas e nem ao piano como resultado final, possibilitando uma infinidade de botões criativos para os mais diversos fins.
Materiais Necessários
- Arduino Leonardo (Para outros arduinos serão necessários componentes extra além de alterações na programação e não serão explicados aqui)
- 6 Bananas
- 6 Resistores 1MΩ - 1/4W (Pode ter resistência maior desde que não passe de 10MΩ)
- Placa protoboard
- 23 Cabos jumper macho x macho
- Cabo USB para Arduino Leonardo
- Materiais opcionais: Qualquer material condutor de eletricidade para substituir as bananas, Jumpers adicionais para mais teclas, Resistores adicionais para mais teclas
Ferramentas Necessárias
- Computador com entrada USB e Arduino IDE instalado.
Etapas
Montando o circuito
-
Para montar o circuito siga a imagem abaixo, onde as barras pretas na lateral esquerda, representam as bananas e a mão do usuário do piano, pois no Tinkercad (ferramenta para fazer e testar circuitos de forma digital) não tem como incluir bananas, mãos ou outros objetos. Então veja cada um dos 6 pontos da barra preta, onde se conectam os fios coloridos, como bananas, portando cada fio será inserido em uma banana, e a barra que se conecta ao fio preto é a mão do usuário que deverá estar em contato com o contato deste fio para que seja possível tocar o piano.
- Esta imagem foi retirada do circuito montado no tinkercad, caso prefira ou queira salvar o circuito, o link para acesso é este: https://www.tinkercad.com/things/3QXMbborLdv
- Não é necessário retirar a casca das bananas, mas o jumper que se conecta a ela deve penetrar a casca e entrar na banana.
- Na imagem são utilizados resistores de 10MΩ mas a partir de 1MΩ o circuito já funcionará, com a variação da resistência você terá uma mudança apenas na sensibilidade (que ja é muito boa com 1MΩ, use o que tiver disponível)
-
As bananas não devem entrar em contato entre si, deixe elas levemente espalhadas.
-
O funcionamento do circuito se dá com a divisão da tensão entre você e os resistores, portanto, as portas analógicas do arduino devem estar recebendo 5v até que você, conectado ao GND (através daquele fio preto na parte superior do circuito), toca uma banana que está conectada também a uma porta analógica e então ocorre a divisão da tensão, mudando a leitura realizada pelo arduino na respectiva entrada.
Dica: O circuito foi montado de forma a facilitar sua visualização no Tinkercad, porém é possível economizar na quantidade de jumpers, por exemplo, ligando os resistores diretamente ao barramento “+” da protoboard, sem a necessidade dos jumpers vermelhos da imagem, ou ainda a ligação do 5v e do gnd do arduino diretamente aos respectivos barramentos “+” e “-” do outro lado da placa, tirando a necessidade de ligar um lado da protoboard ao outro
Programa de testes
- Caso queira fazer testes quanto às leituras que o arduino está fazendo nas portas analógicas e usar essas informações para calibrar o programa final, é possível utilizar primeiro um programa de testes, neste programa será impresso no monitor serial do arduino IDE as leituras realizadas.
-
O programa pode ser copiado ou baixado no link a seguir: https://www.tinkercad.com/things/2Qc6b3Mp6Op ou se preferir utilize a imagem abaixo como referência.
- Utilize o arduino IDE para fazer o upload do código, abra o monitor serial e verifique se o valor varia quando você toca na banana ligada ao pino A5 (Enquanto segura o contato do fio que sai do “-” da protoboard)
- Para testar os outros pinos/bananas, substitua no código os termos A5 pela respectiva entrada analógica que pretende ser testada, suba novamente o código para o arduino e teste.
Programa final
- Para o programa final utilize o seguinte link (https://www.tinkercad.com/things/3QXMbborLdv)
- Antes de subir o código no arduino, você poderá fazer alterações na tecla que cada banana representa e também ajustar os parâmetros que definem quando uma tecla/banana foi pressionada.
-
Os parâmetros a serem ajustados são “limiar pressionado” e “limiar solto”, o primeiro significa um valor de leitura máxima que deve ser feita na entrada analógica para que seja considerada que a tecla/banana foi tocada, já o segundo é o valor mínimo para ser considerada como tecla solta.
- Para esse ajuste utilize os parâmetros verificados com o programa de teste, mas lembre-se de deixar uma margem de tolerância entre os valores, pois as leituras nas portas analógicas sofrem pequenas variações. Considerando que a leitura máxima que é feita pelos pinos analógicos é de 1023, tente algo mais próximo de 900 como limiar solto, e o limiar pressionado escolha algum valor levemente superior ao medido no programa de testes quando a banana era tocada.
-
O último ajuste é definir quais teclas são pressionadas no computador quando os pinos/bananas são tocados, para isso altere os caracteres entre chaves na lista “teclas[numPinos]” se atentando que se referem respectivamente de A0 a A5.
-
Caso o upload do programa na placa falhe devido a algum erro relacionado às bibliotecas “keyboard.h” ou “movingAvg.h”, é por que a biblioteca ainda não foi instalada, para resolver esse problema siga o caminho a seguir.
Na barra superior do arduino IDE acesse “ferramentas” e em seguida “gerenciar bibliotecas”. Na janela que abrir, escreva o nome da biblioteca faltante na barra de pesquisa e ao encontrá-la clique em instalar. Assim que instalado você já pode fazer o upload do programa para o arduino.
- Abra um bloco de notas e teste o contato com as bananas sem esquecer de se conectar ao fio ligado ao GND da placa, se tudo estiver correto os caracteres definidos no item 15 aparecerão no bloco de notas toda vez que uma banana for pressionada, caso não ocorra volte ao programa de testes e verifique novamente os parâmetros de limiar.
Aplicação
- Este programa e circuito tem como finalidade simular um teclado de computador e por isso são escolhidos caracteres de um teclado no programa, portanto para finalizar o projeto e cumprir sua tarefa de servir como um teclado (instrumento musical) será necessário utilizar algum aplicativo capaz de entender as teclas do computador como comandos para tocar algum som. Para esta parte utilize o seguinte site, https://recursivearts.com/virtual-piano/, nele os caracteres do teclado do computador estão associados a teclas específicas e então quando tocadas as bananas o aplicativo responderá com os respectivos sons.
Conclusão
Este projeto possui uma enorme variedade de possibilidades, tanto na programação, quanto no circuito, quanto na finalidade. No caso da programação você decide quais os caracteres de cada banana, e no caso de mais portas analógicas a disposição é possível atingir uma gama ainda maior de teclas. Quanto às possibilidades de circuito você pode variar os objetos, não se limitando a bananas, mas podendo usar copos com água, ferramentas da oficina, de fato construir um piano usando papel alumínio para criar o contato nas teclas ou o que mais a criatividade permitir. Por fim, é possível usar este projeto para uma infinidade de funções, indo do piano até qualquer outro instrumento que possua alguma aplicação semelhante à recomendada no item 18 ou qualquer outra forma de se utilizar a relação com os caracteres de um teclado de computador, quem sabe controlar os comandos de um jogo utilizando itens comuns da casa no lugar de um controle.
Não se esqueça que para este projeto funcionar é fundamental que o arduino utilizado seja a versão Leonardo que possui comunicação USB nativa, no caso de outros tipos de arduino serão necessários outros módulos conectados a ele.
Para não precisar ficar segurando a ponta do fio que sai do GND, você pode criar, por exemplo, uma pulseira de papel alumínio e conectar o fio a ela, então enquanto a pulseira estiver em contato com o seu corpo, funcionará da mesma forma.
Uma última dica, no Arduino Leonardo é possível utilizar outras portas que atuam também como entradas analógicas, no arduino elas estarão nomeadas como D4, D6, D8, D9, D10 e D12 pois também funcionam como portas digitais. Para usá-las repita o circuito feito nos pinos analógicos utilizados anteriormente agora nestes pinos digitais, e na programação inclua na lista “pinosEntrada [numPinos]” os termos A6, A7, A8, A9, A10, e A11 e aumente a quantidade descrita na variável “numPinos” para 12.