Description: Do you need an easy to use interface for your LCD screen? The LCD Button Shield V2 attaches to your Arduino to provide a 16x2, black character, green back light LCD with a keypad consisting of 5 keys — select, up, right, down and left. With this shield you will be able to move through menus and make selections straight from one board attached to your Arduino without requiring a massive tower of shields.
The LCD Button Shield V2 works perfectly in 4-bit mode with the “LiquidCrystal” library found in the Arduino IDE, using this library will allow you to control the LCD with only 6 digital I/O lines. Version 2 of this shield provides you with the capability of pushing multiple buttons at once and combining the results. No longer will you be restrained to only 5 inputs, now you have the ability to make use of 32 different button combinations!
Check the LCD Button Shield V2 Wiki link is the Documents section below for example code, schematics, and additional information.
Note: Headers are included with this shield but not soldered on.
Based on 6 ratings:
4 of 4 found this helpful:
LCD + menu buttons = Just what I needed.
As this is the top shield for a project, I ditched the included headers and used break-away male headers with the pins pointed downward and soldered on the top of the board. No female connectors but no lost as far as my project is concerned.
The wiki offers sample code with little to no documentation and that code is wrong, at least for this version of the board. There’s no way to change the wiki so I’ll just leave this here:
There are some magic #define’s at the top that set values for Rbase, Rup, Rdown, Rleft, Rright, and Rselect. These values are the resistor values (in K Ohms) attached to the respective buttons but they are wrong, at least for V2 of the board. A quick glance at the schematics will show the the correct values should be:
Rbase : 10 Rup : 100 Rdown : 75 Rleft : 51 Rright : 39 Rselect : 15
This will get the code to work correctly and help you see what’s going on.
Apart from the documentation, If there were one thing that would like to see it would be some type of button extenders (silicone? plastic caps?) that would allow this to be mounted in a box.
1 of 1 found this helpful:
Good backlight, buttons are nice and clicky - software library is complete and has good examples.
The buttons didn’t work out of the box for me, in any of the sample code. The resistances were all wrong! Luckily I had an LCD shield, so I just had the LCD display the button ADC values and plugged them in; working perfectly ever since.
I would like the ability to switch the button-read input… otherwise worked well.
3 of 3 found this helpful:
This is my first shield to go along with my first Arduino board (SparkFun RedBoard), and it was a good choice. For those somewhat new to electronics and Arduino, this shield is quite easy to understand. The sample code is a different story. Keep in mind you will need to solder on the headers to attach this shield to an Arduino.
All of the buttons have a different value resistor tied to ground and analog pin A0, which should give you a different value if you analogRead() pin A0. This keeps the analog pin usage to a minimum, as well as allows you to push more than one button at a time (which may not be that useful with this button arrangement). You can also set the LED backlight brightness by writing via analogWrite() to pin 10 a value of 0 to 255 (this outputs a PWM signal at a duty cycle defined by your input value).
The quality of this board is pretty good, but my OCD kicked in when I saw the LCD soldered in not completely straight. The stackable headers are not useful for stacking something on top of the LCD, but are for breadboard prototyping.
The price is good, seeing that the same price only gets you a SparkFun branded display on this site. Overall, I would recommend this shield to anyone.
It works and it’s easy to use. Very easy way to add a user interface to your project.
But… It uses 7 i/o pins! That’s a lot for some projects, it only leaves you 12 i/o’s on an Uno. So you have to plan your project around this limited amount of i/o.
And… Beware, the older version had different resistor values or something, so code on the web written for that version will need the analog values for each button tweaked.
But it works fine. You just have to plan for these limitations.
0 of 1 found this helpful:
The first one has been working great! Take care with your soldering!