HeTPro-Tutoriales

Creamos tutoriales de electrónica digital para estudiantes, profesionistasy hoobistas de la electrónica, robótica o mecatronica. Tenemos tutoriales de Arduino, QT-Creator, OpenCV, Electrónica analógica y digital, entre otros temas.

LCD I2C Arduino UNO pantalla 128×64 display

LCD I2C con Arduino UNO y pantalla 128×64

Para empezar, este tutorial tiene la finalidad de utilizar la pantalla LCD 128×64 (LCM12864R) por LCD I2C. En resumen, en conjunto con la interfaz serial  LCD I2C para display LCD (que maneja el protocolo de comunicación I2C) y un Arduino UNO. Por lo tanto aprenderás a utilizar este sistema, te recordamos que finalmente, este tutorial es compatible con diferentes pantallas LCDs.

El ejemplo se basa en 2 tipos de bibliotecas, los enlaces a continuación:

  1. u8glib-master: https://code.google.com/archive/p/u8glib/
  2. LiquidCrystal_I2C2004V1: http://www.frostcode.es/descargas/LiquidCrystal_I2C2004V1.rar

 

lcd i2c


Pantalla LCD 128×64 (LCM12864) descripción

En primer lugar, esta pantalla es un LCD gráfico, retroiluminado con un contraste variable. Esta pantalla además tiene un color azúl y caracteres blancos. Esto puede cambiar ya sea el modelo de pantalla que tengas. Ten en cuenta las siguientes especificaciones:

  • Resolución: 128 pixeles de largo y 64 pixeles de ancho
  • Controlador: HJ12864ZW
  • Alimentación: 3.3V a 5v con un consumo de corriente de 250mA.
  • Luz de fondo: Azul
  • Velocidad de datos: 2Mhz
  • Pantalla: 3.2″
  • Tamaño: 9.3 x 7.0 x 1.0 cm
  • Peso: 80g

 

En la siguiente tabla se muestra la configuración de pines de la pantalla, por lo tanto, es posible que si tienes una pantalla con un modelo distinto la configuración pueda cambiar.

 

Tutoriales hetpro
Conexión de pines LCD 128×64

NOTA: si se quiere seleccionar el modo de funcionamiento paralelo conectar el pin PSB a 5V, o en caso de querer utilizarlo en el modo serie conectar a GND.

Interfaz serial I2C IIC para LCD1602

Es un bus de comunicaciones en serie que utiliza dos líneas para la transmisión de información. Resumiendo, una para los datos SDA (pin A4 en Arduino UNO), y otra para la señal de reloj SCL (pin A5 en Arduino UNO). En consecuencia con esta interfaz serial podemos ahorrarnos los pines que se necesitaran normalmente para hacer la conexión de una LCD en Arduino UNO. Además se podrán tener disponibles para otro tipo de conexiones ya sea para sensores o cualquier otro tipo de componentes necesarios.

Materiales para tutorial 

Diagrama de conexiones I2C LCD

Finalmente, se muestra el diagrama de conexiones. Como resultado, solo estamos haciendo uso de 2 pines en el Arduino. Es posible que tu aplicación necesite los pines digitales para otras aplicaciones. Ten en cuenta que este módulo es muy importante para ahorrar conexiones y además modular el proceso de programación. Especialmente relevante donde requieres las especificaciones previamente mencionadas.

pantalla lcd i2c


Código:

En conclusión puedes utilizar este módulo LCD I2C en otras pantallas. Además compatible con la clásica pantalla lcd  i2c 16×2. Esperamos que te haya gustado este tutorial, ya sea por el interés maker o la temática en particular. finalmente, ten en cuenta que tu apoyo es necesario para seguir generando tutoriales, te pedimos compartir en redes sociales y suscribirte.

