Arduino - Escudo LCD con teclado

El escudo LCD Keypad para Arduino es un módulo útil que combina una pantalla LCD 16x2 con seis botones (Derecha, Arriba, Abajo, Izquierda, Seleccionar y Reiniciar) para la interacción del usuario. Este tutorial le guiará para configurar y programar este escudo utilizando una placa Arduino.

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×LCD Keypad Shield
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 escudo LCD con teclado

El escudo LCD con teclado tiene:

  • Una pantalla LCD 16x2 controlada por la biblioteca LiquidCrystal
  • 5 botones pulsadores conectados a una única entrada analógica (A0)
  • Un botón de reinicio para reiniciar el Arduino
  • Un potenciómetro para ajustar el contraste de la pantalla LCD

Esquema de pines

Pinout del escudo LCD con teclado

La tabla a continuación ilustra la asignación de pines entre el escudo LCD con teclado y el Arduino cuando el escudo está montado en la placa.

Shield Pin Function Arduino Pin
DB4 Data 4
DB5 Data 5
DB6 Data 6
DB7 Data 7
RS Register Select 8
E Enable 9
Analog A0 Button Input A0

Botón de reinicio

El escudo incluye un botón de reinicio, que está conectado al pin de reinicio del Arduino. Al presionar este botón, se reiniciará el Arduino, reiniciando así el programa.

Potenciómetro

El escudo cuenta con un pequeño potenciómetro cerca de la pantalla LCD. Esto se utiliza para ajustar el contraste de la pantalla LCD. Si el texto no es legible, intente girar el potenciómetro lentamente para mejorar la visibilidad.

Diagrama de Cableado

Simplemente conecte el escudo LCD Keypad a su placa Arduino. Los pines se alinearán automáticamente.

Diagrama de cableado del escudo LCD con teclado de Arduino

This image is created using Fritzing. Click to enlarge image

Código de Arduino

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-lcd-keypad-shield */ #include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7); void setup() { Serial.begin(9600); Serial.println("Started"); // Debugging lcd.begin(16, 2); lcd.print("Hello!"); delay(3000); } void loop() { int key = analogRead(A0); //Serial.println(key); // Debugging lcd.clear(); if (key < 50) lcd.print("RIGHT"); else if (key < 200) lcd.print("UP"); else if (key < 400) lcd.print("DOWN"); else if (key < 600) lcd.print("LEFT"); else if (key < 800) lcd.print("SELECT"); else if (key < 1000) lcd.print("RST"); // If RST has a value, add here else lcd.print("Press key!"); delay(200); }

Pasos R\u00e1pidos

  • Coloca el LCD Keypad Shield sobre Arduino
  • Conecta Arduino a la PC mediante un cable USB
  • Abre el IDE de Arduino, selecciona la placa y el puerto correctos
  • Copia el código anterior y pégalo en el IDE de Arduino
  • Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino
  • Presiona cada botón del escudo uno por uno y verifica si aparece el texto correspondiente en la pantalla LCD
  • Verifica el resultado en la pantalla LCD

Si la pantalla LCD permanece en blanco, asegúrese de:

  • El escudo está correctamente conectado al Arduino.
  • El potenciómetro está ajustado para un contraste adecuado.
  • El código cargado coincide con el ejemplo proporcionado.
  • La placa Arduino está alimentada correctamente.

Seguir estos pasos debería ayudar a que tu Arduino LCD Keypad Shield funcione correctamente.

Para obtener más funciones para controlar la pantalla LCD, consulte este Arduino LiquidCrystal LCD tutorial.

Para mejorar la modularidad y la legibilidad, reorganizamos el código anterior en funciones separadas:

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-lcd-keypad-shield */ #include <LiquidCrystal.h> // Define constants for key representations const int KEY_RIGHT = 0; const int KEY_UP = 1; const int KEY_DOWN = 2; const int KEY_LEFT = 3; const int KEY_SELECT = 4; const int KEY_NONE = 5; LiquidCrystal lcd(8, 9, 4, 5, 6, 7); int getKey() { int analogValue = analogRead(A0); //Serial.println(analogValue); // Debugging if (analogValue < 50) return KEY_RIGHT; else if (analogValue < 200) return KEY_UP; else if (analogValue < 400) return KEY_DOWN; else if (analogValue < 600) return KEY_LEFT; else if (analogValue < 800) return KEY_SELECT; else return KEY_NONE; } void setup() { Serial.begin(9600); Serial.println("Started"); // Debugging lcd.begin(16, 2); lcd.print("Hello!"); delay(3000); } void loop() { lcd.clear(); int key = getKey(); switch (key) { case KEY_RIGHT: lcd.print("RIGHT"); break; case KEY_UP: lcd.print("UP"); break; case KEY_DOWN: lcd.print("DOWN"); break; case KEY_LEFT: lcd.print("LEFT"); break; case KEY_SELECT: lcd.print("SELECT"); break; default: lcd.print("Press key!"); break; } delay(200); }

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

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