• Skip to main content
  • Skip to primary sidebar

Homemade Circuit Projects

Need circuit help? Post them in the comments! I've answered over 50,000!

Blog | Categories | About | Contact | Calculators-online
You are here: Home / Arduino Projects / Arduino LCD KeyPad Shield (SKU: DFR0009) Datasheet

DIY Circuits | Learn Basics | Arduino Coding




Arduino LCD KeyPad Shield (SKU: DFR0009) Datasheet

Last Updated on December 5, 2024 by Swagatam Leave a Comment

The write up explains the pinout and working details of the LCD module "Arduino LCD KeyPad Shield (SKU: DFR0009)" which is specifically manufactured for offering a quick plug-in compatibility for all Arduino based applications which may require displaying a particular parameter in digits, such as temperature, speed, time, weight etc.

Arduino LCD KeyPad Shield (SKU: DFR0009)

The LCD Keypad Shield is specifically created for working uniquely with Arduino boards, with a mission to allow a hassle-free and user-friendly interfacing operations for the users.

With this module users can now get well versed with the menu, and choose the variants as per their specific application conditions and desirability.

The Arduino LCD KeyPad Shield (SKU: DFR0009) module is designed with 1602 white digital characters, over a bright blue backlight Liquid crystal display panel.

It features a keypad with 5 keys, configured to deliver exclusive functions such as select, up, right, down, and left.

The module includes a digital IO (input/output) saving ability through a single analogue to digital converter or ADC channel.

The key pressing command is identified internally via a 5-stage potential divider network.

The explained Arduino LCD KeyPad Shield (SKU: DFR0009)  LCD module has become pretty popular due to its easy compatibility with Arduino boards.

The display is made up of 2 by 16 LCD slots, assisted with 6 push to ON switches. Pin#4,5,6,7,8,9 and 10 work together for interfacing with an Arduino board.

The analogue pin#0 is assigned to scan the push button commands.

The module features an attached contrast adjustment control, and a back light ON/OFF option button.

The system also offers an expandable analogue pinouts for an hassle-free analogue sensor readability and presentation.

More details are enclosed HERE

Image courtesy: https://www.dfrobot.com/wiki/index.php?title=File:DSC0410.jpg

The Main Features Included in a Arduino LCD KeyPad Shield (SKU: DFR0009) are:

  • Operating Voltage: 5V
  • 5 Push-to-ON buttons for toggling a custom menu panel for the intended selections.
  • RST button offers resetting of the concerned arduino program
  • Integrate a potentiometer for adjusting the back light
  • Available I/O pins are expandable
  • Analog Pinout expandable using standard DFRobot configuration for an enhanced sensor extension
  • Ideally suited Dimension: 80 x 58 mm

Library Explanation

Function Explanation

LiquidCrystal(rs, enable, d4, d5, d6, d7)

Generates a variable alternative of Liquid Crystal. The display screen can be commanded by means of the 4 or 8 data lines. If the first, pin numbers for d0 to d3 may be eliminated and maintain the relevant lines unused.

The RW pinout may be recommended to be connected with the ground rather than connecting to a pin over the Arduino board; in such a case, you may want to eliminate it from this function's parameters.

You may consider the following example for the same:

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

lcd.begin(cols, rows)

Triggers the interfacing of the LCD screen display, and assigns the
dimensions (width and height) to the display reading. begin() demands to be called prior to any different LCD library prompt, as an example:

lcd.begin(16, 2);

lcd.setCursor(col,row)

Fixes the location wherein the following inputs written to the LCD may become visible, for instance:

lcd.setCursor(0,0);

lcd.print(data)

Prints text for the LCD display, for example:

lcd.print("hello, world!");

lcd.write(data)

Writes a character for the LCD screen.

Example

The following example examines the LCD panel and the featured buttons. As soon as the user presses
the button over the shield,the screen instantly illuminates the relevant prompts.

Connection details: Simply Plug-in the LCD Keypad to the Arduino  board such as an UNO (or any similar controllers)

/*****************************************************************************
 
  Mark Bramwell, July 2010
 https://www.dfrobot.com/wiki/index.php?title=File:DSC0410.jpg
  This program will test the LCD panel and the
buttons.When you push the button on the shield,
  the screen will show the corresponding one.
 
  Connection: Plug the LCD Keypad to the UNO(or
other controllers)
 
*****************************************************************************/
 
 #include <LiquidCrystal.h>
 
 LiquidCrystal lcd(8, 9, 4, 5, 6,
7);           // select the
pins used on the LCD panel
 
 // define some values used by the panel and buttons
int lcd_key     = 0;
int adc_key_in  = 0;
 
#define btnRIGHT  0
#define btnUP     1
#define btnDOWN   2
#define btnLEFT   3
#define btnSELECT 4
#define btnNONE   5
 
int read_LCD_buttons(){
// read the buttons
    adc_key_in =
analogRead(0);       // read the value from the
sensor
 
    // my buttons when read are
centered at these valies: 0, 144, 329, 504, 741
    // we add approx 50 to those
values and check to see if we are close
    // We make this the 1st option for
speed reasons since it will be the most likely result
 
    if (adc_key_in > 1000) return btnNONE;
 
    // For V1.1 us this threshold
    if (adc_key_in <
50)   return btnRIGHT;
    if (adc_key_in < 250)
return btnUP;
    if (adc_key_in < 450)
return btnDOWN;
    if (adc_key_in < 650)
return btnLEFT;
    if (adc_key_in < 850)
return btnSELECT;
 
   // For V1.0 comment the other threshold
and use the one below:
   /*
     if (adc_key_in <
50)   return btnRIGHT;
     if (adc_key_in <
195)  return btnUP;
     if (adc_key_in <
380)  return btnDOWN;
     if (adc_key_in <
555)  return btnLEFT;
     if (adc_key_in <
790)  return btnSELECT;
   */
 
    return btnNONE;
// when all others fail, return this.
}
 
