I am running Arduino IDE version 1.6.4 trying to hook up a 2x16 Sainsmart LCD and backpack. So far, I can't find a code example that will compile. I have downloaded several versions of the LiquidCrystal_i2c library (or at least from different sources) and when I try to compile the example code supplied with the library, it throws an error. The lastest one is ...
HelloWorld_i2c:8: error: no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int)'
HelloWorld_i2c.pde:8:27: note: candidates are:
In file included from HelloWorld_i2c.pde:2:0:
C:\Users\misadmin\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58:3: note: LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, uint8_t)
LiquidCrystal_I2C(uint8_t lcd_Addr,uint8_t lcd_cols,uint8_t lcd_rows);
^
C:\Users\misadmin\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58:3: note: candidate expects 3 arguments, 1 provided
C:\Users\misadmin\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:56:7: note: LiquidCrystal_I2C::LiquidCrystal_I2C(const LiquidCrystal_I2C&)
class LiquidCrystal_I2C : public Print {
^
C:\Users\misadmin\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:56:7: note: no known conversion for argument 1 from 'int' to 'const LiquidCrystal_I2C&'
Multiple libraries were found for "LiquidCrystal_I2C.h"
Used: C:\Users\misadmin\Documents\Arduino\libraries\LiquidCrystal_I2C
Not used: C:\Users\misadmin\Documents\Arduino\libraries\LiquidCrystal
Not used: C:\Program Files\Arduino\libraries\LiquidCrystal_I2C
no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int)'
The example code I am trying to compile is ...
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define BACKLIGHT_PIN 13
LiquidCrystal_I2C lcd(0x38); // Set the LCD I2C address
//LiquidCrystal_I2C lcd(0x38, BACKLIGHT_PIN, POSITIVE); // Set the LCD I2C address
// Creat a set of new characters
const uint8_t charBitmap[][8] = {
{ 0xc, 0x12, 0x12, 0xc, 0, 0, 0, 0 },
{ 0x6, 0x9, 0x9, 0x6, 0, 0, 0, 0 },
{ 0x0, 0x6, 0x9, 0x9, 0x6, 0, 0, 0x0 },
{ 0x0, 0xc, 0x12, 0x12, 0xc, 0, 0, 0x0 },
{ 0x0, 0x0, 0xc, 0x12, 0x12, 0xc, 0, 0x0 },
{ 0x0, 0x0, 0x6, 0x9, 0x9, 0x6, 0, 0x0 },
{ 0x0, 0x0, 0x0, 0x6, 0x9, 0x9, 0x6, 0x0 },
{ 0x0, 0x0, 0x0, 0xc, 0x12, 0x12, 0xc, 0x0 }
};
void setup()
{
int charBitmapSize = (sizeof(charBitmap ) / sizeof (charBitmap[0]));
// Switch on the backlight
pinMode ( BACKLIGHT_PIN, OUTPUT );
digitalWrite ( BACKLIGHT_PIN, HIGH );
lcd.begin(16,2); // initialize the lcd
for ( int i = 0; i < charBitmapSize; i++ )
{
lcd.createChar ( i, (uint8_t *)charBitmap[i] );
}
lcd.home (); // go home
lcd.print("Hello, ARDUINO ");
lcd.setCursor ( 0, 1 ); // go to the next line
lcd.print (" FORUM - fm ");
delay ( 1000 );
}
void loop()
{
lcd.home ();
// Do a little animation by writing to the same location
for ( int i = 0; i < 2; i++ )
{
for ( int j = 0; j < 16; j++ )
{
lcd.print (char(random(7)));
}
lcd.setCursor ( 0, 1 );
}
delay (200);
}
I guess I am not smart enough to figure out what is going on here. Can someone direct me to a library and/or code that will work with an LCD 2x16 with a back pack?