Arduino Project Hub
Project tutorial

OSEPP LCD and keypad shield

A guide on how to use the OSEPP LCD and keypad shield.

  • 19,776 views
  • 20 comments
  • 23 respects

Components and supplies

Apps and online services

About this project

Welcome to my second guide!


In this short guide, I will show you how to get the OSSEP LCD and Keypad shield set up!

(This guide will be a less wordy and confusing than the guide I made.)


Step 1:  Gather your materials

You will need to get these three items prepared


1. Arduino uno

2.The OSSEP LCD and keypad shield          

3.OSSEP library  (http://osepp.com/wp-content/uploads/2013/06/LCDKeypad.zip)

(download is at the bottom of the page, named OSEPP 16x2SHD-01 Example Software)

                                                                                       ^^^don't use this link^^^

Step 2: attach the shield


Step 3:  Set up the code and run it

First, attach the library to the arduino IDE.  Go to Sketch>Librarys>add .zip files and select the zip file.

Now, plug in the arduino and run the code.  ( you can download this if you scroll down or by accessing the .zip library)  

This is what should happen - 

The LCD screen should display the name of the button you are pressing.  It also counts in seconds infinitely.  (sorry for no video, the LCD was to bright and the words came out backwards like a mirror)


Congratulations!


final tips - 

DON'T USE THESE PINS - 5, 6, 7, 8, 13, and A0.  The LCD and keypad needs them to run

BE CAREFUL OF HOW YOU HOLD IT - only hold the arduino by its side or have it on a non conductive surface when using this shield.  The results of touching the bottom are not bad but can mess up the LCD screen.  if it does happen, reset the arduino and you should be fine.

for more info, visit 

http://osepp.com/products/shield-arduino-compatible/16x2-lcd-display-keypad-shield/

If anyone has any questions, put them in the comments and I will try to answer them.

Thank you!


Code

Here is the codeC/C++
You can also access this code through the .zip fie
//Sample using LiquidCrystal library
#include <LiquidCrystal.h>
 
// select the pins used on the LCD panel
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
 
// 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
 
// read the buttons
int read_LCD_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
 if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
 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);
 lcd.print("Push the buttons"); // print a simple message
}
  
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:
     {
     lcd.print("RIGHT ");
     break;
     }
   case btnLEFT:
     {
     lcd.print("LEFT   ");
     break;
     }
   case btnUP:
     {
     lcd.print("UP    ");
     break;
     }
   case btnDOWN:
     {
     lcd.print("DOWN  ");
     break;
     }
   case btnSELECT:
     {
     lcd.print("SELECT");
     break;
     }
     case btnNONE:
     {
     lcd.print("NONE  ");
     break;
     }
 }
 
}

Comments

Similar projects you might like

Arduino morse code machine

Project tutorial by Vlada Krsmanovic

  • 267 views
  • 0 comments
  • 6 respects

Arduino 101 - Intel Curie Pattern Matching Dress

Project tutorial by Kitty Yeung

  • 1,238 views
  • 2 comments
  • 13 respects

Arduino Laser Tripwire

Project tutorial by Ian Cumming

  • 1,622 views
  • 1 comment
  • 14 respects

Smart Home Sensor Node

Project in progress by vincent wong

  • 233 views
  • 0 comments
  • 2 respects

Magnetic Stirrer

Project showcase by jdale18

  • 531 views
  • 7 comments
  • 3 respects

LOFI Blocks

by LOFI Robot

  • 106 views
  • 0 comments
  • 2 respects
Add projectSign up / Login