Destaque teclado DIY

Teclado DIY usando a Circuit Playground Deixe um comentário

A Circuit Playground é uma placa extremamente versátil. No post de introdução a ela, falamos sobre as diversas funcionalidades e, entre elas, está os conectores que são sensíveis ao toque, estilo Makey Makey. Utilizando esses conectores e cabos garra jacaré, neste post iremos ensinar a fazer um Teclado DIY usando a Circuit Playground!

teclado diy

A Circuit Playground é a placa ideal para este projeto, por ela possuir diversos dispositivos embutidos, não precisamos de nada além dela para fazer um Teclado DIY. Vamos utilizar os conectores sensíveis ao toque, que poderiam acionar determinados LEDs, mudar de cor ou até mesmo acionar o buzzer da placa. No nosso caso vamos acionar o buzzer na frequência das notas (Dó, Ré, Mi…), fazendo com que realmente pareça um teclado musical. 🙂

Para montar o nosso teclado DIY com a Circuit Playground vamos precisar de:

Programação do Teclado DIY

Para a programação do nosso Teclado DIY foi utilizado como base um programa exemplo da Circuit Playground. Na nossa programação, tiramos a comunicação serial, traduzimos,  comentamos e adicionamos umas luzes com os LEDs da própria placa. O programa foi feito na IDE do Arduino. Para ajustar as notas musicais, vimos as frequências em um site.

//Programa: Teclado Musical DIY com Circuit Playground
//Autor: MakerHero
//
//Para ver as notas musicais e suas respectivas frequecias:
//https://www.seventhstring.com/resources/notefrequencies.html
//
//Baseado no programa de : Carter Nelson
// MIT License (https://opensource.org/licenses/MIT)

#include <Adafruit_CircuitPlayground.h>

#define LIMITE   50 // Limite do sensor de toque da Circuit Playground. Você pode alterar esse valor para alterar a sensibilidade

uint8_t pads[] = {3, 2, 0, 1, 12, 6, 9, 10}; // entradas sensiveis ao toque
uint8_t numeroDePads = sizeof(pads)/sizeof(uint8_t);

void tocaNota(uint8_t pad) {
  switch (pad) {
    case 3:
      CircuitPlayground.playTone(262, 100, false); // C (Dó)
      break;
    case 2:
      CircuitPlayground.playTone(294, 100, false);// D (Ré)
      break;
    case 0:
      CircuitPlayground.playTone(330, 100, false);// E (Mi)
      break;
    case 1:
      CircuitPlayground.playTone(349, 100, false);// F (Fá)
      break;
    case 12:
      CircuitPlayground.playTone(392, 100, false);// G (Sol)
      break;
    case 6:
      CircuitPlayground.playTone(440, 100, false);// A (Lá)
      break;
    case 9:
      CircuitPlayground.playTone(494, 100, false);// B (Si)
      break;
    case 10:
      CircuitPlayground.playTone(523, 100, false);// C (Dó)
      break;
    default:
      CircuitPlayground.clearPixels();
  }
}

////////////////////////////////////////////////////////////////////////////
boolean leBotao(uint8_t pad) {
  // Verifica se o valor do Pad está acima do limite
  if (CircuitPlayground.readCap(pad) > LIMITE) {
    return true;  
  } else {
    return false;
  }
}

////////////////////////////////////////////////////////////////////////////
void setup() { 

  // Inicializa a biblioteca da Circuit Playground
  CircuitPlayground.begin();

  // Faz os LEDs irem para um lado 
    for (int i=0; i<10; i++) {
    CircuitPlayground.clearPixels();
    CircuitPlayground.setPixelColor(i, 0x0000FF);
    int nota = i*50 + 200;
    CircuitPlayground.playTone(nota, 100, false);
    delay(100);
  }
  for (int i=9; i>=0; i--) { // Depois para o outro lado
    CircuitPlayground.setPixelColor(i, 0x0000FF);
    int nota = i*50 + 200;
    CircuitPlayground.playTone(nota, 100, false);
    delay(100);
  } 
}


void loop() {
  // Verifica todos os Pads
  for (int i=0; i<numeroDePads; i++) {

    // Verifica se os pads foram tocados
    if (leBotao(pads[i])) {
      
      // Se foi, toca a nota correspondente
      tocaNota(pads[i]);
    } 
  }
}

Se tiver problemas para passar a programação para a Circuit Playground, basta ver o primeiro post que escrevemos sobre ela.

Funcionamento do Teclado DIY

Ao passar a programação para a Circuit Playground, você já pode utilizá-la como um teclado musical, tocando nos conectores que não são GND ou 3,3 V. Mas para tornar o brinquedo mais interessante, vamos colocar as teclas e montar um teclado.

Quando se conecta os cabos com garra jacaré, as pontas se tornam sensíveis ao toque também. Se você conectar algo que conduz eletricidade, que nem uma banana, por exemplo, na ponta do cabo essa banana vai ser sensível ao toque também.

O que devemos fazer é pintar as teclas com grafite (lápis ou lapiseira) e, ao tocar na parte pintada com grafite vai tocar uma tecla do nosso teclado. Para fazer as teclas, fiz um desenho no computador e pintei com lapiseira depois.

Ao pintar, tem que se tomar muito cuidado para não passar pra outra tecla. Se passar, ao tocar teclas diferentes vai tocar a mesma nota. Se isso ocorrer, é possível passar a borracha entre as teclas que irá voltar a funcionar.

pintando teclado diy

Ligações do Teclado DIY

Neste momento você vai precisar ligar as teclas à placa com os cabos garra jacaré. Para isso, deve-se conectar um cabo em cada um dos 8 conectores sensíveis ao toque. Se forem conectados em ordem crescente fica mais parecido com um teclado de verdade. Da esquerda  para direita seria na ordem: 3, 2, 0, 1, 12, 6, 9 e 10.

teclado diy

Quanto melhor e mais for pintada a tecla, melhor o contato e mais fácil a placa perceber. Se ficar com muito pouco contato, você pode colocar um cabo no GND e segurar e/ou diminuir o valor da variável LIMITE no código.

Agora que você tem um Teclado feito por você mesmo, basta começar a tocar!

E aí? Curtiu fazer o seu teclado? Ajude-nos a melhorar o blog comentando abaixo sobre este tutorial.

Faça seu comentário

Acesse sua conta e participe