Arduino - Teclado numérico 1x4

En este tutorial, aprenderemos a usar un teclado numérico 1x4 con un Arduino. En detalle, aprenderemos:

Teclado numérico Arduino 1x4

Hardware Requerido

1×Arduino Uno R3
1×Cable USB 2.0 tipo A/B (para PC USB-A)
1×Cable USB 2.0 tipo C/B (para PC USB-C)
1×Teclado 1x4
1×Cables Puente
1×(Recomendado) Shield de Bloque de Terminales de Tornillo para Arduino Uno
1×(Recomendado) Shield de Protoboard para Arduino Uno
1×(Recomendado) Carcasa para Arduino Uno
1×(Recomendado) Placa Base de Prototipado y Kit de Protoboard para Arduino Uno

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
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 1x4 está formado por cuatro botones de membrana dispuestos en una sola fila. Se utiliza comúnmente para la entrada de usuario en proyectos como la introducción de un código de acceso, la navegación por menús o interfaces de control.

Diagrama de pines

El teclado 1x4 tiene 5 pines, que no corresponden directamente a las etiquetas de las teclas en su orden. Específicamente:

  • 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 que se conecta a todas las claves
Pinout de teclado 1×4
image source: diyables.io

Diagrama de Cableado

Diagrama de cableado de Arduino para teclado 1x4

This image is created using Fritzing. Click to enlarge image

Código de Arduino

Cada tecla del teclado 1x4 funciona como un botón. Esto significa que podemos usar la función digitalRead() para verificar el estado de cada tecla. Sin embargo, en la práctica, como con cualquier botón, debemos gestionar el problema del rebote, donde una sola pulsación podría detectarse por error como múltiples pulsaciones. Para evitarlo, debemos aplicar un antirrebote en cada tecla. Esta tarea se vuelve desafiante cuando se intenta aplicar el antirrebote a cuatro teclas sin bloquear otras partes del código. Afortunadamente, la biblioteca ezButton simplifica este proceso.

#include <ezButton.h> #define KEY_NUM 4 // the number of keys #define PIN_KEY_1 3 // The Arduino pin connected to the key 1 #define PIN_KEY_2 2 // The Arduino pin connected to the key 2 #define PIN_KEY_3 5 // The Arduino pin connected to the key 3 #define PIN_KEY_4 4 // The Arduino 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 Arduino al teclado numérico 1x4
  • Conecta Arduino a la PC mediante un cable USB
  • Abre Arduino IDE, selecciona la placa y el puerto correctos
  • Navega hasta el ícono Bibliotecas en la barra izquierda del Arduino IDE.
  • Busca “ezButton”, luego localiza la biblioteca de botones de ArduinoGetStarted.com
  • Haz clic en el botón Instalar para instalar la biblioteca ezButton.
Biblioteca de botones para Arduino
  • Copia el código anterior y ábrelo con el IDE de Arduino
  • Haz clic en el botón Subir en el IDE de Arduino para subir el código a Arduino
  • Abre el Monitor Serial
  • Pulsa las teclas del teclado numérico 1x4 una por una
  • Observa el resultado 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!