Can't get IC2 LCD display to work with any code.

Hey, I have the IC2 LCD display from the LAFVIN Project Super Starter Kit (link here: https://amzn.to/33DyBug) and nothing is working. I have tried the LiquidCrystal_IC2 and the NewLiquidCrystal library and many different scripts. When I turn it on all I see is a blank blue screen. What should I do? Thanks!

Check the hardware connections.

run the i2cbusscanner sketch to see if you are successfully talking to it

it says "I2C device found at address 0x27 !
done"

dwertleplayz:
it says "I2C device found at address 0x27 !
done"

...........and in your (unposted) code, does it have the same address...??

what code?

dwertleplayz:
what code?

One of these:

dwertleplayz:
many different scripts.

blomcrestlight:
One of these:

yeah it uses that

I recently switched to bperrybap's LCD library hd44780.h which you can install from the library manager (Sketch> Include library > Manage libraries). It seems to be the forum's "goto" lcd solution.

Perhaps install that then run this:

// i2c ld template

//bperrybap library
#include <Wire.h>
#include <hd44780.h>                       // main hd44780 header
#include <hd44780ioClass/hd44780_I2Cexp.h> // i2c expander i/o class header
hd44780_I2Cexp lcd; // declare lcd object: auto locate & auto config expander chip
// LCD geometry
const int LCD_COLS = 16;
const int LCD_ROWS = 2;


void setup()
{
  Serial.begin(9600);
  pinMode(13, OUTPUT);
  lcd.begin(LCD_COLS, LCD_ROWS); 
  lcd.setCursor(0, 0);
  lcd.print("  **template**  ");
  delay(1000);

}//setup

void loop()
{
 //
}//loop

dwertleplayz:
When I turn it on all I see is a blank blue screen. What should I do? Thanks!

Sounds like a misadjusted contrast potentiometer to me.

The power up states of these devices is two rows of blocks IIRC.

I'm used to seeing two rows of blocks when the contrast is set too high, and a blank display when starting up when the contrast is set correctly (or, as indeed very well may be in the OPs case, too low).

Experience tells me to always first check the contrast pot! Turn it one way or the other, until you see the black blocks, then turn it back until those blocks have just disappeared and you see a blank display (no data sent but contrast is set correctly) or whatever printed to it.

Whandall:
The power up states of these devices is two rows of blocks IIRC.

Wrong recall.

The power-up state with no code is blocks on the first row only when contrast is correct. This is the first step.

Successful execution of lcd.begin(16, 2); as it is a "1602" display results in a clear screen and from there setting cursor and displaying text should function. If you fiddle with the contrast from there you can either blank the screen or fill it with solid blocks but the contrast should have been set with no data connection (though the default state of the backpack may be with the backlight off),

blomcrestlight:
I recently switched to bperrybap's LCD library hd44780.h which you can install from the library manager (Sketch> Include library > Manage libraries). It seems to be the forum's "goto" lcd solution.

Perhaps install that then run this:

// i2c ld template

//bperrybap library
#include <Wire.h>
#include <hd44780.h>                      // main hd44780 header
#include <hd44780ioClass/hd44780_I2Cexp.h> // i2c expander i/o class header
hd44780_I2Cexp lcd; // declare lcd object: auto locate & auto config expander chip
// LCD geometry
const int LCD_COLS = 16;
const int LCD_ROWS = 2;

void setup()
{
  Serial.begin(9600);
  pinMode(13, OUTPUT);
  lcd.begin(LCD_COLS, LCD_ROWS);
  lcd.setCursor(0, 0);
  lcd.print("  template  ");
  delay(1000);

}//setup

void loop()
{
//
}//loop

I tried and it didn't work just now.

Did you try to adjust the contrast pot? (usually blue, on the I2C backpack of your display).

dwertleplayz:
I tried and it didn't work just now.

That is why the first thing you run with the hd44780_I2Cexp i/o class after installing the hd44780 library is not a "hello world" sketch.
It is the included diagnostic sketch, I2CexpDiag.

--- bill