- This is a 16×2 LCD Keypad module for Arduino Diecimila Duemilanove, UNO, MEGA1280, MEGA2560 board.
- Blue Backlight with white words, adjustable backlighting.
- 4 Bit Arduino LCD Library
Téléchargez la librairie LCDKeypad.
Ne pas utiliser les pins 5, 6, 7, 8, 13 et A0. D10 is used to control the backlight of the LCD (0 = light off, 1 = light is on)
test code
#include <LiquidCrystal.h> #include <LCDKeypad.h> LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7); char msgs[5][16] = {"Right Key OK ", "Up Key OK ", "Down Key OK ", "Left Key OK ", "Select Key OK" }; int adc_key_val[5] ={50, 200, 400, 600, 800 }; int NUM_KEYS = 5; int adc_key_in; int key=-1; int oldkey=-1; void setup() { lcd.begin(16, 2); lcd.clear(); lcd.setCursor(0,0); lcd.print(" helle! "); lcd.print(" welcome!"); lcd.setCursor(0,1); lcd.print(" LinkSprite"); lcd.print(" LCD Shield"); delay(1000); lcd.setCursor(0,0); for (char k=0;k<26;k++) { lcd.scrollDisplayLeft(); delay(400); } lcd.clear(); lcd.setCursor(0,0); lcd.print("ADC key testing"); } void loop() { adc_key_in = analogRead(0); // read the value from the sensor key = get_key(adc_key_in); // convert into key press if (key != oldkey) // if keypress is detected { delay(50); // wait for debounce time adc_key_in = analogRead(0); // read the value from the sensor key = get_key(adc_key_in); // convert into key press if (key != oldkey) { lcd.setCursor(0, 1); oldkey = key; if (key >=0) { lcd.print(msgs[key]); } } } delay(100); } // Convert ADC value to key number int get_key(unsigned int input) { int k; for (k = 0; k < NUM_KEYS; k++) { if (input < adc_key_val[k]) { return k; } } if (k >= NUM_KEYS)k = -1; // No valid key pressed return k; }
Références :
http://linksprite.com/wiki/index.php5?title=16_X_2_LCD_Keypad_Shield_for_Arduino
http://www.sainsmart.com/sainsmart-1602-lcd-keypad-shield-for-arduino-duemilanove-uno-mega2560-mega1280.htmlhttp://www.sainsmart.com/sainsmart-1602-lcd-keypad-shield-for-arduino-duemilanove-uno-mega2560-mega1280.html