Character LCD 2×16 Keypad Shield

In Stock
EGP100.00 EGP85.00
In Stock
Other people want this. 1 people have this in their carts right now.


LCD Keypad Shield LCD1602 LCD 1602 Module Display For Arduino ATMEGA328 ATMEGA2560 raspberry pi UNO blue screen

Product features

A specially designed dot matrix LCD module which is used for displaying letters, numbers and symbols etc.

Consists of several 5X7 or 5X11 other dot matrix character bits. The interval exists between each line or each bit to create a good character spacing and row spacing effect.

Based on HD44780 LCD chip and adopts standard 16-pin interface.

It has a contrast adjustment knob, backlight selection switch, but also with four directional buttons, a selection button and a reset button.

This 1602 LCD expansion board in the true sense of the circuit will be simplified, directly to the board inserted for Arduino Duemilanove controller can be.

Product description

1602 LCD module read and write operations, screen and cursor operations are programmed to achieve through the instructions.

Note: 1- High level, 0 -Low level)

Instruction1: clear display, instruction 01H, cursor reset to address 00H position.

Instruction 2: The cursor is reset and the cursor returns to address 00H.

Instruction 3: Cursor and display mode setting I / D: cursor movement direction, high level shift right, low left shift S: whether all the text on the screen left or right. High level is valid, low level is invalid.

Instruction 4: Display switch control. D: control the overall display of the open and close, high level that open display, low level that off display C: control the cursor on and off, high level that has a cursor, low level that no cursor B: control whether the cursor Flashing, high level flashing, low level does not blink.

Instruction 5: Cursor or display shift S / C: Move the displayed text at high level, move the cursor at low level.

Instruction 6: Function setting command DL: 4-bit bus at high level, 8-bit bus at low level N: Single-line display at low level, double-line display at high level F: 5×7 dot matrix character when low level is displayed, High-level display of 5×10 dot matrix characters.

Instruction 7: Character generator RAM address setting.

Instruction 8: DDRAM address setting.

Instruction 9: read busy signal and cursor address BF: busy flag, high level that busy, then the module cannot connect Receive the command or data, if the low level that is not busy.

Instruction 10: Write data.

Instruction 11: Read data.

Package Included:

1*LCD1602 Input / Output expansion board LCD Keypad Shield


  • How to control the Keypad and make selects

The following sample code is to introduce how to use this shows what key you pressed down and the system time.
1.Hardware connection
Plug it into the Arduino.

LCD Keypad Shield hardware connect.jpg
2.Download the File:LiquidCrystal library.
3.Unzip it into the libraries file of Arduino IDE by the path: ..\arduino-1.0\libraries.
4.Copy and paste code below to a new Arduino sketch.

* Created by
* Function: this program will test the LCD panel and the buttons
//Sample using LiquidCrystal library
#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 8, rw = 11 , en = 9, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd(rs, rw, en, d4, d5, d6, d7);

#define lcdbacklight 10

int adc_key_val[5] = {0, 140, 330, 500, 780 };
int NUM_KEYS = 5;
int adc_key_in;
int key = -1;
int oldkey = -1;

void setup() {
pinMode(13, OUTPUT); //we'll use the debug LED to output a heartbeat
//optionally, now set up our application-specific display settings, overriding whatever the lcd did in lcd.init()
//lcd.commandWrite(0x0F);//cursor on, display on, blink on. (nasty!)
lcd.print("KEYPAD testing..");
lcd.setCursor(0, 1);
lcd.print(" pressing ");
lcd.print(" press any key ");


void loop() {

adc_key_in = analogRead(0); // read the value from the sensor
//digitalWrite(lcdbacklight, HIGH);
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)
oldkey = key;
if (key >= 0) {

switch (key) {
case 0:
lcd.print(" Right Key OK ");
case 1:
lcd.print(" Up Key OK ");
case 2:
lcd.print(" Down Key OK ");
case 3:
lcd.print(" Left Key OK ");
case 4:
lcd.print(" Select Key OK ");
key = -1;






void lcdint()
pinMode(lcdbacklight, OUTPUT);
digitalWrite(lcdbacklight, HIGH);
digitalWrite(lcdbacklight, LOW);
digitalWrite(lcdbacklight, HIGH);
lcd.begin(16, 2);


// 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;



5.Upload the code,the LCD will display the button which you press.
LCD Keypad display.jpg LCD Keypad display1.jpg LCD Keypad display2.jpg


There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the comparison bar
Compare ×
Let's Compare! Continue shopping