Arduino Nano - Teclado numérico 1x4

En este tutorial, aprenderemos a usar un teclado 1x4 con un Arduino Nano. Veremos:

Teclado para Arduino Nano 1x4

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×Teclado 1x4
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del teclado numérico 1x4

Un teclado numérico 1x4 tiene cuatro botones alineados en una fila. A menudo se utiliza para introducir contraseñas, navegar por menús o controlar dispositivos.

Esquema de pines

El teclado 1x4 tiene cinco pines. Estos pines no están dispuestos en el mismo orden que las teclas del teclado.

  • Pin 1: se conecta a la clave 2
  • Pin 2: se conecta a la clave 1
  • Pin 3: se conecta a la clave 4
  • Pin 4: se conecta a la clave 3
  • Pin 5: es un pin común conectado a todas las claves
Pinout de teclado 1x4
image source: diyables.io

Diagrama de Cableado

Diagrama de cableado del teclado 1x4 para Arduino Nano

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Código de Arduino Nano

Cada tecla del teclado 1x4 funciona como un botón. Esto nos permite usar la función digitalRead() para comprobar si se ha pulsado una tecla. Sin embargo, las teclas a veces pueden rebotar, lo que significa que una única pulsación parece varias pulsaciones. Para solucionarlo, debemos corregir el rebote de cada tecla. Corregir el rebote de cuatro teclas a la vez puede ser difícil sin interrumpir la ejecución de otro código. Afortunadamente, la biblioteca ezButton ayuda a facilitar esto.

#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; }

Pasos R\u00e1pidos

  • Conecta el Arduino Nano al teclado matricial 1x4.
  • Conecta el Arduino Nano al ordenador mediante un cable USB.
  • Abre el IDE de Arduino y elige la placa y el puerto correctos.
  • Haz clic en el icono Bibliotecas en el lado izquierdo del IDE de Arduino.
  • Escribe ezButton en la caja de búsqueda y localiza la biblioteca ezButton de Arduino NanoGetStarted.com.
  • Presiona el botón Instalar para agregar la biblioteca ezButton.
Librería de botones para Arduino Nano
  • Copia el código y ábrelo en Arduino IDE
  • Haz clic en el botón Subir en Arduino IDE para enviar el código a Arduino Nano
  • Abre el Monitor Serial
  • Presiona cada tecla del teclado numérico 1x4 por separado
  • Revisa los resultados en el Monitor Serial
COM6
Send
1 2 3 4
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!