sábado, 29 de setembro de 2012

Review Teclado Matricial 4x4 dealextreme

Olá todo mundo!

Hoje vamos falar de um teclado matricial 4x4, esse teclado é muito bom, cada tecla tem vida útil de cerca de 200,000 apertos!! Além disso possui letras, pode ser utilizado para milhares e milhares de projetos, alguns que vem na minha mente são proteção com senha, ou entrar com algum valor por exemplo em graus para mover um sevo motor.
De novo, use sua imaginação para utilizar esses items.

Ele pode ser comprado no dealextreme por um preço muito bom, existem outros sites na internet que vendem esse tipo de teclado, mas infelizmente a estrutura é muito frágil, alem disso não te dão muita segurança de receber em casa o seu produto.
Assim eu recomendo fazer a compra no DX, pois a entrega é garantida e eles sempre tem em estoque, e as peças são ótima qualidade.

Esse componente vem com 8cm de cabo, alem de cabo conector:



Como funciona:

Internamente esse é o desenho do circuito do teclado:


Para o firmware você deve fazer o microcontrolador colocar 1 em uma das colunas e 0 nas outras. Então você faz uma varredura linha a linha olhando se alguma delas possui nivel lógico 1. Passa para próxima coluna e faz novamente a varredura pelas linhas. Ao terminar a varredura de todas linhas e colunas você saberá qual tecla está sendo apertada (caso seja).Por exemplo: Caso voce coloque 1 na primeira coluna e 0 nas demais e na varredura de teclas a linha 3 apresente nivel lógico 1 e as demais linhas nivel lógico 0 significa que o usuário está apertando o número 7.


Tabela - Tecla e seu valor decimal e binário
Tecla
Valor Decimal
Valor Binário
Tecla
Valor Decimal
Valor Binário
Linha 1 / Coluna 1
0
0000
Linha 3 / Coluna 1
8
1000
Linha 1 / Coluna 2
1
0001
Linha 3 / Coluna 2
9
1001
Linha 1 / Coluna 3
2
0010
Linha 3 / Coluna 3
10
1010
Linha 1 / Coluna 4
3
0011
Linha 3 / Coluna 4
11
1011
Linha 2 / Coluna 1
4
0100
Linha 4 / Coluna 1
12
1100
Linha 2 / Coluna 2
5
0101
Linha 4 / Coluna 2
13
1101
Linha 2 / Coluna 3
6
0110
Linha 4 / Coluna 3
14
1110
Linha 2 / Coluna 4
7
0111
Linha 4 / Coluna 4
15
1111


No Arduino:

Vale lembrar que esse teclado pode ser utilizado em qualquer microcontrolador, nos vamos usar no Arduino pois ele já possui uma biblioteca pronta, que funciona muito bem. basta baixar o keypad.h e adicionar ao seu programa.

Programa de exemplo:

Esse programa mostra o funcionamento da biblioteca, nele você define como seu teclado é, quantas teclas, e qual letra/numero corresponde essa tecla, feito isso basta colocar quantas linhas e quantas colunas voce tem.
Assim toda hora que pressionar um botão, seu código vai ser enviado para porta serial em forma do digito pressionado. 


#include <Keypad.h>

const byte ROWS = 4; //quatro linhas
const byte COLS = 4; //quatro colunas
//define simbolos do teclado
char hexaKeys[ROWS][COLS] = 
{
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //ligar as linhas do teclado
byte colPins[COLS] = {6, 7, 8, 9};    //ligar as colunas do teclado

//inicie o NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 

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

Forma que os conectores devem ser ligados:


A membrana é muito fina:

Parte traseira da membrana:



O teclado pode ser facilmente modificado para se adequar em seu projeto:



Um outro uso muito bom para esse teclado, é utilizar a biblioteca password, nela você pode usar ele para abrir uma tranca por exemplo.


É isso ai, quem sabe no futuro falo mais desse teclado, quando ele estiver ligado em um projeto maior!




Nenhum comentário:

Postar um comentário