Strugling to find and download an LCD I2C library

Railroader,
Is English not your native language?


If you are a native English speaker,
The instructions for installation on the hd44780 github page are very detailed and explain exactly what IDE buttons to click on and what library to search for.
The included Documentation sketch that you can bring up once you have installed the library has links to lots of additional information including on where to find the examples and explicitly shows where to find the examples for the hd44780_I2Cexp ioclass.

The wiki has some additional information about the hd44780_I2Cexp ioclass and also shows how to locate the examples.

--- bill

Hi and thank You for Your work.

I feel comfortable with English even if Swedish is my native language. However I suffer from a Medical condition that makes it hard for me to handle large amount of information. Swedish or English, it is the same bad.

I managed to download a hd44780 library and tested compiling. It looks like the hd44780 assumes a LiquidCrystal_I2C library to exist. That was my initial question, how to get hold of the I2C-lib.

I tried to find a hd44780.h file to read the names of the functions, init, write etc. but Win10 does not solve that issue. I have commented out some lines in my early test scetch. Arduino IDE finds the lib but I can not find that lib using file manager. My hope was to read the .H-file...

First the beginning of the sketch, then the error report.

//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <hd44780.h>

//#include <LiquidCrystal_I2C.h>

//LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
lcd.init(); // initialize the lcd
lcd.init();
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(3,0);
lcd.print("Hello, world!");
lcd.setCursor(2,1);
lcd.print("Ywrobot Arduino!");
lcd.setCursor(0,2);
lcd.print("Arduino LCM IIC 2004");
lcd.setCursor(2,3);
lcd.print("Power By Ec-yuan!");
}

void loop()
{
}

Build options changed, rebuilding all
C:\Users\User\Downloads\Arduino LCD test code\LiquidCrystal_I2C2004V1\examples\HelloWorld\HelloWorld.ino: In function 'void setup()':

HelloWorld:14: error: 'lcd' was not declared in this scope

lcd.init(); // initialize the lcd

^

exit status 1
'lcd' was not declared in this scope

Regards,
Stefan

you are missing a library include and you have not declared a lcd object. The hd44780 library uses a begin function to initialize the display, not init.

Here is an example that shows what I mean.

#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 & config exapander chip

// LCD geometry
const int LCD_COLS = 16;
const int LCD_ROWS = 2;

void setup()
{
  lcd.begin(LCD_COLS, LCD_ROWS);
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(3, 0);
  lcd.print("Hello, world!");
  lcd.setCursor(0, 1);
  lcd.print("Ywrobot Arduino!"); 
}

void loop() {}

Thank You very, very,very much!
I was puzzled when I looked into the C:\program(x86)\Arduino\libraries. Some libraries existed there but the hd44780 library I found in C:\users\users\Arduino..... Okey, I found it and I could read the README file and find out the names of the library functions.

The #includes You gave me was important. The include of the .....Class I would never have guessed.
Again, thank You more than a lot!
You solved the problem! Now I can run my 20x4 character displays.
Regards,
Stefan

The #includes You gave me was important. The include of the .....Class I would never have guessed.

This was first very clearly presented to you in Reply #10.

Yes, You are perfectly right. I checked it now. I got confused, overloaded, when facing something else than just LiquidCrystal_I2C. The L..C..I2C library was possible to download earlier, shown in a Youtube video I found. Now it is not available as shown in the video.
Never mind, I am most greatful for Your help, and Your patience.