Arduino UNO R4 - Teclado 3x4

Este tutorial ensina como usar o Arduino UNO R4 com um teclado 3x4. Em detalhes, vamos aprender:

Teclado 3x4 com Arduino UNO R4

Sobre o Teclado 3x4

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

Pinagem

Um teclado 3x4 tem 7 pinos, divididos em duas categorias: linhas e colunas.

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

Diagrama de Ligação

Diagrama de Ligação do Teclado 3x4 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 = 3; // three columns char keys[ROW_NUM][COLUMN_NUM] = { { '1', '2', '3' }, { '4', '5', '6' }, { '7', '8', '9' }, { '*', '0', '#' } }; 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 }; //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 3x4 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 Arduino Uno R4 ao teclado 3x4 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
3 6 9 4 * #
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

Teclado e Senha

Um uso comum de um teclado é digitar uma senha. Nesse uso, destacamos 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 teclas restantes, excluindo as duas teclas especiais escolhidas.

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 pelo usuário corresponde à senha definida e depois apague a senha digitada.
  • Se a tecla for "*", apague 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-3x4 */ #include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; //four rows const int COLUMN_NUM = 3; //three columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; 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}; //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 = "1234"; // change your password here String input_password; void setup(){ Serial.begin(9600); Serial.println("Keypad 3x4 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 "123456" e depois pressione "#".
  • Digite as teclas "1234" 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!