LiquidCrystal_I2C library:What is I2C address in constructor(ask for help)

1 First of all: Really thank you for you help!!!

2 What is address in LiquidCrystal_I2C constructior? A normal instance example :
LiquidCrystal_I2C lcd (0x27,16,2),
0x27 is the address.What is an address and what is its function in both LiquidCrystal_I2C library and other libraries ?I mainly want to know how to use it in LiquidScystal_I2C library ,if there is only an answer about LiquidCrystal_I2C then ignore "other library " part .

Thank you !

The i2c address it how you communicate with a device. Typically, it is specified in datasheet or you can find it out with with the i2ccanner sketch.

You should google I2C communications or look in the Arduino reference.

Basically the I2C communications is a two wire method of communication. One wire sends data the other wire receives data. (thanks RayLivingston)

Updated....sorry I had been working on an SPI issue all day.

Perhaps it is more like a street with the house number being the address. A mailman can drive down the street and deliver at the address. And a letter can be sent from that address to the post office (aka processor).

The address is similar to a phone number, each device has a different address. For your LCD it appears the address is 0x26. This means data sent on the I2C bus using the address 0x26 will go to you LCD instead of another device you might have on the I2C bus. Even though you may only have only one device connected you still need the address for your data to be recognized by your LCD display.

Most displays require some detailed programming to operate correctly. A library is a program or group of programs where some kind soul has written the tedious code and saved it as a library. You then can use this library to control your LCD using only simple commands. The folks who write these libraries should be given kudos for being so kind and helpful.

I2C is a bus. Meaning that several slave devices can be connected, in parallel, to the SCL and SDA wires. Each device has an address so that the devices know which one is being talked to by the master.

JohnRob:
Basically the I2C communications is a two wire method of communication. One wire sends data the other wire receives data.

No. One wire is clock, the other is data. In most cases, the clock line is driven only by the “master” device, and the data line is bi-directional. Up to 127 “slave” devices can be connected to a single master, with each slave having a unique “address” from 0-127.

Regards,
Ray L.

1. This is the normal LCD Panel with 16 pins; it is driven by digital IO pins of the Arduino UNO.
LCDparallel.jpg
Figure-1:

2. The LCD of Fig-1 can be operated using I2C Bus of Arduino UNO after installing an I2C Interface Board (the little one at the top of LCD) with the LCD (Fig-2, 3).
LCDI2C.jpg
Figure-2:
lcdI2CIO.jpg
Figure-3:

3. The I2C Interface Board of Fig-2 has a 7-bit address which could be in this range: 0b010000 to 0b011111 (0x20 to 0x2F) or 0b0110000 to 0b0111111 (0x30 to 0x3F) depending on the jumper setting on the board.

LCDparallel.jpg

LCDI2C.jpg

lcdI2CIO.jpg

RayLivingston:
Up to 127 "slave" devices can be connected to a single master, with each slave having a unique "address" from 0-127.

Address 0 is an all-call and can't be really be used by a device. You only get 1-127.