void setup(){
   lcd.begin(16,
2);
// start the library
   lcd.setCursor(0,0);
// set the LCD cursor   position
   lcd.print("Push the
buttons");  // print a simple message on the LCD
}
 
void loop(){
   lcd.setCursor(9,1);
// move cursor to second line "1" and 9 spaces over
   lcd.print(millis()/1000);
// display seconds elapsed since power-up
 
   lcd.setCursor(0,1);
// move to the begining of the second line
   lcd_key =
read_LCD_buttons();   // read the buttons
 
   switch (lcd_key){
// depending on which button was pushed, we perform an action
 
       case btnRIGHT:{
//  push button "RIGHT" and show the word on the screen
            lcd.print("RIGHT
");
            break;
       }
       case btnLEFT:{
             lcd.print("LEFT
"); //  push button "LEFT" and show the word on the
screen
             break;
       }
       case btnUP:{
             lcd.print("UP
");  //  push button "UP" and show the word on the
screen
             break;
       }
       case btnDOWN:{
             lcd.print("DOWN
");  //  push button "DOWN" and show the word on the
screen
             break;
       }
       case btnSELECT:{
             lcd.print("SELECT");
//  push button "SELECT" and show the word on the screen
             break;
       }
       case btnNONE:{
             lcd.print("NONE
");  //  No action  will show "None" on the
screen
             break;
       }
   }
}

You'll also like:

  • CircuitDigital Weighing Scale Using Load Cell and Arduino
  • How to Identify Component Specifications in Schematics
  • IC 4043 dtasheet pinoutUnderstanding IC 4043B, IC 4044B CMOS Quad 3-State R/S Latch – Working and Pinouts
  • home protector circuit using LM358IC LM358 Datasheet and Specifications

Filed Under: Arduino Projects, Datasheets and Components Tagged With: Arduino, DFR0009, KeyPad, LCD, Shield, SKU

About Swagatam

I am an electronics engineer and doing practical hands-on work from more than 15 years now. Building real circuits, testing them and also making PCB layouts by myself. I really love doing all these things like inventing something new, designing electronics and also helping other people like hobby guys who want to make their own cool circuits at home.

And that is the main reason why I started this website homemade-circuits.com, to share different types of circuit ideas..

If you are having any kind of doubt or question related to circuits then just write down your question in the comment box below, I am like always checking, so I guarantee I will reply you for sure!

Previous Post: « Arduino RGB Flowing Sequential Light Circuit
Next Post: Making an Automatic Stopwatch for Runners, Athletes and Sportpersons »

Reader Interactions

Need Help? Please Leave a Comment! We value your input—Kindly keep it relevant to the above topic! Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

circuit simulator image



Subscribe to get New Circuits in your Email



Categories

  • Arduino Projects (93)
  • Audio and Amplifier Projects (133)
  • Automation Projects (17)
  • Automobile Electronics (101)
  • Battery Charger Circuits (85)
  • Datasheets and Components (109)
  • Electronics Theory (149)
  • Energy from Magnets (27)
  • Games and Sports Projects (11)
  • Grid and 3-Phase (20)
  • Health related Projects (27)
  • Home Electrical Circuits (13)
  • Indicator Circuits (16)
  • Inverter Circuits (95)
  • Lamps and Lights (159)
  • Meters and Testers (71)
  • Mini Projects (28)
  • Motor Controller (68)
  • Oscillator Circuits (28)
  • Pets and Pests (15)
  • Power Supply Circuits (91)
  • Remote Control Circuits (50)
  • Renewable Energy (12)
  • Security and Alarm (64)
  • Sensors and Detectors (106)
  • SMPS and Converters (34)
  • Solar Controller Circuits (60)
  • Temperature Controllers (43)
  • Timer and Delay Relay (49)
  • Voltage Control and Protection (42)
  • Water Controller (36)
  • Wireless Circuits (30)





Other Links

  • Privacy Policy
  • Cookie Policy
  • Disclaimer
  • Copyright
  • Videos
  • Sitemap



People also Search

555 Circuits | 741 Circuits | LM324 Circuits | LM338 Circuits | 4017 Circuits | Ultrasonic Projects | SMPS Projects | Christmas Projects | MOSFETs | Radio Circuits | Laser Circuits | PIR Projects |

Social Profiles

  • Twitter
  • YouTube
  • Instagram
  • Pinterest
  • My Facebook-Page
  • Stack Exchange
  • Linkedin



Recent Comments

  • Swagatam on Arduino 2-Step Programmable Timer Circuit
  • Swagatam on Automatic Street Light Dimmer Circuit
  • Ghulam Mohio Din on Automatic Street Light Dimmer Circuit
  • Swagatam on Motorcycle Voltage Regulator Circuits
  • Swagatam on 5 Simple DC Motor Speed Controller Circuits Explained

© 2026 · Swagatam Innovations