16x02 LCD + I2C module problem
I was trying to make my 16x02 LCD+I2C module work. I failed.
This is my LCD: AZDelivery-HD44780-I2C
PCF8574T is written on the I2C module chip.
I have followed the guide: https://dronebotworkshop.com/lcd-displays-arduino/
I've tried two different pin configurations of the I2C module in the sketch however nothing still appears on the monitor (yes, I've tried to adjust the constrast but it's not the cause).
I have to say that the monitor worked just fine using the connection presented at the beginning of the guide, so the LCD works just fine.
Can it be that the I2C module doesn't work properly?
I've taken a couple of pictures to inform you better.
After I've identified the I2C address of the LCD (0x27), I've tried a simple sketch:
// Include Wire Library for I2C
// Include NewLiquidCrystal Library for I2C
// Define LCD pinout
const int en = 2, rw = 1, rs = 0, d4 = 4, d5 = 5, d6 = 6, d7 = 7, bl = 3;
//const int en = 4, rw = 5, rs = 5, d4 = 0, d5 = 1, d6 = 2, d7 = 3, bl = 7;
// Define I2C Address - change if reqiuired
const int i2c_addr = 0x27;
LiquidCrystal_I2C lcd(i2c_addr, en, rw, rs, d4, d5, d6, d7, bl, POSITIVE);
I have a little advice for you that comes from my own personal experience and a lot of trial and error. When using libraries with peripherals in the Arduino IDE, use the libraries that are well developed and modern. The liquidcrystal_I2C library works, but it is old and gives warnings when compiling. The methodology I use is I start with Adafruit libraries first, followed by SparkFun, this will help you avoid a lot of pitfalls. These are mature libraries and work flawlessly when using the proper syntax. So for your I2C LCD example, install the Adafruit liquid crystal library and run the "Hello World" I2C example. I think you'll like the results 😉
Hope this helps,
The Adafruit library works with the MC23008, if you're using the PCF8574, use this library:
There was a problem with the I2C module. Maybe I've damaged it while I've soldered it as a backpack of the LCD. Now I've changed it and the aforementioned sketch works just fine. I will not solder the I2C module as before since I don't have space problems and I don't want to waste too much time if I have to change the module in the future. The I2C module will be soldered in front of the LCD, as its position on the breadboard suggests.
That library was suggested in the droneworkshop YT video I was watching and it's not that old... I will check the suggested libraries