I have had this happen several times. Each time it was the wrong library. There are several libraries available. I now have one library I use and put it in the sketch folder and include not the arduino library in the IDE spot. You will also find several different ways to initialize it, some start with start others with begin. Try a few libraries but first try the I2C scanner and check if the correct ports are assigned. If the scanner does not find it that has to be solved first.
e croquis utilise 15447 octets (31%) de l'espace de stockage de programmes. Le maximum est de 48640 octets.
Les variables globales utilisent 673 octets (10%) de mémoire dynamique, ce qui laisse 5471 octets pour les variables locales. Le maximum est de 6144 octets.
********************************************************************
Serial Initialized
--------------------------------------------------------------------
I2CexpDiag - i2c LCD i/o expander backpack diagnostic tool
--------------------------------------------------------------------
hd44780 lib version: 1.3.2
--------------------------------------------------------------------
Reported Arduino Revision: 1.6.7
CPU ARCH: AVR - F_CPU: 16000000
--------------------------------------------------------------------
SDA digital pin: 20
SCL digital pin: 21
--------------------------------------------------------------------
Checking for required external I2C pull-up on SDA - YES
Checking for required external I2C pull-up on SCL - YES
Checking for I2C pins shorted together - Not Shorted
--------------------------------------------------------------------
Scanning i2c bus for devices..
i2c device found at address 0x60
Total I2C devices found: 1
--------------------------------------------------------------------
Scanning i2c bus for all lcd displays (4 max)
LCD 0 begin() failed: -4
No working LCD devices
Hi GolamMostafa, thx for your time.
That's the step 2 output :
Le croquis utilise 5149 octets (10%) de l'espace de stockage de programmes. Le maximum est de 48640 octets.
Les variables globales utilisent 484 octets (7%) de mémoire dynamique, ce qui laisse 5660 octets pour les variables locales. Le maximum est de 6144 octets.
I2C Device not found at address: 0x64
I2C Device not found at address: 0x65
I2C Device not found at address: 0x66
I2C Device not found at address: 0x67
I2C Device not found at address: 0x68
I2C Device not found at address: 0x69
I2C Device not found at address: 0x6A
I2C Device not found at address: 0x6B
I2C Device not found at address: 0x6C
I2C Device not found at address: 0x6D
I2C Device not found at address: 0x6E
I2C Device not found at address: 0x6F
I2C Device not found at address: 0x70
I2C Device not found at address: 0x71
I2C Device not found at address: 0x72
I2C Device not found at address: 0x73
I2C Device not found at address: 0x74
I2C Device not found at address: 0x75
I2C Device not found at address: 0x76
I2C Device not found at address: 0x77
I2C Device not found at address: 0x78
I2C Device not found at address: 0x79
I2C Device not found at address: 0x7A
I2C Device not found at address: 0x7B
I2C Device not found at address: 0x7C
I2C Device not found at address: 0x7D
I2C Device not found at address: 0x7E
I2C Device not found at address: 0x7F
Given the result, I think you don't want the output of step 3
If you look at the I2CexpDiag output what you see is that it did a scan and found 1 i2c slave at address 0x60
But then when it looked for i2c LCD devices it didn't find any.
Also look at this output:
SDA digital pin: 20
SCL digital pin: 21
This shows what Arduino pins are being used for SDA and SCL.
If A4 and A5 are being used, those would have been printed as well.
Here is the output for an UNO
SDA digital pin: 18 A4
SCL digital pin: 19 A5
On this board you must use the pins labeled SDA and SCL.
If you connect your i2c device to A4 and A5 then you are not connecting to the proper pins.