ElectroPeak
Published © GPL3+

Using 1602 LCD Keypad Shield w/ Arduino [w/ Examples]

In this tutorial, you’ll learn how to use Arduino LCD keypad shield with 3 practical projects.

BeginnerProtip2 hours184,458
Using 1602 LCD Keypad Shield w/ Arduino [w/ Examples]

Things used in this project

Hardware components

Arduino Uno R3
×1
ElectroPeak 1602 LCD Keypad Shield For Arduino
×1

Software apps and online services

Arduino IDE

Story

Read more

Code

code 1

Arduino
/*
Arduino 2x16 LCD - Detect Buttons
modified on 18 Feb 2019
by Saeed Hosseini @ Electropeak
https://electropeak.com/learn/
*/

#include <LiquidCrystal.h>

//LCD pin to Arduino
const int pin_RS = 8; 
const int pin_EN = 9; 
const int pin_d4 = 4; 
const int pin_d5 = 5; 
const int pin_d6 = 6; 
const int pin_d7 = 7; 

const int pin_BL = 10; 

LiquidCrystal lcd( pin_RS,  pin_EN,  pin_d4,  pin_d5,  pin_d6,  pin_d7);

void setup() {
  
  lcd.begin(16, 2);

  lcd.setCursor(0,0);

  lcd.print("Electropeak.com");
  lcd.setCursor(0,1);
  lcd.print("Press Key:");
}

void loop() {
  int x;
  x = analogRead (0);
  lcd.setCursor(10,1);
  if (x < 60) {
    lcd.print ("Right ");
  }
  else if (x < 200) {
    lcd.print ("Up    ");
  }
  else if (x < 400){
    lcd.print ("Down  ");
  }
  else if (x < 600){
    lcd.print ("Left  ");
  }
  else if (x < 800){
    LCD.print ("Select");
  }
}

code 2

Arduino
How to scroll a text
/*
Arduino 2x16 LCD - LCD Scroll
modified on 18 Feb 2019
by Saeed Hosseini
https://electropeak.com/learn/
*/
#include 

const int RS = 8;
const int EN = 9;
const int d4 = 4;
const int d5 = 5;
const int d6 = 6;
const int d7 = 7;

const int pin_BL = 10; // arduino pin wired to LCD backlight circuit

LiquidCrystal lcd( RS,  EN,  d4,  d5,  d6,  d7);

void setup() {

  lcd.begin(16, 2);
  
  lcd.print("Electropeak");
  delay(1000);
}

void loop() {
  // scroll 11 positions ("Electropeak" length) to the left
  for (int positionCounter = 0; positionCounter < 11; positionCounter++) {
    lcd.scrollDisplayLeft();
    delay(400);  //Scrolling speed
  }

  // scroll 27 positions ("Electropeak" length + display length) to the right
  for (int positionCounter = 0; positionCounter < 27; positionCounter++) {
    lcd.scrollDisplayRight();
    delay(400);
  }

  // scroll 16 positions (display length) to the left
  for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
    lcd.scrollDisplayLeft();
    delay(50);
  }

  delay(1000);

}

code 3

Arduino
How to Display a Specific Character?
/*
Arduino 2x16 LCD - LCD Special Char
modified on 18 Feb 2019
by Saeed Hosseini
https://electropeak.com/learn/
*/

#include  

const int RS = 8;
const int EN = 9;
const int d4 = 4;
const int d5 = 5;
const int d6 = 6;
const int d7 = 7;

const int pin_BL = 10; // arduino pin wired to LCD backlight circuit

LiquidCrystal lcd( RS,  EN,  d4,  d5,  d6,  d7);

// smily face
byte smiley[8] = {
  B00000,
  B10001,
  B00000,
  B00000,
  B10001,
  B01110,
  B00000,
};

// Battery sign
byte battery[] = {
  B01110,
  B01010,
  B11011,
  B10001,
  B11111,
  B11111,
  B11111,
  B11111
};

// arrow right
byte R_arrow[8] = {
  B00000,
  B00100,
  B00010,
  B11111,
  B00010,
  B00100,
  B00000,
  B00000
};

// arrow left
byte L_arrow[8] = {
  B00000,
  B00100,
  B01000,
  B11111,
  B01000,
  B00100,
  B00000,
  B00000
};

// Ohm sign 
byte ohm[8] = {
  B00000,
  B01110,
  B10001,
  B10001,
  B10001,
  B01010,
  B11011,
  B00000
};

// Heart
byte heart[8] = {
  B00000,
  B01010,
  B10101,
  B10001,
  B10001,
  B01010,
  B00100,
  B00000
};




int i = 0;

void setup() {

  lcd.begin(16, 2);

  lcd.createChar(0, smiley);
  lcd.createChar(1, battery);
  lcd.createChar(2, R_arrow);
  lcd.createChar(3, L_arrow);
  lcd.createChar(4, ohm);
  lcd.createChar(5, heart);
  lcd.createChar(6, ohm);



  for (int n = 0; n < 6; n++)
  {
    lcd.setCursor(n * 2, 0);
    lcd.write(n);
  }

}

void loop() {

}

Credits

ElectroPeak

ElectroPeak

57 projects • 736 followers
At ElectroPeak we want to teach you to enjoy electronics more. We offer Top-notch guides and worry-free shopping experience.

Comments