Hola a todos,
Pues yo no consigo que me funcione mi lcd de 20x4.
Se que la dirección es 0x27,20,4
Pero no se, he probado mil librerías, incluido lo todo lo que comenta Rafaelquero.
Pero no soy capaz.
Os cuento como lo tengo: es un arduino uno sin nada mas, bueno solo con un sensor shield.
Tengo la libreria que propone Rafaelquero con el nombre cambiado.
Si paso el Scanner me dice: "I2C device found at address 0x27 !"
Creo, y supongo, que lo tengo bien conectado porque si lo conecto de otra forma no lo encuentra el scanner.
En el programa pone que SDA va a el analogue PIN 4 y el SCL a el analogue PIN 5 pero yo lo tengo puestos a A4 y A5 Digital. Pero también lo he puesto en los analógicos, y del derecho y del revés y nada.
En el LCD me sale dos filas rellenas, dos vacías, o sea que no le llega información.
Si ejecuto el programa de ejemplo dentro de la misma librería "ARD_LCD_HCARDU0023_I2C_Hello_World_Example.ino" la lcd se oscurece y se ilumina otra vez pero después aparecen las dos filas rellenes y las dos vacías.
/* FILE: ARD_LCD_HCARDU0023_I2C_Hello_World_Example.pde
DATE: 11/07/12
VERSION: 0.1
This is a simple example of how to use the Hobby Components I2C LCD module
(HCARDU0023). To use this module you will require the appropriate library
which can be downloaded from the following location:
http://forum.hobbycomponents.com/arduino_shields_modules
This code also demonstrates the correct pin assignment for the LCD. When you
run this program you should see a greeting message appear on the display.
DEVICE PINOUT (SPI Interface):
PIN 1: GND
PIN 2: +5V
PIN 3: SDA - Connect to Arduino analogue PIN 4
PIN 4: SCL - Connect to Arduino analogue PIN 5
You may copy, alter and reuse this code in any way you like but please leave
reference to hobbycomponents.com in your comments if you redistribute this code. */
/* Include the SPI/IIC Library */
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
/* Initialise the LiquidCrystal library. The default address is 0x27 and this is a 16x2 line display */
LiquidCrystal_I2C lcd(0x27,20,4);
void setup()
{
/* Initialise the LCD */
lcd.init();
lcd.init();
}
/* Main program loop */
void loop()
{
/* Make sure the backlight is turned on */
lcd.backlight();
/* Output the test message to the LCD */
lcd.setCursor(0,0);
lcd.print("HOBBY COMPONENTS");
lcd.setCursor(0,1);
lcd.print("**HELLO WORLD**");
/* Do nothing */
while(1);
}
Bueno, seguro que hay varias cosas que estoy haciendo mal.
¿cuales son?
Moderador: Titulo editado