23 comentarios en «LCD I2C Arduino UNO pantalla 128×64 display»

  1. Estimado Amigo

    Me pareceio muy interesante tu articulo pero entiendo que este adapatador serial esta diseñado para display 16×2. Entonces como podrias dibujar un circulo u otra forma grafica con el display 128×64 con este adaptador??

    Saludos

    Fz

    1. Felix, tu pregunta ya es muy particular. Solo toma en cuenta que realmente este circuito es un convertidor de I2C a paralelo. Entonces los comandos de tu pantalla no cambian solo es que los empaquetas en I2C. Saludos.

  2. Yo cuento con un display 16×4 y no logro que el cursor inicie en la 3 o 4 linea
    podrias explicar por que las lineas saltan a tu inicio de linea por que en mi display me sobrepone el inicio de una linea con el final de otra
    lcd.setCursor(0,0); // este es el home igual que para mi display
    lcd.setCursor(-3,2); // esta no es mi inicio de 2 linea es como el caracter 14 de la 1 linea
    lcd.setCursor(10,4);
    lcd.setCursor(7,3);

    creo que tiene que ver con la cantidad de caracteres pero no entiendo bien la nomenclatura pongo 0,2 ó 0,3 como veo en otros tutoriales pero el cursor no salta al inicio de mi linea

  3. hola me ha pasado un problema al compilar tu código, he descargado las librerias y se muestran de diferente color que quiere decir que si las reconoce pero me manda el error de abajo quisiera saber si te topaste con este problema que me esta retrasando mi proyecto y ya le busque por muchos lados gracias.

    In file included from C:\Users\Win10\Desktop\VAEC PIEDRAS NEGRAS\arduino programacion\armando_2k\armando_2k.ino:2:0:

    C:\Users\Win10\Documents\Arduino\libraries\LiquidCrystal/LiquidCrystal_I2C.h: In function ‘void setup()’:

    C:\Users\Win10\Documents\Arduino\libraries\LiquidCrystal/LiquidCrystal_I2C.h:154:9: error: ‘int LiquidCrystal_I2C::init()’ is private

    int init();

    ^

    armando_2k:11: error: within this context

    lcd.init(); //inicializacion de la pantalla

    ^

    Se encontraron múltiples librerías para «Wire.h»
    Usado: C:\Users\Win10\Desktop\arduino-nightly\hardware\arduino\avr\libraries\Wire
    No usado: C:\Users\Win10\Documents\Arduino\libraries\Wire
    Usando librería Wire con versión 1.0 en la carpeta: C:\Users\Win10\Desktop\arduino-nightly\hardware\arduino\avr\libraries\Wire
    Utilizando biblioteca LiquidCrystal en carpeta: C:\Users\Win10\Documents\Arduino\libraries\LiquidCrystal (legacy)
    exit status 1
    within this context

  4. Gracias por el tutorial la Interfaz I2C IIC hace mas sencillo conectarlo pero tengo un problema, cuando lo conecte y cargue el código no me aparece nada en la pantalla, ya revise la conexión y el código todo parece bien ¿Como lo arreglo ?

    1. Daniel, si te funciona, ten en cuenta que este módulo I2C es un convertidor serial a paralelo por lo que si es compatible.

  5. hola a todos yo hice todo y funciona pero no 100% en cada parte donde escribo solo sale la primera letra alguien
    me puede ayudar de ante mano gracias a todo los que hicieron esto posible………

  6. no funciona con esta librería el el código que presentas da ese error, no se si tu tienes otra versión de la esta libreria

  7. Con la nueva libreria hay que remapear los pines en LiquidCrystal_I2C:
    #define EN 2
    #define RW 1
    #define RS 0
    #define D4 4
    #define D5 5
    #define D6 6
    #define D7 7

    Yyy agregar esta linea al codigo de arduino para controlar el led backlight
    LiquidCrystal_I2C lcd(0x27,3,POSITIVE);

    1. Hola, si sería posible, aunque no hemos hecho la prueba. Solo tendrias que buscar cuales pines son el I2C en el arduino nano y hacer las conexiones de esa forma.

  8. no me funciona le agregue el tamaño del display pero no vusualiza nada
    #include ;
    #include ;

    //0x27 esla direccion I2C comunmente arduno detecta la interfaz, en caso de no funcionar
    //la pantalla intentar con a direccion 0x20
    LiquidCrystal_I2C lcd(0x27,16,4); //16,4 es el tamaño de la pantalla.

  9. no me funciona le agregue el tamaño del display pero no vusualiza nada
    #include ;
    #include ;

    //0x27 esla direccion I2C comunmente arduno detecta la interfaz, en caso de no funcionar
    //la pantalla intentar con a direccion 0x20
    LiquidCrystal_I2C lcd(0x27,128,64); //16,4 es el tamaño de la pantalla.

  10. Lo que publicaste no funciona. en el título especificó la pantalla lcd12864 conectada mediante un adaptador lcd i2c, es engañoso, el diagrama/conexiones lcd12864 y el módulo lcd i2c no funcionan sin una biblioteca exacta. Sea explícito y envíe la biblioteca correcta para i2c-lcd12864.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *