Hi Everyone,
First, major thanks to @bperrybap for his amazing Extensible hd44780 LCD library!
The updated How-To with 2x16 and 4x20 examples based on Bills library is here:
https://arduinoinfo.mywikis.net/wiki/LCD-Blue-I2C
And Bill, I apologize for taking so long to Get Around To It after you encouraged me to do so...
The old page had become almost unuseable/obsolete, but was still getting 150 hits a week. I feel bad I confused some people. Some of them did zing me, but it was my Grand(son) (#11 of 14) who was trying to use the LCD and temperature sensors I sent him who really embarrassed me.
AnyWay: That library is a great example of code structure and adaptability. I may try to read it all.. no good excuse, being in Quarantine for 12 more days...
OH: Comments, Suggestions, Critique on that page WELCOMED!
Terry,
Just saw the update for the hd44780 library. Nice. Hopefully the library will help people.
Here a few comments:
I would recommend adding in something that highly encourages users to first run the included I2CexpDiag sketch to test everything to make sure that everything is working.
The diag sketch can identify and test multiple LCD devices at once.
In the first example _2_Line_I2C_Display_TestV2.ino I would recommend
enabling line wrapping so that if a message longer than LCD line comes in, it will wrap lines on the LCD display.
It is enabled by calling lineWrap()
The library comes with an example called Serial2LCD that is similar to this example.
The hd44780 library should not conflict with other libraries so
while it won't hurt, users shouldn't have to remove or relocate any of their other previously installed libraries.
There is additional documentation on the hd44780 wiki:
With a page for the hd44780_I2Cexp i/o class:
The easiest way to access all the documentation and information is to use the Documentation sketch that comes with the library.
Simply bring up the hd44780 library Documentation sketch (which is a dummy sketch) in the IDE.
It contains lots of clickable links that will bring up a browser for the desired information.
You also may want to warn uses about the issue related to using 3v only processors like the ESP8266, ESP32, SAM, etc...
that can cause damage to the processor if using 5v LCD without using level shifters.
There are notes about this in the hd44780_I2Cexp examples.
Another thing that may be worth mentioning is that with the hd44780 library you can swap LCD devices and even if the LCD address or pin mapping is different, you will not need to recompile your sketch.
If you find any issues, or see any places where the examples or where the documentation could be updated for clarity, let me know.
--- bill
Hi Bill,
Wow.. Thanks and I will work on updating with your suggestions...
Simply bring up the hd44780 library Documentation sketch (which is a dummy sketch) in the IDE.
It contains lots of clickable links that will bring up a browser for the desired information.
Now THAT's Sneaky! Cool, I may steal that... The fact that valid links within Sketch comments work is very useful.
Another thing that may be worth mentioning is that with the hd44780 library you can swap LCD devices and even if the LCD address or pin mapping is different, you will not need to recompile your sketch.
That works great. I just updated my "multiple DS18B20 temperature sensors to 4x20 LCD display" with your library. Guess what: just plug in either a 2x16 OR 4x20 display and it Just Works. It's HERE.
I'm learning a lot here. Thanks!