Paso 3: Programacion
Después debes descargar la libreria agregarlo a nuestro IDE de arduino y reiniciar
www.4tronix.co.uk/Arduino/sketches/LiquidCrystal_V1.2.1.zip
Ahora si queremos probar nuestra pantalla pueden cargar el siguiente bosquejo, si se pueden dar cuenta no hay gran diferencia en como se maneja una LCD normal
/*-----( Import needed libraries )-----*/#include // Comes with Arduino IDE // Get the LCD I2C Library here: // www.4tronix.co.uk/arduino/sketches/LiquidCrystal_... // Move any other LCD libraries to another folder or delete them // See Library "Docs" folder for possible commands etc. #include /*-----( Declare Constants )-----*/ /*-----( Declare objects )-----*/ // set the LCD address to 0x27 for a 16 chars 2 line display // Set the pins on the I2C chip used for LCD connections: // addr, en,rw,rs,d4,d5,d6,d7,bl,blpol LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address /*-----( Declare Variables )-----*/ //NONE void setup() /*----( SETUP: RUNS ONCE )----*/ { Serial.begin(9600); // Used to type in characters lcd.begin(16,2); // initialize the lcd for 16 chars 2 lines, turn on backlight // ------- Quick 3 blinks of backlight ------------- for(int i = 0; i< 3; i++) { lcd.backlight(); delay(250); lcd.noBacklight(); delay(250); } lcd.backlight(); // finish with backlight on //-------- Write characters on the display ------------------ // NOTE: Cursor Position: (CHAR, LINE) start at 0 lcd.setCursor(0,0); //Start at character 4 on line 0 lcd.print("Hello, world!"); delay(1000); lcd.setCursor(0,1); lcd.print("TIH I2C LCD"); // Print text on second line delay(8000); // Wait and then tell user they can start the Serial Monitor and type in characters to // Display. (Set Serial Monitor option to "No Line Ending") /* lcd.clear(); lcd.setCursor(0,0); //Start at character 0 on line 0 lcd.print("Use Serial Mon"); lcd.setCursor(0,1); lcd.print("Type to display"); */ }/*--(end setup )---*/ void loop() /*----( LOOP: RUNS CONSTANTLY )----*/ { { // when characters arrive over the serial port... if (Serial.available()) { // wait a bit for the entire message to arrive delay(100); // clear the screen //lcd.clear(); // read all the available characters while (Serial.available() > 0) { // display each character to the LCD //lcd.write(Serial.read()); } } } }
Si la pantalla no es Añadida por el arduino prueba con cambiar por positiva o negativa en como fue en mi caso cambiar la direccion en I2C de la pantalla fue también una solución