There are many LCD units available, but I want one that is simple and known to work with 3.3 volts. I think that by using a serial device, there should be no extra libraries required. Do you have any that works well for you like this.
I spent a couple hours looking through previous posts and the only one I found that looked good, directed me to http://www.seeedstudio.com/depot/grove-serial-lcd-p-773.html , which now says “Discontinued” . Anyone know of a source that is available?
Thanks for your help… Jack
Hi @Jack
I use this one (2 lines of 16 chars) very successfully:
I have a small library of functions but I just cut-and-paste it in to the sketch–I’m happy to share it. Other colors are available too.
People also seem to like the Digole displays (LCD and OLED) which can do serial, i2c or spi.
Thanks Bko, that looks like a good choice, but a little pricy. Lets see if anyone else has one that is a bit more afordable… (if not, that one will be my next order)… Jack
Here in the German market LCD Displays are getting expensive (compared to last years), and also only in small quantities or “sold out” at all.
Here is my set of helper functions for the Sparkfun 2 line x 16 character LCD assuming Serial1:
//----------------------------------------------------------------
void displayHome()
{
Serial1.write(254); // move cursor to beginning of first line
Serial1.write(128);
}
void displayMoveTo(int pos) //positions are 1 to 16 for the first line, 17-32 for the second
{
char posChar;
if (pos>=1 && pos<=16) {
posChar = char(128+pos-1);
} else if (pos>=17 && pos<=32) {
posChar = char(192+pos-17);
} else {
posChar = 128; // on error, go home
}
Serial1.write(254);
Serial1.write(posChar);
}
void displayClear()
{
displayHome();
// clear display fast 32 spaces
Serial1.write(" ");
Serial1.write(" ");
displayHome();
}
void displayBacklight(int brightpercent)
{
int mappedBright = map(brightpercent, 0,100,128,157);
// Make sure range is OK
if (mappedBright >= 128 && mappedBright <= 157) {
Serial1.write(124);
Serial1.write(char(mappedBright));
}
}
//----------------------------------------------------------------
Thanks bko. I ordered the LCD, received it, and used your library snippets. All works well. I did find one little thing: the backlight function seems to need a small time delay after it, before the next LCD command. I found that 30 ms was not enough, but 50 ms worked. Otherwise, it seems the LCD locks up. Thanks for all your help and your library.
Jack