Fala galera, tudo beleza? No post de hoje estaremos aprendendo a utilizar teclado membrana com Arduino. Ele é um componente simples, fácil e interessante de se trabalhar.
Dá pra integrar ele em inúmeros projetos, como por exemplo, projetos que envolvam sistemas de segurança, automação e monitoramento de ambientes.
Mas por que utilizar o teclado de membrana?
Então, alguns dos fatores interessantes sobre ele, são que:
- Ele possui um GND comum à todas 4 teclas (portanto, chega de problemas com disponibilidade de GND em seu projeto);
- Suas dimensões reduzidas – Possuindo na região das teclas 70mm x 20mm (vide imagem abaixo);
- Seu preço reduzido;
- Facilidade de implementação a nível de código, bastando somente declará-lo como uma entrada digital!
Materiais Utilizados no Projeto
Além disso, sabia que esses itens e outros mais, você pode encontrar na nossa loja!
Montagem do Circuito
Primeiramente, a montagem não é muito complicada, basta conectar cada um dos botões acima à alguma porta digital (no nosso caso, portas 2,3,4,5 – correspondente as teclas 1, 2, 3, 4 e conectar a entrada 5 demonstrada acima, ao GND (terra comum à todas as teclas.)
Código Comentado do Projeto
void setup(){ Serial.begin(9600); pinMode(2, INPUT_PULLUP);//Declaração das portas 2, 3, 4, 5 como "entrada" pullup, com a finalidade de monitorar o estado de uma chave. digitalWrite(38, 1); pinMode(3, INPUT_PULLUP); digitalWrite(39, 1); pinMode(4, INPUT_PULLUP); digitalWrite(4, 1); pinMode(5, INPUT_PULLUP); digitalWrite(5, 1); } void loop() { byte leitura1 = digitalRead(2); // Porta correspondente a tecla 1. byte leitura2 = digitalRead(3); // Porta correspondente a tecla 2. byte leitura3 = digitalRead(4); // Porta correspondente a tecla 3. byte leitura4 = digitalRead(5); // Porta correspondente a tecla 4. if(leitura1 == 0) { //Realiza a leitura de todas as portas, se estiverem em estado baixo, imprime via serial monitor, "Tecla "X" pressionada" Serial.println("Tecla 1 foi pressionada"); } } if(leitura2 == 0) { Serial.println("Tecla 2 foi pressionada"); } if(leitura3 == 0) { Serial.println("Tecla 3 foi pressionada"); } if(leitura4 == 0) { Serial.println("Tecla 4 foi pressionada"); } else{ Serial.println("Pressione alguma tecla do teclado matricial"); } }
Então, para saber mais sobre a diferença INPUT e INPUT_PULLUP, dê uma olhada em nosso post sobre esse assunto no link abaixo:
Conclusão
Por fim, como visto, é um componente fácil de se trabalhar. Foi apresentado sua implementação na sua forma mais básica. 😀
Dica
Dessa forma, você pode na verificação de cada estado das teclas, é possível pedir a realização da leitura de um sensor, caso você esteja trabalhando com um monitoramento de um ambiente específico, evitando assim, leituras desnecessárias gerando maior consumo de energia, tráfego de dados, entre outros.
Então, o que acharam? Legal? Divertido? Um tédio?
Deixe seu comentário ai embaixo, seu joinha no nosso Facebook – e não perca o nosso próximo post.
CYA :D.