LCD PC1602F-B en Raspberry Pi


Conectando un LCD PC1602F-B en Raspberry Pi
Conectando un LCD PC1602F-B en Raspberry Pi

Existen varias formas de conectar un LCD 16×2 a nuestra Raspberry Pi de manera más optima como por ejemplo con el método de I2C, pero vamos a utilizar el puerto GPIO.

Este método es realmente sencillo a la par de práctico donde podremos observar y comprender el funcionamiento de los puertos GPIO de nuestra Rasberry, así como introducirnos al lenguaje de programación Python!

Antes de empezar

Tenemos que tener claro que este artículo describe una forma diferente de conexión de un LCD de 16×2 a nuestra Raspberry Pi debido a que el modelo que utilizo de pantalla tiene los pines 15 y 16 al principio del tramo por lo tanto el esquema varia…

Normalmente se utilizará una resistencia variable para regular el contraste, no obstante yo no la utilizaré ya que Raspberry Pi no es capaz de alimentar el LCD a plena potencia y por lo tanto los niveles de contraste y luz no son elevados ni necesitan regulación alguna.

Lista componentes necesario

  • LCD 16×2 con controlador hitachi HD44780
  • Raspberry Pi ( tipo B )
  • Protoboard
  • Cables de conexión
  • Raspberry Pi board connect

Esquemas

En los esquemas detallaré como se realizarán las conexiones entre el LCD y la Raspberry Pi.

Esquema visual

Podemos observar la Raspberry Pi y justo debajo la protoboard! el color de los cables es indiferente… más adelante podemos ver un esquema relacional de los pines que se utilizarán y donde irán conectados.

Conexión del LCD16x2 a la Raspberry Pi mediante cables de colores
Conexión del LCD16x2 a la Raspberry Pi mediante cables de colores

En la imagen podemos ver como he utilizado dos cables amarillos… sencillamente, me he quedado sin colores! los cables rojos ( positivo ) y negros ( negativos ) indican eso… y el cable blanco ( negativo ) está es el contraste del LCD! que va conectado directamente a negativo.

Electrónico

A continuación podemos ver el esquema electrónico donde por un lado tenemos los pines GPIO de nuestra Raspberry Pi y por el otro el PC1602F-B relacionados…

Esquema de conexión del LCD16x2 a la Raspberry Pi
Esquema de conexión del LCD16x2 a la Raspberry Pi

En lo único que se tiene que prestar atención es en las conexiones que contienen el positivo y el negativo que alimentan el LCD!

Paquetes necesarios

El control de los puertos GPIO lo vamos a realizar por medio de Python.. y por lo tanto necesitaremos su entorno de desarrollo para que funcione el código fuente que más tarde expondré… sudo apt-get install python-dev python-pip python-setuptools git

sudo apt-get install python-dev python-pip python-setuptools git

Una vez tenemos los paquetes instalados en nuestra distribución… instalaremos el control de GPIO de la siguiente forma… sudo easy_install -U distribute sudo pip install rpi.gpio –upgrade

sudo easy_install -U distributesudo pip install rpi.gpio --upgrade

Ahora lo tendríamos que tener todo listo para que nuestro código funcione sin problemas…

Código fuente

El código ha sido extraído de Adafruit, para empezar, primero lo descargaremos…

git clone https://github.com/adafruit/Adafruit_Python_CharLCD

Y ahora accederemos al directorio…

cd Adafruit_Python_CharLCD-master/
cd adafruit_python_charLCD-master/adafruit_charLCD

Y podemos ver que tiene el siguiente contenido:

root@raspberrypi:/home/pi/adafruit_python_charLCD-master/adafruit_charLCD

Funcionamiento

#!/usr/bin/python
from rpi_CharLCD import rpi_CharLCD
from subprocess import *
from time import sleep, strftime
from datetime import datetime
lcd = rpi_CharLCD()
lcd.begin(16,2)
def run_cmd(cmd):
             p = Popen(cmd, shell=True, stdout=PIPE)
             output = p.communicate()[0]
             return output
while 1:
             lcd.clear()
             lcd.message('Hello moto!n')
             lcd.message('Funciona!! funciona!!')
             sleep(2)

Como podemos ver es un sencillo script que realiza una llamada a la librería de «rpi_CharLCD.py» y que más tarde realiza un búcle (while) donde envía el mensaje cada dos segundos (sleep(2)).

Utilizando la función «lcd.message» enviamos el mensaje a nuestro LCD, así mismo utilizando «lcd.clear()» limpiamos la pantalla.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
error: ¡¡El contenido está protegido!!