Pantalla LCD I2C

Una pantalla LCD (Liquid Crystal Display) es una forma muy sencilla y económica de leer información desde nuestro Arduino. Un formato muy habitual es el 16x2 (LCD1602), es decir, pantallas que muestran 2 filas de 16 caracteres cada una.

Las pantallas LCD que disponen de módulo I2C facilitan enormemente el cableado, ya que permiten utilizar el protocolo de comunicación I2C, que solo precisa de dos pines de Arduino.

Conexión

Los pines I2C (SDA y SCL) dependen del modelo Arduino que utilicemos. Para las placas Arduino Uno, Nano y Mini el pin SCL es el pin analógico 5 y SDA es el pin analógico 4.

Módulo I2C

Arduino

SCL

A5

Proporciona una señal de reloj

SDA

A4

Pin para la transferencia de datos

VCC

5V

Alimentación a 5V

GND

GND

Ground

Programación

PASO 1. Para utilizar la pantalla LCD con módulo I2C hay que incluir la biblioteca LiquidCrystal_I2C.

PASO 2. Creamos una instancia de un objeto tipo LiquidCrystal_I2C. Para ello incluimos la instrucción LiquidCrystal_I2C lcd(direccion, columnas, filas) al principio del programa, antes de setup():

  • lcd es el nombre que vamos a usar para referirnos a nuestro LCD (podemos cambiarlo por otro cualquiera).

  • direccion es la dirección I2C del dispositivo conectado a Arduino. La dirección por defecto del módulo suele ser 0x27 (también puede ser 0x3F).

  • columnas y filas es el número de columnas y filas de la pantalla, respectivamente. Para una pantalla 16x2 (16 columnas y 2 filas) escribiremos: LiquidCrystal_I2C lcd(0x27, 16, 2).

PASO 3. Inicializamos la pantalla. Para ello, en la función setup(), incluimos la instrucción lcd.begin() (o, en lugar de lcd, pondremos el nombre que hayamos escogido para nuestro LCD).

PASO 4. Para utilizar las funciones de la biblioteca LiquidCrystal_I2C escribimos la palabra lcd (o el nombre que corresponda) e inmediatamente a continuación, separado por un punto, el nombre de la función, incluyendo siempre los paréntesis. Algunas de las funciones disponibles son las siguientes:

  • clear(): borra la pantalla y sitúa el cursor en la esquina superior izquierda.

  • setCursor(columna, fila): sitúa el cursor del LCD en la posición indicada por columna y fila.

  • print(texto): escribe el texto o valor indicado en los paréntesis.

  • backlight(): enciende la luz del fondo del LCD (es el estado por defecto).

  • noBacklight(): apaga la luz del fondo del LCD.

  • Otras funciones:

    • home()

    • write()

    • cursor()

    • noCursor()

    • blink()

    • noBlink()

    • display()

    • noDisplay()

    • scrollDisplayLeft()

    • scrollDisplayRight()

    • autoscroll()

    • noAutoscroll()

    • leftToRight()

    • rightToLeft()

    • createChar()

Tutorial “LiquidCrystal Library Functions Tour Part 1”: https://programmingelectronics.com/liquidcrystal-library-functions-tour-part-1/

Last updated