Cómo usar el 4x4 Soft Keypad con Arduino

Cómo usar el 4x4 Soft Keypad con Arduino

En este tutorial, exploraremos cómo conectar y usar un teclado de membrana 4x4 con un Arduino. Este teclado cuenta con dieciséis teclas pero solo requiere ocho pines para la conexión, lo que lo convierte en un dispositivo de entrada compacto y eficiente para diversos proyectos. Al final de esta guía, podrás leer las entradas del teclado y activar acciones basadas en esas entradas.

4x4 soft keypdad

Utilizaremos elKeypadBiblioteca para interactuar con el teclado, lo que nos permite detectar fácilmente qué tecla se pulsa. El programa que implementaremos mostrará la tecla pulsada en el monitor serie y realizará una acción cuando se presione una tecla específica, como la tecla '4'. Para una guía más visual, asegúrate de ver el video (en el video en 00:00).

Hardware explicado

El componente principal de este proyecto es el teclado matricial 4x4, que consta de 16 botones dispuestos en una cuadrícula. Cada botón se conecta a un pin específico del Arduino, lo que le permite detectar cuándo se presiona un botón. El teclado funciona mediante un método de escaneo matricial, en el que las filas y las columnas se activan en secuencia para determinar qué tecla se ha pulsado.

Para conectar el teclado matricial, necesitarás usar ocho pines digitales del Arduino. Las filas suelen conectarse a los pines 2 a 5, mientras que las columnas se conectan a los pines 6 a 9. Esta disposición permite al Arduino leer el estado de cada tecla de manera efectiva.

Detalles de la hoja de datos

ancho69 mm
Longitud76 mm
Longitud del cable84 mm
Ancho del conector20 mm
Espaciado entre orificios del conector2,56 mm

  • Asegúrese de cablear correctamente los pines de filas y columnas para evitar lecturas incorrectas.
  • Utilice resistencias pull-up si es necesario para estabilizar las lecturas de entrada.
  • Elimine el rebote de las teclas por software para evitar lecturas múltiples de una sola pulsación.
  • Pruebe cada tecla individualmente para asegurar su funcionamiento.
  • Mantenga el teclado seco y limpio para mantener el rendimiento.

Instrucciones de cableado

Arduino wiring for 4x4 soft keypad
Arduino wiring for 4x4 soft keypad

Conecte los pines de las filas del teclado a los pines digitales del Arduino de la siguiente manera: conecte la primera fila al pin2, la segunda fila para fijar3, la tercera fila para fijar4, y la cuarta fila para sujetar5. Para los pines de columna, conecta la primera columna al pin6, la segunda columna para fijar7, la tercera columna para fijar8, y la cuarta columna para fijar9.

Esta configuración permite que el Arduino recorra las filas y columnas de manera eficiente. Asegúrate de verificar dos veces las conexiones para garantizar que cada pin corresponda correctamente a su fila o columna designada. En el video se discuten brevemente configuraciones alternativas de cableado (en el video en 01:15). Si decides cablear de forma diferente, simplemente actualiza los números de los pines en el código en consecuencia.

Ejemplos de código y guía paso a paso

En el código, empezamos por incluir elKeypadbiblioteca y la definición del diseño del teclado. Las filas y columnas se configuran usando arreglos, donderowPinsmapea a los pines digitales conectados a las filas ycolPinscorresponde a las columnas.

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

En este extracto definimos el número de filas y columnas, así como la disposición de caracteres de las teclas. Esta configuración es crucial para identificar qué tecla se ha pulsado en función de la fila y la columna activadas.

void setup(){
  Serial.begin(9600);
}

ElsetupLa función inicializa la comunicación serie a 9600 baudios. Esto es importante para enviar los datos de pulsaciones de teclas al monitor serie para depuración y verificación.

void loop(){
  char key = keypad.getKey();
  if (key){
    Serial.println(key);
  } 
  if (key =='4'){
    Serial.println("Key 4 is pressed");
  }
}

En elloopfunción, comprobamos continuamente si se ha pulsado una tecla usandokeypad.getKey(). Si se pulsa una tecla, imprime el valor de la tecla en el monitor serial. Además, si se pulsa la tecla '4', imprime un mensaje específico indicando que la tecla '4' ha sido activada. Esta sección del código permite la interacción en tiempo real basada en la entrada del usuario.

Demostración / Qué esperar

Una vez que todo esté configurado y el código se haya subido a tu Arduino, deberías ver las teclas pulsadas mostradas en el Monitor Serie. Si presionas la tecla '4', aparecerá el mensaje "Key 4 is pressed", confirmando que la entrada se detectó correctamente. Ten cuidado con los errores comunes, como entradas flotantes o un cableado incorrecto, que pueden dar lugar a lecturas erróneas (en el video a las 02:30).

Marcas de tiempo del video

  • 00:00- Introducción al teclado
  • 01:15- Instrucciones de cableado
  • 02:30- Explicación del código y demostración

Imágenes

4x4 soft keypdad back view
4x4 soft keypdad back view
4x4 soft keypdad
4x4 soft keypdad
4x4 soft keypdad connector
4x4 soft keypdad connector
4x4 soft keypdad
4x4 soft keypdad
Arduino wiring for 4x4 soft keypad
Arduino wiring for 4x4 soft keypad
41-Resources for this code
Idioma: C++
¡Copiado!

Cosas que podrías necesitar

Recursos y referencias

Aún no hay recursos.

Archivos📁

Bibliotecas de Arduino (zip)