Teclado 4×4 e 3×4 no arduino Keypad

19 SET
2015

Autor: Leonardo Dalla Porta

Neste projeto, vamos falar sobre como integrar um teclado com uma placa Arduino para que o arduino pode ler as teclas sendo pressionadas por um usuário.

Os teclados são usados ​​em todos os tipos de dispositivos, incluindo telefones celulares, aparelhos de fax, microondas, fornos, fechaduras, etc. Eles estão praticamente em todos os lugares. Toneladas de dispositivos eletrônicos usá-los para a entrada do usuário.

Assim, sabendo como ligar um teclado para um microcontrolador, tal como um Arduino é muito valioso para a construção de muitos tipos diferentes de produtos comerciais.

No final, quando tudo está conectado corretamente e programado, quando uma tecla é pressionada, ela aparecer no Monitor de série em seu computador. Sempre que você pressionar uma tecla, ele aparece no Monitor de série. Mais tarde, em outro projeto, que vai ligar o circuito de teclado, de modo que serão exibidas em um LCD. Mas, por enquanto, para fins de simplicidade, nós começamos a simplesmente mostrar a tecla pressionada no computador.

Para este projeto, o tipo de teclado, vamos utilizar é um teclado matriz. Este é um teclado que se segue um esquema de codificação que permite que ele tem muito menos pinos de saída que existem teclas. Por exemplo, o teclado matriz estamos usando tem 16 teclas (0-9, AD, *, #), mas apenas 8 pinos de saída.Com um teclado linear, não teria de ser 17 pinos de saída (uma para cada tecla e um pino de terra), a fim de funcionar. O esquema de codificação de matriz permite a menos pinos de saída e, portanto, muito menos conexões que têm que fez para o teclado para trabalhar. Desta forma, eles são mais eficientes do que os teclados lineares, sendo que eles têm menos cablagem.

Você vai precisar de:

  • Arduino
  • 4×4 Matrix Teclado
  • Conectores em barra para o terminal do teclado

 

Ligações

Com o teclado virado para cima para que as chaves são para cima e virada para si, da esquerda para a direita, o 1º ao 4º pino são os pinos de linha e os últimos 4 pinos são os pinos de coluna. Ao conectar os pinos para a placa Arduino, que conectá-los aos pinos de saída digital, D9-D2. Nós conectamos o primeiro pino do teclado para D9, o segundo pino para D8, o terceiro pino para D7, o quarto pino para D6, o quinto pino para D5, o sexto pino para D4, sétimo pino de D3, eo oitavo PIN para D2.

Estas são as conexões em uma tabela:

Pino do teclado Pino do Arduino
1 D9
2 D8
3 D7
4 D6
5 D5
6 D4
7 D3
8 D2

Este é um visual de como o circuito é ligado, quando se.

Teclado com circuito arduino

Aqui você pode ver visualmente todas as conexões que foram escritas acima.

Agora que temos a configuração física, tudo o que precisamos agora é o código.

 

Código

Antes de executar isso, você tem que importar a biblioteca do teclado e, em seguida, uma vez que você importá-lo, então você pode entrar em seu programa. Uma vez que é entrado em seu programa, você deverá ver a linha #include<Keypad.h>. Se você não vê isso, o que significa que a biblioteca teclado não foi colocado com sucesso em seu código e não vai funcionar.

Você pode baixar a biblioteca do teclado aqui: Teclado. Ao fazer o download, mude o nome para a pasta para algo diferente de teclado. Se a pasta e o arquivo que você está importando ter o mesmo nome, que não vai funcionar.

//Para utilizar teclados 3×4 apenas modifique as linhas:

//const byte numRows= 4; //number of rows on the keypad

//const byte numCols= 4; //number of columns on the keypad

//O Código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//*4x4 Matrix Keypad connected to Arduino
This code prints the key pressed on the keypad to the serial port*/
 
#include &lt;Keypad.h&gt;
 
const byte numRows= 4; //number of rows on the keypad
const byte numCols= 4; //number of columns on the keypad
 
//keymap defines the key pressed according to the row and columns just as appears on the keypad
char keymap[numRows][numCols]= 
{
{'1', '2', '3', 'A'}, 
{'4', '5', '6', 'B'}, 
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
 
//Code that shows the the keypad connections to the arduino terminals
byte rowPins[numRows] = {9,8,7,6}; //Rows 0 to 3
byte colPins[numCols]= {5,4,3,2}; //Columns 0 to 3
 
//initializes an instance of the Keypad class
Keypad myKeypad= Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);
 
void setup()
{
Serial.begin(9600);
}
 
//If key is pressed, this key is stored in 'keypressed' variable
//If key is not equal to 'NO_KEY', then this key is printed out
//if count=17, then count is reset back to 0 (this means no key is pressed during the whole keypad scan process
void loop()
{
char keypressed = myKeypad.getKey();
if (keypressed != NO_KEY)
{
Serial.print(keypressed);
}
}

Qualquer dúvida deixe seu comentário abaixo, espero ter sido esclarecedor, um abraço e até a próxima!

Faça um bom uso! Att. Equipe Nadiel Comércio.

Deixe um comentário

WordPress Themes

*

 
Premium WordPress Themes
WordPress Themes