Hello, I have a problem with my lcd 16x2 with I2C, The LED backlight turns on But the display does not show any text. i tried to print "hello world" but nothing showed up on the display. I double-checked my wiring and they were all connected to the right place (SDA-SDA, SCL-SCL, VCC-5v, GND-GND). i am using the library LiquidCrystal_I2C. Can someone help?
The orientation is correct and I have exactly such a configuration on my desk at the moment checking out the compatibility of LiquidCrystal_I2C library with the ESP32 Arduino core 3.0.4. But by lcd has already pin headers soldered on so I am using a breadboard to connect the display to the backpack. However I would not have soldered the backpack in that orientation because the screen would then be difficult to use. Hence my question to the OP.
Not all driver chips on the i2c backpacks are connected to the display in the same way as expected by LiquidCrystal_I2C.h
The best available library for the i2c lcd displays is called hd44780.h. written by Bill Perry. It is available through the library manager.
I would suggest that you convert to it. It is plug and play for a variety of configurations of the i2c backpack modules. It will detect both the i2c address and the configuration of the driver.
As part of the library there is a comprehensive diagnostic sketch which will test some internal details of the display. It's called I2CexpDiag
In the in the ide you can navigate to the library example
a)
start with the hello world example which comes with the library - not with any self written sketch or other example you found in the internet.
It's very likely you need a lcd.init(); and not the lcd.begin - but that's just guessing. Use the Sketch from the library and set the I2C Address according to the I2C Scanner result.
b)
The backpack MUST be soldered to the LCD. It is not sufficient to just "plug" the backpack into the LCD. When you have soldered the backpack to the LCD - show us a picture of the soldering.