Manual
do
Maker
.
com
Poderia ser com Arduino, Raspberry, etc, mas como fiz com ESP8266, citei no título. Esse teclado capacitivo é bem bacana e foi feito pra operar em 5V, ao que tudo indica. Digo isso porque em dados momentos o valor de retorno é inválido, dando algum outro número que não o tocado. Mas como estou desenvolvendo um projetinho bacana e vai precisar de um teclado (não precisa ser exatamente esse), resolvi escrever o artigo para quando publicar o projeto, reduzir o texto do artigo para não ficar cansativo. E assim vou fazer com todos os componentes desse projeto. Vou adiantar só um pouquinho do prjeto; trata-se de uma bomba desarmável através de uma senha numérica de 4 digitos, que pode ser descoberta através de um conjunto lógico aplicado em forma de um jogo. É muito empolgante!
Esse especificamente está em falta infelizmente, mas todos os materiais desse projeto são da AutoCore Robótica, por isso vou indicar os links para você poder pegar tudo em um lugar só, invés de pagar vários fretes.
Pegue esse teclado aqui (não precisa ser agora, pode esperar o artigo final com o projeto).
Esse teclado capacitivo desse artigo é legal também, mas não estou certo de que ele será utilizado no projeto final; mais provavelmente esse que recomendei acima. Mas se você já tem ou pretende adquirir um e ainda não utilizou um desses, fique feliz, é simples demais configurá-lo.
Primeiramente, tirei o slot de 12 pinos original porque na verdade bastam os primeiros 4, do lado do VCC. O módulo ESP8266 utilizado dessa vez é o NodeMCU. Se ainda não tem uma belezinha dessas, pode montar sua listinha dos componentes para o projeto final. Aqui está o link.
A última coisa a fazer é um jumper, conforme a imagem do início do artigo. Solde apenas os pinos do jumper se não quiser colocar 2 fileiras de 4 pinos, não tem problema.
Apesar de estar utilizando a board NodeMCU, eu gosto de utilizar um firmware baseado no framework Sming NONOS. O código para esse teclado fica assim:
#include <user_config.h>
#include <SmingCore/SmingCore.h>
#define SCL 5
#define SDO 4
Timer read;
byte key_choose = -1;
void setup(){
pinMode(SCL, OUTPUT);
pinMode(SDO, INPUT);
Serial.begin(115200);
Serial.println("Serial started");
}
void keyPressed(){
for (byte i=1;i<17;i++){
digitalWrite(SCL,LOW);
if (!digitalRead(SDO)){
key_choose = i;
break;
}
digitalWrite(SCL,HIGH);
}
digitalWrite(SCL,HIGH);
if (key_choose <17 && key_choose > -1){
Serial.println(key_choose);
key_choose = -1;
}
}
void init(){
setup();
read.initializeMs(500,keyPressed).start();
}
Se você ainda não está utilizando Sming, não sabe o que está perdendo. Utilizo ele e desenvolvo na IDE NetBeans, que adiciona o recurso de auto-complete e documentação, além das demais comodidades de uma boa IDE. Para utilizar o Sming e o Netbeans, siga esses tutoriais:
http://www.manualdomaker.com/article/esp8266-ala-arduino-com-sming-em-um-container/
http://www.manualdomaker.com/article/primeiros-passos-com-o-sming-dentro-de-um-container-esp8266/
http://www.manualdomaker.com/article/conectar-o-netbeans-ao-container-sming-esp8266/
http://www.manualdomaker.com/article/migracao-codigo-micropython-para-sming/
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.