I got the LiquidCrystal_V1.2.1
The backpack says its a sainsmart
The only identify marks on the back of the screen is J204A and to the right of it 1250
(My Original posting was that it wouldn't compile)
I got it compiling and now I'm just getting a blank screen using the code above.
I also used the I2C scanner to get the right address. https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
I downloaded and installed this display library and deleted old one.
/* YourDuino.com Example Software Sketch
20 character 4 line I2C Display
Backpack Interface labelled "LCM1602 IIC A0 A1 A2"
terry@yourduino.com */
/*-----( Import needed libraries )-----*/
#include <Wire.h> // Comes with Arduino IDE
// Get the LCD I2C Library here:
// https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
// Move any other LCD libraries to another folder or delete them
// See Library "Docs" folder for possible commands etc.
#include <LiquidCrystal_I2C.h>
/*-----( Declare Constants )-----*/
//none
/*-----( Declare objects )-----*/
// set the LCD address to 0x27 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(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
/*-----( Declare Variables )-----*/
//none
void setup() /*----( SETUP: RUNS ONCE )----*/
{
Serial.begin(9600); // Used to type in characters
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(3,0); //Start at character 4 on line 0
lcd.print("Hello, world!");
delay(1000);
lcd.setCursor(2,1);
lcd.print("From YourDuino");
delay(1000);
lcd.setCursor(0,2);
lcd.print("20 by 4 Line Display");
lcd.setCursor(0,3);
delay(2000);
lcd.print("http://YourDuino.com");
delay(8000);
// Wait and then tell user they can start the Serial Monitor and type in characters to
// Display. (Set Serial Monitor option to "No Line Ending")
lcd.setCursor(0,0); //Start at character 0 on line 0
lcd.print("Start Serial Monitor");
lcd.setCursor(0,1);
lcd.print("Type chars 2 display");
}/*--(end setup )---*/
void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
{
{
// when characters arrive over the serial port...
if (Serial.available()) {
// wait a bit for the entire message to arrive
delay(100);
// clear the screen
lcd.clear();
// read all the available characters
while (Serial.available() > 0) {
// display each character to the LCD
lcd.write(Serial.read());
}
}
}
}/* --(end main loop )-- */
/* ( THE END ) */
Just to cover all the bases, we need to ask you a routine question.
Do you know how to correct install libraries and which did you install the LiquidCrystal_I2C lib ?
raschemmel:
You mean SDA & SCL ===>A4 & A5 right?
Why no pullup resistors ?
I've never heard of that working. Doesn't Internal pullup only work for digital lines?
A4 and A5 are digital lines.
I have so far (which isn't saying much) not needed to use additional pull-ups beyond the internal ones that the libraries enable. Unless you have more than one I2C device and more than a couple of decimetres (a few inches) of bus, they are most unlikely to be needed. The actual problem almost always proves to be something else (and probably so even if the pull-ups do "fix" it!).
fm, I removed the stock library and installed the one that I linked too. (Really have no idea if its the latest)
Paul I attached photos of the LCD and Backpack.
Raschmmel, I wasn't sure if I needed pullup resistors, only pin 13 has internal pullup (I think) On the Mega it has ports listed as SDA and SCL (20&21 under communication)
A.R.Ty The Code doesn't work for me. (Thanks for trying tho).
Raschmmel, i correctly added the library. (delete old, add library through menu) Under liquidcrystal is LiquidCrystal_I2C the above posted link shows the new library that I installed.
Raschmmel, If i had not installed the correct library (I2C) The above code would not compile because the include is I2C
Paul, For the Arduino Uno, connect SDA to A4 and SCL to A5, A indicating analog
Did you click on the photos and look at the back of it to compare it to yours ?
If this is what you have then you're probably in good shape because it will be easy to
get it working.