Visualizar datos o interactuar con un menú es ahora más sencillo con el Shield LCD Keypad. El shield cumple la función de Interfaz Hombre-Maquina o HMI, posee una pantalla LCD Alfanumérica como salida de datos y un conjunto de pulsadores como entradas del sistema. Además posee pads para conectar más pulsadores/sensores/salidas.
El shield posee además 6 pulsadores, de los cuales 5 son para entradas y 1 es para Resetear el Arduino. Los 5 pulsadores de entradas (SELECT, UP, DOWN, LEFT, RIGHT) solo hacen uso de 1 pin del Arduino (Pin: A0). Para leer los pulsadores debemos leer el valor analógico en el pin A0, al presionar un pulsador se crea un divisor de voltaje distinto para cada pulsador y de esa forma podemos identificar que pulsador ha sido presionado. Esta técnica de pulsadores nos permite ahorrar pines, pero no permite presionar más de un pulsador a la vez.
- Voltaje de Operación: 5V DC
- LCD Alfanumérico 1602: 2 filas, 16 columnas
- 5 Pulsadores (Arriba, Abajo, Der, Izq, Seleccionar)
- Pulsador de RESET, para reiniciar el programa de Arduino
- Potenciometro para regular el contraste del lcd
- Expansión de pines Analógicos y digitales
- No usar el pin 10 cuando se usa este Shield
CÓDIGO
#include <LiquidCrystal.h>
//LCD pin to Arduino
const int pin_RS = 8;
const int pin_EN = 9;
const int pin_d4 = 4;
const int pin_d5 = 5;
const int pin_d6 = 6;
const int pin_d7 = 7;
const int pin_BL = 10;
LiquidCrystal lcd( pin_RS, pin_EN, pin_d4, pin_d5, pin_d6, pin_d7);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("MakerElectronico");
lcd.setCursor(0,1);
lcd.print("Press Key:");
}
void loop() {
int x;
x = analogRead (0);
lcd.setCursor(10,1);
if (x < 60) {
lcd.print ("Right ");
}
else if (x < 200) {
lcd.print ("Up ");
}
else if (x < 400){
lcd.print ("Down ");
}
else if (x < 600){
lcd.print ("Left ");
}
else if (x < 800){
LCD.print ("Select");
}
}