Arduino UNO R4 - Teclado 4x4

Este tutorial vai ensinar você a usar um Arduino UNO R4 com um teclado 4x4. Vamos cobrir os seguintes passos:

Teclado 4x4 com Arduino UNO R4

Sobre o Teclado 4x4

O teclado tem 16 botões de membrana organizados em linhas e colunas, conhecidos como matriz. Cada botão é chamado de tecla.

Pinagem

Um teclado 4x4 tem 8 pinos, divididos em duas categorias: linhas e colunas.

  • 4 pinos são para as linhas (R1, R2, R3, R4).
  • 4 pinos são para as colunas (C1, C2, C3, C4).
Pinagem do Teclado 4x4

Diagrama de Ligação

Diagrama de Ligação do Teclado 4x4 com Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.

Código Arduino UNO R4

#include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; // four rows const int COLUMN_NUM = 4; // four columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3', 'A'}, {'4','5','6', 'B'}, {'7','8','9', 'C'}, {'*','0','#', 'D'} }; byte pin_rows[ROW_NUM] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad byte pin_column[COLUMN_NUM] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad DIYables_Keypad keypad = DIYables_Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); void setup(){ Serial.begin(9600); delay(1000); Serial.println("Keypad 4x4 example"); } void loop(){ char key = keypad.getKey(); if (key){ Serial.println(key); } }

Passos Rápidos

Siga estas instruções passo a passo:

  • Se esta é a sua primeira vez usando o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima na Arduino IDE.
  • Conecte o teclado 4x4 ao Arduino Uno R4 de acordo com o diagrama fornecido.
  • Conecte o Arduino Uno R4 ao seu computador usando um cabo USB.
  • Abra a Arduino IDE no seu computador.
  • Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
  • Vá ao ícone Libraries no lado esquerdo da Arduino IDE.
  • Digite DIYables_Keypad na caixa de busca e procure a biblioteca de teclado da DIYables.io.
  • Pressione o botão Install para instalar a biblioteca de teclado.
Biblioteca de teclado para Arduino UNO R4
  • Copie o código acima e abra-o com a Arduino IDE.
  • Clique no botão Upload na Arduino IDE para carregar o código no Arduino UNO R4.
  • Abra o Serial Monitor.
  • Pressione algumas teclas do teclado.
  • Confira os resultados no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
1 2 3 4 A B C * #
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

Teclado e Senha

Um uso comum de um teclado é digitar uma senha. Nesse caso, usamos duas teclas especiais:

  • Uma tecla para começar ou recomeçar a digitação da senha. Por exemplo, a tecla "*".
  • Uma tecla para terminar a digitação da senha. Por exemplo, a tecla "#".

A senha será formada pelas outras teclas, excluindo as duas teclas especiais. Quando uma tecla é pressionada:

  • Se a tecla não for "*" nem "#", adicione a tecla à senha que o usuário está digitando.
  • Se a tecla for "#", verifique se a senha digitada corresponde à senha definida e depois limpe a senha digitada.
  • Se a tecla for "*", limpe a senha digitada.

Teclado - Código da Senha

/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-keypad-4x4 */ #include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; // four rows const int COLUMN_NUM = 4; // four columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3', 'A'}, {'4','5','6', 'B'}, {'7','8','9', 'C'}, {'*','0','#', 'D'} }; byte pin_rows[ROW_NUM] = {9, 8, 7, 6}; // connect to the row pinouts of the keypad byte pin_column[COLUMN_NUM] = {5, 4, 3, 2}; // connect to the column pinouts of the keypad DIYables_Keypad keypad = DIYables_Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); const String password = "1234A"; // change your password here String input_password; void setup(){ Serial.begin(9600); Serial.println("Keypad 4x4 password"); input_password.reserve(32); // maximum input characters is 33, change if needed } void loop(){ char key = keypad.getKey(); if (key){ Serial.println(key); if(key == '*') { input_password = ""; // clear input password } else if(key == '#') { if(password == input_password) { Serial.println("password is correct"); // DO YOUR WORK HERE } else { Serial.println("password is incorrect, try again"); } input_password = ""; // clear input password } else { input_password += key; // append new character to input password string } } }
  • Execute o código fornecido acima.
  • Abra o Serial Monitor.
  • Digite as teclas "1234BC" e depois pressione "#".
  • Digite as teclas "1234A" e depois pressione "#".
  • Confira os resultados no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
password is incorrect, try again password is correct
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!