Arduino Nano - Teclado 1x4

Neste tutorial, vamos aprender a usar um teclado 1x4 com um Arduino Nano. Vamos abordar:

Arduino Nano Keypad 1x4

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×Teclado 1x4
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Teclado 1x4

Um teclado 1x4 tem quatro botões alinhados em uma fileira. Ele costuma ser usado para digitar senhas, navegar por menus ou controlar dispositivos.

Pinagem

O teclado 1x4 tem cinco pinos. Esses pinos não estão dispostos na mesma ordem das teclas do teclado.

  • Pino 1: conecta-se à tecla 2
  • Pino 2: conecta-se à tecla 1
  • Pino 3: conecta-se à tecla 4
  • Pino 4: conecta-se à tecla 3
  • Pino 5: é um pino comum conectado a todas as teclas
Keypad 1x4 Pinout
image source: diyables.io

Diagrama de Ligação

The wiring diagram between Arduino Nano and Keypad 1x4

This image is created using Fritzing. Click to enlarge image

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

Código Arduino Nano

Cada tecla do teclado 1x4 funciona como um botão. Isso nos permite usar a função digitalRead() para verificar se uma tecla está pressionada. No entanto, as teclas às vezes podem sofrer bounce, ou seja, um único pressionamento aparece como vários pressionamentos. Para corrigir isso, precisamos fazer o debounce de cada tecla. Fazer o debounce de quatro teclas ao mesmo tempo pode ser difícil sem interromper a execução de outros códigos. Felizmente, a biblioteca ezButton ajuda a tornar isso mais fácil.

#include <ezButton.h> #define KEY_NUM 4 // the number of keys #define PIN_KEY_1 5 // The Arduino Nano pin connected to the key 1 #define PIN_KEY_2 4 // The Arduino Nano pin connected to the key 2 #define PIN_KEY_3 7 // The Arduino Nano pin connected to the key 3 #define PIN_KEY_4 6 // The Arduino Nano pin connected to the key 4 ezButton keypad_1x4[] = { ezButton(PIN_KEY_1), ezButton(PIN_KEY_2), ezButton(PIN_KEY_3), ezButton(PIN_KEY_4) }; void setup() { Serial.begin(9600); for (byte i = 0; i < KEY_NUM; i++) { keypad_1x4[i].setDebounceTime(100); // set debounce time to 100 milliseconds } } void loop() { int key = getKeyPressed(); if (key) { Serial.print("The key "); Serial.print(key); Serial.println(" is pressed"); } } int getKeyPressed() { for (byte i = 0; i < KEY_NUM; i++) keypad_1x4[i].loop(); // MUST call the loop() function first for (byte i = 0; i < KEY_NUM; i++) { // get key state after debounce int key_state = keypad_1x4[i].getState(); // the state after debounce if (keypad_1x4[i].isPressed()) return (i + 1); } return 0; }

Passos Rápidos

  • Conecte o Arduino Nano ao teclado 1x4.
  • Conecte o Arduino Nano ao computador usando um cabo USB.
  • Abra a Arduino IDE e escolha a placa e a porta corretas.
  • Clique no ícone Libraries no lado esquerdo da Arduino IDE.
  • Digite ezButton na caixa de pesquisa e localize a biblioteca button do Arduino NanoGetStarted.com.
  • Pressione o botão Install para adicionar a biblioteca ezButton.
Arduino Nano button library
  • Copie o código e abra-o na Arduino IDE
  • Clique no botão Upload na Arduino IDE para enviar o código ao Arduino Nano
  • Abra o Serial Monitor
  • Pressione cada tecla do teclado 1x4 individualmente
  • Confira os resultados no Serial Monitor
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
1 2 3 4
Ln 11, Col 1
Arduino Nano on COM15
2

※ 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!