El compilador te avisa de que la funcion que llamas en tu sketch no coincide con ninguna de la libreria <LiquidCrystal_I2C>
Mira el código:
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
LiquidCrystal_I2C lcd(I2C_ADDR,2, 1, 0, 4, 5, 6, 7); // <<=== Error en parametros
LiquidCrystal_I2C lcd(I2C_ADDR, 16, 2); // <<=== Esto seria lo correcto para un display 16x02
Debes revisar las funciones de esta libreria, porque los parametros que les das no se corresponden.
funciones tal y como están definidas en la libreria:
Si usa la librería de fmalpartida esa inicializacíón del LCD no esta mal dependiendo de los pines usados por el IC del módulo I2C, sin embargo si usas la librería de un IDE actualizado estoy de acuerdo con lo que sugiere Alfaville.
Evidentemente tomaste el código de alguien que usó otra librería y tu no.
No sé donde está la confusion, pero la hay.
La libreria <LiquidCrystal_I2C> maneja el LCD con el módulo serie incorporado (conexion I2C) con su direccion correspondiente (I2C_ADDR)
Por lo tanto intentar definir nuestra instancia con:
#define I2C_ADDR 0x27
#define BACKLIGHT_PIN 3
#define ENABLE 2 // Esto solo vale para LCD acceso 4 bit paralelo
#define RW 1 // idem
#define RS 0 // idem
#define DATA4 4 // idem
#define DATA5 5 // idem
#define DATA6 6 // idem
#define DATA7 7 // idem
Esto seria lo correcto:
LiquidCrystal_I2C lcd(I2C_ADDR, 16, 2); // <<=== Esto seria lo correcto para un display 16x02
Entonces corre esto y cambia lo que tienes por esta versión LiquidCrystal Adafruit
y luego prueba este ejemplo
/*
Demonstration sketch for Adafruit i2c/SPI LCD backpack
using MCP23008 I2C expander
( http://www.ladyada.net/products/i2cspilcdbackpack/index.html )
This sketch prints "Hello World!" to the LCD
and shows the time.
The circuit:
* 5V to Arduino 5V pin
* GND to Arduino GND pin
* CLK to Analog #5
* DAT to Analog #4
*/
// include the library code:
#include "Wire.h"
#include "Adafruit_LiquidCrystal.h"
// Connect via i2c, default address #0 (A0-A2 not jumpered)
Adafruit_LiquidCrystal lcd(0);
void setup() {
// set up the LCD's number of rows and columns:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
lcd.setBacklight(HIGH);
delay(500);
lcd.setBacklight(LOW);
delay(500);
}
Asi debiste comenzar tu hilo, no diciendo que tienes una librería LiquidCrystal_I2C y un modulo I2C sin dar explicaciones de donde sacaste cada cosa.
Si esto no funciona tienes un problema en tu módulo.
Es Tu librería y ejemplo para I2C de tu librería.
Suscribo el comentario de surbyte. Si en lugar de poner un sketch con la libreria que NO tienes hubieses puesto la que tienes en realidad, todo habria sido mas facil.