21 de junho de 2021

Do bit Ao Byte

Embarcados, Linux e programação

Como configurar keypad 4×4 com Arduino

keypad 4x4 com Arduino

É muito simples e usa poucas linhas de código, mas não posso deixar de tratar do assunto porque em breve apresentarei o projeto de maquineta para usar no Banco Imobiliário e não quero fazer um artigo gigante ao apresentar o resultado. Por isso, vamos ver isoladamente essa parte do projeto,  configurando esse keypad 4×4 com Arduino Mega Mini.

Já escrevi a respeito desse teclado no passado, mas não fazia ideia de onde estava. Se você não tem, ou se tem mas perdeu, sem problemas. Esse dispositivo de baixo custo está disponível na CurtoCircuito, através desse link.

Como funciona o keypad?

Trata-se de uma matrix. Temos 4 linhas e 4 colunas. Quando apertamos um botão de uma determinada coluna, fechamos o circuito com a respectiva linha. Para facilitar, temos a biblioteca keypad, disponível no repositório oficial do Arduino.

Código e wiring do keypad 4×4 com Arduino

O código é extremamente enxuto e, considerando que utilizei o Arduino Mega Pro Micro da Saravati, só tive que “espetar” o conector aos pinos do canto: GPIO 32, 34, 36, 38, 40, 42, 44 e 46. Não tem wiring mais fácil do que esse!

#include <Keypad.h>

const byte ROWS = 4; 
const byte COLS = 4; 

char hexaKeys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

byte rowPins[ROWS] = {32, 34, 36, 38}; 
byte colPins[COLS] = {40, 42, 44, 46}; 

Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 

void setup(){
  Serial.begin(9600);
}
  
void loop(){
  char customKey = customKeypad.getKey();
  
  if (customKey){
    Serial.println(customKey);
  }
}

Esse é um exemplo de mapeamento do keypad 4×4 com Arduino, mas para a maquineta do Banco Imobiliário teremos que transformar isso um pouco. O jogador será identificado pelo RFID, teremos um novo recurso adicional que até então não existe no jogo (cujo recurso será segredo até o último momento), então as letras servirão para definir a operação (débito/crédito) e duas delas serão utilizadas para outro recurso, cujo recurso será implementado com o uso do iButton.

O Arduino Mega Pro Mini é um produto da Saravati, que você encontra nesse link.

Se estava procurando por um tutorial de teclado capacitivo, tem esse artigo que fiz com ESP8266.

Espero que esteja acompanhando os artigos que envolvem o projeto. Será uma pena ver a implementação final sem ter visto cada parte que envolve o projeto e a surpresa que será implementada.

Até a próxima!

 

Revisão: Ricardo Amaral de Andrade