Arduino - Teclado - LCD

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 I2C 16x2
1×(Alternativo) LCD I2C 20x4
1×Teclado 3x4 and 4x4 Kit
1×(Alternativo) Teclado 3x4
1×(Alternativo) Teclado 4x4
1×Protoboard
1×Cables Puente
1×(Recomendado) Shield de Bloque de Terminales de Tornillo para Arduino Uno
1×(Recomendado) Sensors/Servo Expansion Shield for 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 (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.

Buy Note: Alternatively, you can assemble the LCD I2C display using LCD 1602 Display and PCF8574 I2C Adapter Module.

Acerca del teclado numérico y la pantalla LCD

Si no sabes sobre el teclado y la pantalla LCD (pinout, cómo funciona, cómo programarlos...), aprende sobre ellos en los siguientes tutoriales:

Diagrama de Cableado

Diagrama de cableado de Arduino para teclado LCD

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-keypad-lcd */ #include <Keypad.h> #include <DIYables_LCD_I2C.h> const int ROW_NUM = 4; // four rows const int COLUMN_NUM = 4; // four columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3', 'A'}, {'4','5','6', 'B'}, {'7','8','9', 'C'}, {'*','0','#', 'D'} }; byte pin_rows[ROW_NUM] = {9, 8, 7, 6}; // connect to the row pinouts of the keypad byte pin_column[COLUMN_NUM] = {5, 4, 3, 2}; // connect to the column pinouts of the keypad Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); DIYables_LCD_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows int cursorColumn = 0; void setup(){ lcd.init(); // initialize the lcd lcd.backlight(); } void loop(){ char key = keypad.getKey(); if (key) { lcd.setCursor(cursorColumn, 0); // move cursor to (cursorColumn, 0) lcd.print(key); // print key at (cursorColumn, 0) cursorColumn++; // move cursor to next position if(cursorColumn == 16) { // if reaching limit, clear LCD lcd.clear(); cursorColumn = 0; } } }

※ Nota:

La dirección I2C del LCD puede variar según los fabricantes. En el código, usamos 0x27, que está especificado por el fabricante DIYables.

Pasos R\u00e1pidos

  • Conecta Arduino al PC mediante un cable USB
  • Abre Arduino IDE, selecciona la placa correcta y el puerto correcto
  • Navega hasta el icono Bibliotecas en la barra izquierda del Arduino IDE
  • Busca “keypad”, luego encuentra la biblioteca keypad de Mark Stanley, Alexander Brevig
  • Haz clic en el botón Instalar para instalar la biblioteca keypad
Biblioteca de teclado para Arduino
  • Busca “DIYables LCD I2C”, luego localiza la biblioteca DIYables_LCD_I2C de DIYables
  • Haz clic en el botón Instalar para instalar la biblioteca DIYables_LCD_I2C.
Biblioteca DIYables LCD I2C de Arduino
  • Copia el código anterior y ábrelo con Arduino IDE
  • Haz clic en el botón Subir de Arduino IDE para subir el código a Arduino
Subir código al IDE de Arduino
  • Presione algunas teclas en el teclado numérico
  • Vea el resultado en la pantalla LCD

Si el LCD no muestra nada, consulte Solución de problemas en LCD I2C

Explicación del código

¡Lee la explicación línea por línea en los comentarios del código fuente!

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!