Índice:
- Etapa 1: primeiros passos
- Etapa 2: usando um teclado de 12 dígitos
- Etapa 3: usando um teclado de 16 dígitos
- Etapa 4: Projeto de exemplo - Sistema de acesso por PIN
Vídeo: Usando teclados numéricos com Arduino: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Os teclados numéricos podem fornecer uma alternativa simples ao usuário final para várias interfaces para seus projetos. Ou se você precisar de muitos botões, eles podem economizar muito tempo no que diz respeito à construção. Vamos passar por conectá-los usando a biblioteca Arduino e, em seguida, terminar com um esboço de exemplo útil.
Etapa 1: primeiros passos
Não importa de onde você obtenha seus teclados, certifique-se de obter a folha de dados - pois isso tornará sua vida mais fácil ao conectá-los. Por exemplo - a imagem nesta etapa.
A folha de dados é importante porque dirá quais pinos ou conectores no teclado são para as linhas e colunas. Se você não tiver a planilha de dados - você precisará determinar manualmente quais contatos são para as linhas e colunas.
Isso pode ser feito usando a função de continuidade de um multímetro (a campainha). Comece colocando uma sonda no pino 1, a outra sonda no pino 2 e pressione as teclas uma a uma. Anote quando um botão completa o circuito e passe para o próximo pino. Logo você saberá qual é qual. Por exemplo, no exemplo do teclado, os pinos 1 e 5 são para o botão “1 ″, 2 e 5 para“4 ″, etc …
Neste ponto, baixe e instale a biblioteca do teclado Arduino. Agora vamos demonstrar como usar os dois teclados em exemplos simples.
Etapa 2: usando um teclado de 12 dígitos
Usaremos o pequeno teclado preto, compatível com o Arduino Uno e um LCD com interface I2C para fins de exibição. Se você não tiver um LCD, poderá sempre enviar o texto para o monitor serial.
Conecte seu LCD e conecte o teclado ao Arduino da seguinte maneira: Teclado linha 1 para Arduino digital 5Keypad linha 2 para Arduino digital 4Keypad linha 3 para Arduino digital 3Keypad linha 4 para Arduino digital 2Keypad coluna 1 para Arduino digital 8Keypad coluna 2 para Arduino digital 7Keypad column 3 to Arduino digital 6 Se seu teclado for diferente do nosso, anote as linhas no esboço de:
// definição do tipo de teclado
Como você precisa alterar os números nas matrizes, rowPins [ROWS] e colPins [COLS]. Você insere os números dos pinos digitais conectados às linhas e colunas do teclado, respectivamente.
Além disso, as teclas de array armazenam os valores exibidos no LCD quando um botão específico é pressionado. Você pode ver que combinamos com o teclado físico usado, no entanto, você pode alterá-lo para o que precisar. Mas, por enquanto, insira e carregue o seguinte esboço quando estiver satisfeito com as alocações de número de linha / pino:
/ * Teclado numérico e LCD I2C https://tronixstuff.com Usa biblioteca de teclado para Arduino https://www.arduino.cc/playground/Code/Keypad de Mark Stanley, Alexander Brevig * /
#include "Keypad.h"
#include "Wire.h" // para I2C LCD #include "LiquidCrystal_I2C.h" // para módulo LCD de barramento I2C // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C lcd (0x27, 16, 2); // define o endereço LCD para 0x27 para um display de 16 caracteres e 2 linhas
// definição do tipo de teclado
const byte ROWS = 4; // quatro linhas const byte COLS = 3; // três colunas char keys [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
byte rowPins [ROWS] = {
5, 4, 3, 2}; // conectar às pinagens de linha do byte do teclado colPins [COLS] = {8, 7, 6}; // conectar à pinagem da coluna do teclado
contagem interna = 0;
Teclado teclado = Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS);
void setup ()
{lcd.init (); // inicializa o lcd lcd.backlight (); // liga a luz de fundo do LCD}
void loop ()
{chave char = keypad.getKey (); if (chave! = NO_KEY) {lcd.print (chave); contagem ++; if (contagem == 17) {lcd.clear (); contagem = 0; }}}
E os resultados do esboço são mostrados no vídeo. Agora você pode ver como os pressionamentos de botão podem ser traduzidos em dados para uso em um esboço. Agora vamos repetir esta demonstração com o teclado maior.
Etapa 3: usando um teclado de 16 dígitos
Usaremos o teclado 4 × 4 maior, compatível com Arduino Uno e, para variar, o LCD I2C de Akafugu para fins de exibição. Novamente, se você não tiver um LCD, poderá sempre enviar o texto para o monitor serial. Conecte o LCD e, em seguida, conecte o teclado ao Arduino da seguinte maneira:
- Teclado linha 1 (pino oito) para Arduino digital 5
- Teclado linha 2 (pino 1) para Arduino digital 4
- Teclado linha 3 (pino 2) para Arduino digital 3
- Teclado linha 4 (pino 4) para Arduino digital 2
- Coluna 1 do teclado (pino 3) para Arduino digital 9
- Coluna 2 do teclado (pino 5) para Arduino digital 8
- Coluna 3 do teclado (pino 6) para Arduino digital 7
- Coluna 4 do teclado (pino 7) para Arduino digital 6
Agora, para o esboço - observe como acomodamos o teclado numérico maior: a coluna extra na matriz char keys o pino extra na matriz colPins e o byte COLS = 4.
/ * Teclado numérico e LCD I2C https://tronixstuff.com Usa biblioteca de teclado para Arduino https://www.arduino.cc/playground/Code/Keypad de Mark Stanley, Alexander Brevig * /
#include "Keypad.h"
#include "Wire.h" // para I2C LCD #include "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // quatro linhas
const byte COLS = 4; // chaves de caracteres de quatro colunas [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // conectar à pinagem de linha do byte do teclado colPins [COLS] = {9, 8, 7, 6}; // conectar à pinagem da coluna do teclado int count = 0;
Teclado teclado = Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS);
void setup ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Teste do teclado!"); atraso (1000); lcd.clear (); }
void loop ()
{chave char = keypad.getKey (); if (chave! = NO_KEY) {lcd.print (chave); Serial.print (chave); contagem ++; if (contagem == 17) {lcd.clear (); contagem = 0; }}}
E novamente você pode ver os resultados do esboço acima no vídeo.
Agora, para um projeto de exemplo, que provavelmente é o uso mais solicitado do teclado numérico …
Etapa 4: Projeto de exemplo - Sistema de acesso por PIN
O uso mais solicitado para um teclado numérico parece ser um aplicativo do estilo “PIN”, em que o Arduino é instruído a fazer algo com base na inserção de um número correto no teclado. O esboço a seguir usa o hardware descrito para o esboço anterior e implementa um sistema de entrada de PIN de seis dígitos.
As ações a serem realizadas podem ser inseridas nas funções correctPIN () e incorrectPIN (). E o PIN é definido no array char PIN [6]. Com um pouco de trabalho extra, você também pode criar sua própria função de alteração de PIN.
// Chave de PIN com teclado numérico de 16 dígitos // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // quatro linhas
const byte COLS = 4; // chaves de caracteres de quatro colunas [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // conectar à pinagem de linha do byte do teclado colPins [COLS] = {9, 8, 7, 6}; // conectar à pinagem da coluna do teclado
Teclado teclado = Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS);
PIN char [6] = {
'1', '2', 'A', 'D', '5', '6'}; // nosso segredo (!) número tentativa de caractere [6] = {'0', '0', '0', '0', '0', '0'}; // usado para comparação int z = 0;
void setup ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("PIN Lock"); atraso (1000); lcd.clear (); lcd.print ("Digite o PIN…"); }
void correctPIN () // faça isso se o PIN correto for inserido
{lcd.print ("* PIN correto *"); atraso (1000); lcd.clear (); lcd.print ("Digite o PIN…"); }
void incorrectPIN () // faça isso se o PIN incorreto for inserido
{lcd.print ("* Tente novamente *"); atraso (1000); lcd.clear (); lcd.print ("Digite o PIN…"); }
void checkPIN ()
{int correto = 0; int i; para (i = 0; i <6; i ++) {
if (tentativa == PIN )
{correto ++; }} if (correto == 6) {correctPIN (); } else {incorrectPIN (); }
para (int zz = 0; zz <6; zz ++) {tentativa [zz] = '0'; }}
void readKeypad ()
{chave char = keypad.getKey (); if (chave! = NO_KEY) {tentativa [z] = chave; z ++; switch (chave) {case '*': z = 0; pausa; caso '#': z = 0; atraso (100); // para debounce extra lcd.clear (); checkPIN (); pausa; }}}
void loop ()
{readKeypad (); }
O projeto é demonstrado no vídeo.
Agora você pode usar teclados de doze e dezesseis botões com seus sistemas Arduino. Tenho certeza que você encontrará algo útil e interessante usando os teclados em um futuro próximo.
Esta postagem é fornecida a você por pmdway.com - tudo para fabricantes e entusiastas de eletrônicos, com entrega gratuita em todo o mundo.
Recomendado:
DIY -- Como fazer um robô aranha que pode ser controlado usando um smartphone usando o Arduino Uno: 6 etapas
DIY || Como fazer um robô aranha que pode ser controlado com smartphone usando o Arduino Uno: Ao fazer um robô aranha, pode-se aprender muitas coisas sobre robótica. Como fazer robôs é divertido e também desafiador. Neste vídeo vamos mostrar a vocês como fazer um robô aranha, que podemos operar usando nosso smartphone (Androi
Enviar dados numéricos de um Arduino para outro: 16 etapas
Envie dados numéricos de um Arduino para outro: Introduçãopor David Palmer, CDIO Tech. na Aston University.Você já precisou enviar alguns números de um Arduino para outro? Este Instructable mostra como. Você pode facilmente testar se funciona simplesmente digitando uma sequência de números para enviar no S
Controle conduzido em todo o mundo usando Internet usando Arduino: 4 etapas
Controle conduzido em todo o mundo usando Internet usando Arduino: Olá, sou Rithik. Vamos fazer um led controlado pela internet usando seu telefone. Vamos usar softwares como Arduino IDE e Blynk. É simples e se você conseguiu, pode controlar quantos componentes eletrônicos quiser. Coisas que precisamos: Hardware:
Remoto sem fio usando módulo 2.4 Ghz NRF24L01 com Arduino - Nrf24l01 Receptor transmissor de 4 canais / 6 canais para Quadcopter - Helicóptero Rc - Avião Rc usando Arduino: 5 etapas (com imagens)
Remoto sem fio usando módulo 2.4 Ghz NRF24L01 com Arduino | Nrf24l01 Receptor transmissor de 4 canais / 6 canais para Quadcopter | Helicóptero Rc | Avião Rc Usando Arduino: Para operar um carro Rc | Quadcopter | Drone | Avião RC | Barco RC, sempre precisamos de um receptor e transmissor, suponha que para RC QUADCOPTER precisamos de um transmissor e receptor de 6 canais e esse tipo de TX e RX é muito caro, então vamos fazer um em nosso
Armadura de teclados: 7 etapas
Armadura de teclados: Este é um instrutivo sobre como criar uma armadura de um conjunto de teclados. Não use serras para serras, pois elas serão destruídas por isso e, visto que você estará lidando com todos os tipos de aparelhos desagradáveis e arestas afiadas, tenha muito cuidado para não ferir seu