Cómo conectar una pantalla LCD 16×02 a Raspberry Pi

En este pequeño tutorial veremos cómo conectar una pantalla / display LCD 16×02 a una tarjeta Raspberry Pi, también encontrarás un código de programación para tus primeras pruebas.

Las pantallas LCD son dispositivos digitales de salida, es decir su funcionamiento consiste en recibir instrucciones del texto que se desea mostrar y mostrarlo. En este ejemplo utilizaremos el paquete de python Adafruit_CircuitPython_CharLCD para controlar la pantalla de manera rápida y con pocas líneas de código.

Componentes Necesarios

  • Pantalla LCD 16×02
  • Raspberry Pi
  • Protoboard Chica
  • Potenciometro 10kohms
  • Cables para conexiones H-M y M-M

Diagrama de Conexiones

Raspberry Pi – Potenciometro – LCD 16×02

Pasos previos a ejecutar el código

1.- Instalar paquetes de Python3

En este código hacemos uso de los paquetes de Python3 Adafruit_CircuitPython_CharLCD y Adafruit_Blinka. Para instalarlos ejecuta los siguientes comandos en la terminal:


[email protected]:~$ sudo pip3 install adafruit-circuitpython-charlcd

[email protected]:~$ sudo pip3 install adafruit-blinka

Código de Python3

Copiamos el siguiente código de ejemplo de Adafruit a un script de Python y lo ejecutamos con Python3 y observamos el texto desplegado en la pantalla LDC 16×02.


"""Simple test for monochromatic character LCD on Raspberry Pi"""
import time
import board
import digitalio
import adafruit_character_lcd.character_lcd as characterlcd

# Modify this if you have a different sized character LCD
lcd_columns = 16
lcd_rows = 2

# Raspberry Pi Pin Config:
lcd_rs = digitalio.DigitalInOut(board.D22)
lcd_en = digitalio.DigitalInOut(board.D17)
lcd_d4 = digitalio.DigitalInOut(board.D25)
lcd_d5 = digitalio.DigitalInOut(board.D24)
lcd_d6 = digitalio.DigitalInOut(board.D23)
lcd_d7 = digitalio.DigitalInOut(board.D18)

# Initialise the lcd class
lcd = characterlcd.Character_LCD_Mono(
    lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows
)

# Turn backlight on
lcd.backlight = True
# Print a two line message
lcd.message = "Hello\nCircuitPython"
# Wait 5s
time.sleep(5)
lcd.clear()
# Print two line message right to left
lcd.text_direction = lcd.RIGHT_TO_LEFT
lcd.message = "Hello\nCircuitPython"
# Wait 5s
time.sleep(5)
# Return text direction to left to right
lcd.text_direction = lcd.LEFT_TO_RIGHT
# Display cursor
lcd.clear()
lcd.cursor = True
lcd.message = "Cursor! "
# Wait 5s
time.sleep(5)
# Display blinking cursor
lcd.clear()
lcd.blink = True
lcd.message = "Blinky Cursor!"
# Wait 5s
time.sleep(5)
lcd.blink = False
lcd.clear()
# Create message to scroll
scroll_msg = "<-- Scroll"
lcd.message = scroll_msg
# Scroll message to the left
for i in range(len(scroll_msg)):
    time.sleep(0.5)
    lcd.move_left()
lcd.clear()
lcd.message = "Going to sleep\nCya later!"
# Turn backlight off
lcd.backlight = False
time.sleep(2)

¡Sigue explorando!