#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display
/*
* keypad example.
*/
// analog pin connected to keypad
#define KEYPAD_PIN 0
// milliseconds to wait, to make sure key is pressed
#define TIME_TO_WAIT 50
void setup()
{
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(1, 0);
lcd.print("Hello, world!");
lcd.setCursor(0, 1);
lcd.print("LiquidCrystalI2C");
Serial.begin(9600);
}
void loop()
{
// reading once
int r1 = analogRead(KEYPAD_PIN) / 10 * 10;
// waiting
delay(TIME_TO_WAIT);
// reading 2nd time - to make sure key is pressed for at least TIME_TO_WAIT milliseconds
int r2 = analogRead(KEYPAD_PIN) / 10 * 10;
if (r1 == r2) {
switch (r1) {
case 350: lcd.setCursor(0, 1); lcd.println(" 0 "); break;
case 270: lcd.setCursor(0, 1); lcd.println(" 1 "); break;
case 360: lcd.setCursor(0, 1); lcd.println(" 2 "); break;
case 120: lcd.setCursor(0, 1); lcd.println(" 3 "); break;
case 210: lcd.setCursor(0, 1); lcd.println(" 4 "); break;
case 330: lcd.setCursor(0, 1); lcd.println(" 5 "); break;
case 0 : lcd.setCursor(0, 1); lcd.println(" 6 "); break;
case 240: lcd.setCursor(0, 1); lcd.println("7"); break;
case 340: lcd.setCursor(0, 1); lcd.println("8"); break;
case 50 : lcd.setCursor(0, 1); lcd.println("9"); break;
case 250: lcd.setCursor(0, 1); lcd.println("*"); break;
case 80 : lcd.setCursor(0, 1); lcd.println("#"); break;
}
}
}