HELLO THERE!!!
Welcome to the Tinker Hut!!! How are you,guys? I hope everyone is fine and in good condition always. As usual, this week I am going to share with you guys on interfacing of Arduino and DFrobot LCD keypad shield. The objective of this experiment is to setup the LCD shield to Arduino and get the buttons to display some text outputs after pressed.
Ok, let's see the hardware and the software needed for this experiment.
Hardware:
After assembly, connect your Arduino to your laptop/computer. If the shield is connected properly, the LCD and the red light(power) will light up properly. Next, upload the code into the Arduino to test the shield. The code programs the button on the shield to give text output as long as the button is pressed. The code is shown below:
#include<LiquidCrystal.h> // import the liquid crystal lib
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); //the lcd pins in order
int l = 0; // lcd key
int k = 0; // analog key input
#define R 0 // button right = 0
#define U 1 // button Up =1
#define D 2 // button down = 2
#define L 3 // button left = 3
#define S 4 // button Select = 4
#define Hi 5 // other than that all the button is hi(none pressed)
int reads()
{
k = analogRead(0); // read value of button pressed
if (k > 1000) return Hi; //if value is 1000(none pressed go to hi)
if (k < 50) return R;//values of the button
if (k < 195) return U;
if (k <380) return D;
if (k < 555) return L;
if (k < 790) return S;
return Hi;//after press go to Hi
}
void setup() {
lcd.begin(16,2);// lcd begin for all pixels(col,rows)
lcd.setCursor(0,0);//start in position 0,0(beginning of the lcd)
lcd.print(" HI I AM NICO");//print from (0,0)
}
void loop() {
lcd.setCursor(0,1);//cursor is now set at col 0 row 1
l = reads();// run the reads() function and store val at l
switch(l) // effect after each button is pressed
{
case R:
{
lcd.print("THIS IS RIGHT");
break;
}
case L:
{
lcd.print("THIS IS LEFT ");
break;
}
case U:
{
lcd.print("THIS IS UP ");
break;
}
case D:
{
lcd.print("THIS IS DOWN ");
break;
}
case S:
{
lcd.print("THIS IS SELECT ");
break;
}
case Hi:
{
lcd.print("WELCOME ");
lcd.setCursor(8,1); //if not pressed hi will always run and after welcome word nothing will be there
lcd.print(" ");
break;
}
}
}
Upload the code shown to Arduino and test the LCD keypad shield. To see the testing video, please visit: https://youtu.be/fEzOpCTznIc .That's all from me guys, see you later!!
Welcome to the Tinker Hut!!! How are you,guys? I hope everyone is fine and in good condition always. As usual, this week I am going to share with you guys on interfacing of Arduino and DFrobot LCD keypad shield. The objective of this experiment is to setup the LCD shield to Arduino and get the buttons to display some text outputs after pressed.
Ok, let's see the hardware and the software needed for this experiment.
Hardware:
- Arduino UNO( I am using Arduino Leonardo)
- LCD Keypad Shield(I am using DFrobot LCD Keypad Shield)
- Arduino IDE
Now the hardware and the software are sorted out, let's see the assembly of the circuit. Just insert the pins of the shield directly on the Arduino. Make sure the pins were inserted properly and correctly like the image shown below:
After assembly, connect your Arduino to your laptop/computer. If the shield is connected properly, the LCD and the red light(power) will light up properly. Next, upload the code into the Arduino to test the shield. The code programs the button on the shield to give text output as long as the button is pressed. The code is shown below:
#include<LiquidCrystal.h> // import the liquid crystal lib
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); //the lcd pins in order
int l = 0; // lcd key
int k = 0; // analog key input
#define R 0 // button right = 0
#define U 1 // button Up =1
#define D 2 // button down = 2
#define L 3 // button left = 3
#define S 4 // button Select = 4
#define Hi 5 // other than that all the button is hi(none pressed)
int reads()
{
k = analogRead(0); // read value of button pressed
if (k > 1000) return Hi; //if value is 1000(none pressed go to hi)
if (k < 50) return R;//values of the button
if (k < 195) return U;
if (k <380) return D;
if (k < 555) return L;
if (k < 790) return S;
return Hi;//after press go to Hi
}
void setup() {
lcd.begin(16,2);// lcd begin for all pixels(col,rows)
lcd.setCursor(0,0);//start in position 0,0(beginning of the lcd)
lcd.print(" HI I AM NICO");//print from (0,0)
}
void loop() {
lcd.setCursor(0,1);//cursor is now set at col 0 row 1
l = reads();// run the reads() function and store val at l
switch(l) // effect after each button is pressed
{
case R:
{
lcd.print("THIS IS RIGHT");
break;
}
case L:
{
lcd.print("THIS IS LEFT ");
break;
}
case U:
{
lcd.print("THIS IS UP ");
break;
}
case D:
{
lcd.print("THIS IS DOWN ");
break;
}
case S:
{
lcd.print("THIS IS SELECT ");
break;
}
case Hi:
{
lcd.print("WELCOME ");
lcd.setCursor(8,1); //if not pressed hi will always run and after welcome word nothing will be there
lcd.print(" ");
break;
}
}
}
Upload the code shown to Arduino and test the LCD keypad shield. To see the testing video, please visit: https://youtu.be/fEzOpCTznIc .That's all from me guys, see you later!!
Comments
Post a Comment