Arduino UNO R4 - Teclado numérico 1x4

En esta guía, aprenderemos a usar un teclado de 1x4 con un Arduino UNO R4. Abarcaremos:

Arduino UNO R4 Teclado numérico 1x4

Acerca del teclado numérico 1x4

Un teclado numérico 1x4 tiene cuatro botones en una fila. Se utiliza para introducir códigos, navegar por menús o controlar interfaces en distintos proyectos.

Disposición de pines

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

  • El pin 1 se conecta a la clave 2.
  • El pin 2 se conecta a la clave 1.
  • El pin 3 se conecta a la clave 4.
  • El pin 4 se conecta a la clave 3.
  • El pin 5 se conecta comúnmente a todas las claves.
Pinout de teclado 1x4
image source: diyables.io

Diagrama de Cableado

Diagrama de cableado del teclado 1x4 para Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

Código de Arduino UNO R4

Cada tecla del teclado 1x4 funciona como un botón. Podemos usar la función digitalRead() para comprobar cómo se presiona cada tecla. Pero al igual que con cualquier botón, nos enfrentamos al problema del rebote, donde una pulsación única puede parecer varias. Para solucionarlo, debemos implementar el filtrado por rebote en cada tecla. El filtrado por rebote de cuatro teclas sin detener otras partes del código puede ser difícil. Afortunadamente, la biblioteca ezLink facilita las cosas.

#include <ezButton.h> #define KEY_NUM 4 // The number of keys #define PIN_KEY_1 3 // The Arduino UNO R4 pin connected to the key 1 #define PIN_KEY_2 2 // The Arduino UNO R4 pin connected to the key 2 #define PIN_KEY_3 5 // The Arduino UNO R4 pin connected to the key 3 #define PIN_KEY_4 4 // The Arduino UNO R4 pin connected to the key 4 ezButton keypad_1x4[KEY_NUM] = { 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++) { int key_state = keypad_1x4[i].getState(); // the state after debounce if (keypad_1x4[i].isPressed()) return (i + 1); } return 0; }

Pasos R\u00e1pidos

Sigue estas instrucciones paso a paso:

  • Si es la primera vez que usas el Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecta Arduino UNO R4 a un teclado numérico 1x4 según el diagrama proporcionado.
  • Conecta la placa Arduino UNO R4 a tu ordenador con un cable USB.
  • Inicia el IDE de Arduino en tu ordenador.
  • Selecciona la placa adecuada de Arduino Uno R4 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Haz clic en el icono de Bibliotecas que se encuentra en el lado izquierdo del IDE de Arduino.
  • Escribe "ezButton" en la caja de búsqueda y localiza la biblioteca de botones proporcionada por "ArduinoGetStarted.com".
  • Presiona el botón Instalar para añadir la biblioteca ezButton.
Biblioteca de botones para Arduino UNO R4
  • Copia el código y ábrelo usando Arduino IDE
  • Haz clic en el botón Subir en Arduino IDE para enviar el código al Arduino UNO R4
  • Abre el Monitor serie
  • Presiona cada tecla del teclado numérico 1x4
  • Ver los resultados en el Monitor serie
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!