Dear All,
First, thank you in advance for the time you'll spent reading my question.
I've been searching, reading and tinkering around for almost 5 hours now, so I'd thought I would ask you fellows.
I know my way around IT but I'm pretty new to anything electronic especially when it comes down to the lower layers of things.
So I'm trying to make a LCD 2004A linked to a I2C MH chipset and an Arduino Uno display an simple hello world. All I can get it to do is initialize and blink (basically tell the display to backlight on and backlight off) When it comes to displaying a simple print() the screen stays lit as per the last instruction before the print function and does nothing else. (Code will follow below)
I've applied many of the getting started tutorials you can find on arduino.cc or instructables.com.
I found this tutorial which is around for a long time and helped a lot of people to make this work.
https://arduinoinfo.mywikis.net/wiki/LCD-Blue-I2C
- This seems to be exactly the type of hardware I have. I looked up the specs sheets. They seem to
have the same pins at the same places - The jumper cables are properly set VCC to 5v, GND to GND, SDA to A4 and SCL to A5
- I have the last version of the IDE.
- I wiped clean any LCD library from the environment, user's and IDE's and downloaded the latest
new-liquidcrystal library. - The jumper at the back of the I2C module is placed properly and I tested without it (it cuts the power
off) - I scanned the I2C address which is 0x27 (confirmed multiple times)
- I tried every pin configuration for addressing the above mentioned tutorial contains
I am referring to that part LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
I used the code provided in the tutorial and simplified it to its minimum to make sure this is not a code issue. I also used the examples in other tutorials and provided by default with the library. Same issue, or nothing happen and the screen stays lit, or if there's a blink configured it will blink and nothing else.
/* YourDuino.com Example Software Sketch
20 character 4 line I2C Display
Backpack Interface labelled "LCM1602 IIC A0 A1 A2"
terry@yourduino.com */
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
/*-----( Declare objects )-----*/
// set the LCD address to 0x20 for a 20 chars 4 line display
// Set the pins on the I2C chip used for LCD connections:
// addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
void setup() /*----( SETUP: RUNS ONCE )----*/
{
lcd.begin(20,4); // initialize the lcd for 20 chars 4 lines and turn on backlight
// ------- Quick 3 blinks of backlight -------------
for(int i = 0; i< 3; i++)
{
lcd.backlight();
delay(250);
lcd.noBacklight();
delay(250);
lcd.backlight(); // finish with backlight on
}
//-------- Write characters on the display ----------------
// NOTE: Cursor Position: CHAR, LINE) start at 0
lcd.setCursor(0,0);
lcd.print("Hello, world!");
delay(1000);
}/*--(end setup )---*/
void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
{
}/* --(end main loop )-- */
Attached you will find pictures of the pin from I2C module connected to the LCD before and after I soldered them.
My best guess is either they're are very poorly soldered and some pins are not connected.
Or, the configuration of the pins in the code, to which I known next to nothing, is wrong.
If you guys have any clues I'll be very grateful!
Regards,
Tom








