2 //example use of LCD4Bit_mod library
\r
4 #include <LCD4Bit_mod.h>
\r
5 //create object to control an LCD.
\r
6 //number of lines in display=1
\r
7 LCD4Bit_mod lcd = LCD4Bit_mod(2);
\r
10 char msgs[5][15] = {"Right Key OK ",
\r
15 int adc_key_val[5] ={30, 150, 360, 535, 760 };
\r
22 pinMode(13, OUTPUT); //we'll use the debug LED to output a heartbeat
\r
25 //optionally, now set up our application-specific display settings, overriding whatever the lcd did in lcd.init()
\r
26 //lcd.commandWrite(0x0F);//cursor on, display on, blink on. (nasty!)
\r
28 lcd.printIn("KEYPAD testing... pressing");
\r
33 adc_key_in = analogRead(0); // read the value from the sensor
\r
34 digitalWrite(13, HIGH);
\r
35 key = get_key(adc_key_in); // convert into key press
\r
37 if (key != oldkey) // if keypress is detected
\r
39 delay(50); // wait for debounce time
\r
40 adc_key_in = analogRead(0); // read the value from the sensor
\r
41 key = get_key(adc_key_in); // convert into key press
\r
46 lcd.cursorTo(2, 0); //line=2, x=0
\r
47 lcd.printIn(msgs[key]);
\r
53 digitalWrite(13, LOW);
\r
61 // Convert ADC value to key number
\r
62 int get_key(unsigned int input)
\r
66 for (k = 0; k < NUM_KEYS; k++)
\r
68 if (input < adc_key_val[k])
\r
76 k = -1; // No valid key pressed
\r