PROJETO 26 - TECLADO MATRICIAL 4X4 BÁSICO

Olá pessoal, hoje vamos aprender como utilizar o teclado matricial 4x4 (4 colunas por 4 linhas. Com este teclado podemos ligar LED, motores entre outros, basta apenas configurar as funções para cada botão do teclado, simples e fácil. Então vamos lá galera! Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!

COMPONENTES NECESSÁRIOS

1 Arduino Uno R3

1 Protoboard

1 Resistor de 220Ω

1 LED (Qualquer cor)

1 Teclado matricial 4X4

Fios jumpers

CONECTANDO OS COMPONENTES

Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, siga o modelo como mostra a figura abaixo.

 

FAZENDO O DOWNLOAD E IMPORTANDO A BIBLIOTECA DO KEYPAD

1) Acesse o link https://onedrive.live.com/?cid=F877FDED1DE63FAA&id=F877FDED1DE63FAA%21122;

2) Faça o download do arquivo Keypad;

3) Descompacte o arquivo;

4) Agora entre no diretório (C:) e na pasta Arquivos de Programas, Arduino, libraries, copie o arquivo descompactado nesta pasta;

5) Pronto para utilizar;

AGORA VAMOS AO CÓDIGO

// Projeto 26 - Teclado matricial 4x4 básico

// Biblioteca para controle do teclado de matrizes.
#include <Keypad.h>

const byte ROWS = 4; // Quatro linhas por...
const byte COLS = 4; // Quatro colunas.

// Define o Keypad (mapa do circuito do teclado).
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};

// Conecta o teclado matricial em linha 0, linha 1, linha 2, linha 3 e linha 4...
//dos pinos do arduino.
byte rowPins[ROWS] = { 9, 8, 7, 6 };

// Conecta o teclado matricial em coluna 0, coluna 1, coluna 2, coluna 3 e...
//coluna 4 do arduino.
byte colPins[COLS] = { 12, 11, 10, 5 };

// Cria um objto Keypad.
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

#define ledpin 13 // Led conectado no pino 13 do arduino.

void setup()
{
pinMode(ledpin,OUTPUT); // Define o pino 13 como sendo de saída.
digitalWrite(ledpin, HIGH); // incializa com o led ligado.
Serial.begin(9600); // Inicia o Serial Monitor.
}

void loop()
{
char key = kpd.getKey();
if(key) // Checa se um botão foi pressionado.
{
switch (key)
{
case '*': // Se for pressionado...
digitalWrite(ledpin, LOW); // o led apaga.
break; // Parada, aguardando pressionar outro botão.
case '#': // Se for pressionado...
digitalWrite(ledpin, HIGH); // o led acende.
break;
case 'A':
digitalWrite(ledpin, HIGH);
break;
case 'B':
digitalWrite(ledpin, LOW);
break;
case 'C':
digitalWrite(ledpin, HIGH);
break;
case 'D':
digitalWrite(ledpin, LOW);
break;
default:
Serial.println(key);
}
}
}

Para confirmar se está tudo certo aperto o botão Verify/Upload. Se estiver correto você pode abrir o Serial Monitor em Tools, Serial Monitor ou selecionando simultaneamente os botões Ctrl+Shift+M, aperte os botões numéricos do teclado e este será impresso na tela, dá para utilizar como um “controle remoto”.

IMAGEM DO SERIAL MONITOR

fonte:facacomarduino.info