LCD 16x2

Have a LCD 16x2 with I2C adapter on the back. Worked fine for many projects. Now I can only print single charterers anywhere on the display. It will not print out any words, Just single charterers, no mater how many charterers are between the "quotes". It seems the display is working properly (since I can print anywhere on the dipslay, just single charterers. I think I2C adapter has gone bad. Any thoughts? - Gary

garvader:
I think I2C adapter has gone bad.

No.

The problem is in your code.

You may need to read the instructions.

It sounds like a library issue.
I'm guessing you have recently updated your IDE version as well.
There are some "LiquidCrystal_I2C" libraries out there that had a bug in the write() code that returned the incorrect status.
In the past it didnt' matter but when the Print class code starting looking at the return code, the bug in the "LiquidCrystal_I2C" library reared its ugly head.
The symptom is that only the first character of each call to print() shows up.

If this is describes what you are experiencing, then you need to either update your library to a newer version, or switch to a newer/better library like the hd44780 library.

--- bill

bperrybap:
If this is describes what you are experiencing, then you need to either update your library to a newer version, or switch to a newer/better library like the hd44780 library.

Conveniently created by - Bill! :grinning:

And in fact, the most sensible option.

I did say "The problem is in your code." Which is true insofar as the problem is that your code is using libraries - or the IDE - that have changed and introduced a problem in the process. That has happened to many of us!

The hint is that unless you post your code by following the instructions, we cannot help with it.

Just a bit of future help. I have a folder where I keep test code, the simpler the better. I have such things as scan I2C, 1-Wire etc. I also have several that will operate the LCDs I use. I have them for almost every external sensor etc I have. It is nice because I get a feel for the device and then in the future I have a reference to how to make it work and some code to test my connections. The code does not change any of the pins other then the ones directly involved with the sensor. I also have a hello message that tells me what it does when it is started. This response is to help you get started in solving your problem, not solve it for you.
Good Luck & Have Fun!
Gil

Thanks for every ones help. I am using sketches from the downloaded library's, as tests. I have downloaded 4 different library's, including hd44780 library. I keep getting the same result. I have ordered a new display( I only had one and I soldered a I2C mod on the back) Once I have the new display I will know if its the code or the hardware.- Gary

garvader:
I have downloaded 4 different library's,

That in itself would cause problems. :astonished:

garvader:
including hd44780 library.

Fortunately, the HD44780 library operates without conflict with any others, so we advise using the test examples that come with that library and not any others.

garvader:
Thanks for every ones help. I am using sketches from the downloaded library's, as tests. I have downloaded 4 different library's, including hd44780 library. I keep getting the same result.

The issue you described is caused by a very specific version of a very specific library.
Having the issue you described in you initial post across all of them, especially in the hd44780 library is simply not possible.
The hd44780 library does not have the issue you described, for the others, I cannot say, since I have no idea what other libraries you have downloaded and installed - they might even all be the same library.

I have ordered a new display( I only had one and I soldered a I2C mod on the back) Once I have the new display I will know if its the code or the hardware.- Gary

Why do you need another device to see if device you have has an issue?

Why not run the hd44780 diagnostic sketch, I2CexpDiag to test your device?
That is what it is for.

--- bill