Keypad 12 teclas

Iniciaremos os guias de utilização de componentes do Arduino começando com um teclado de 12 teclas (Keypad)

Adquiri este keypad no DealExtreme (preço por volta de US$ 5,00)

Também disponível no Ebay (preço por volta de US$ 6,00)

Este é um teclado de 12 teclas bem simples com 7 pinos.

Pela tabela acima, percebe-se que cada pino indica uma linha ou coluna que aponta para cada tecla. Com o pressionamento de uma tecla, o pino da linha e da coluna correspondente é acionado e desta forma se obtém qual foi a tecla pressionada.

Na imagem acima voce pode verificar a numeração dos pinos no keypad.

Para ligar ao Arduino basta seguir o layout abaixo (obviamente voce pode usar uma protoboard para fazer a ligação).

O código fonte para utilização do teclado é:

#include <Keypad.h>

const byte ROWS = 4; // Quatro linhas de teclas
const byte COLS = 3; // Tres colunas de teclas

// Disposição das teclas. Observe que alguns keypads podem apresentar a disposição
// de outra forma. Basta arrumar este array para nova correspondência.
char keys[ROWS][COLS] = {
                          {'1','2','3'},
                          {'4','5','6'},
                          {'7','8','9'},
                          {'*','0','#'}
                        };

// Mapear os pinos de acordo com o layout de ligação.
byte rowPins[ROWS] = {5, 4, 3, 2}; // Pinos que identificam as linhas
byte colPins[COLS] = {8, 7, 6}; // Pinos que identificam as colunas

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
   Serial.begin(9600);
}

void loop(){
   char key = keypad.getKey();

   if (key != NO_KEY){
      Serial.println(key);
   }
}

Parte deste pequeno tutorial se baseou no conteúdo da página (TronixStuff)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s