Primal Display: construye monitor temperatura LCD con Raspberry Pi
Esta guía muestra cómo conectar LCD 16x2 compatible HD44780 a Raspberry Pi 3 y mostrar lecturas vivo de temperatura y humedad desde sensor DHT11. Las instrucciones cubren selección hardware, cableado (modos 4-bit y 8-bit), librerías requeridas y script Python completo.
Historia
Introducción
Una pantalla LCD es add-on versátil para cualquier proyecto Raspberry Pi. Cableando pantalla HD44780-compatible directo a pines GPIO, puedes presentar datos sensores o mensajes personalizados sin necesitar adaptadores I2C o SPI.
Hardware
- LCD 16x2 compatible HD44780 (costo <$10)
- Raspberry Pi 3 (o posterior)
- Sensor temperatura/humedad DHT11
- Tarjeta micro-SD con Raspbian OS
- 1–2 potenciómetros 10 kΩ (contraste/brillo)
- Protoboard, cables jumper, y fuente 5 V
Usaremos seis pines GPIO para el LCD; este método directo mantiene puerto serie libre y elimina necesidad de drivers I2C.
Cableando
Dos opciones cableado disponibles:
- Modo 4-bit – usa 4 líneas datos, un potenciómetro para contraste.
- Modo 8-bit – usa 8 líneas datos, dos potenciómetros (contraste y brillo).
En modo 4-bit el byte comando 8-bit se divide en dos mitades 4-bit, así el bus datos es mitad de ancho. En práctica, tiempo procesamiento interno del LCD enmascara cualquier ventaja velocidad de modo 8-bit, así que elige según pines disponibles.
Conexiones LCD pines (4-bit)
- Pin 1 (GND) – Tierra
- Pin 2 (+5 V) – Alimentación
- Pin 3 (Vo) – Cursor potenciómetro (contraste)
- Pin 4 (RS) – GPIO 37
- Pin 5 (RW) – Tierra (solo escritura)
- Pin 6 (EN) – GPIO 35
- Pin 7–10 – sin usar
- Pin 11 (D4) – GPIO 33
- Pin 12 (D5) – GPIO 31
- Pin 13 (D6) – GPIO 29
- Pin 14 (D7) – GPIO 23
- Pin 15 (LED+) – +5 V
- Pin 16 (LED−) – Tierra
Conexiones LCD pines (8-bit)
- Pin 1 – Tierra
- Pin 2 – +5 V
- Pin 3 – Cursor potenciómetro (contraste)
- Pin 4 – GPIO 37 (RS)
- Pin 5 – Tierra (RW)
- Pin 6 – GPIO 35 (EN)
- Pin 7 (D0) – GPIO 40
- Pin 8 (D1) – GPIO 38
- Pin 9 (D2) – GPIO 36
- Pin 10 (D3) – GPIO 32
- Pin 11 (D4) – GPIO 33
- Pin 12 (D5) – GPIO 31
- Pin 13 (D6) – GPIO 29
- Pin 14 (D7) – GPIO 23
- Pin 15 – +5 V
- Pin 16 – Tierra
Cableado sensor DHT11
El DHT11 usa tres pines: VCC, Data, GND. Conecta VCC a 3,3 V (pin 1); si lecturas inestables, cambia a 5 V (pin 2). Cablea pin Data a GPIO 18 (pin físico 12). Resistencia pull-up (4,7 kΩ) recomendada entre VCC y Data.
Librerías requeridas
Asegura que sistema tiene herramientas build y headers Python:
sudo apt-get update
sudo apt-get install build-essential python-dev
Instala RPLCD para control LCD:
sudo apt-get install python-pip
sudo pip install RPLCD
Instala librería Adafruit DHT11 desde GitHub:
sudo apt-get install git
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python setup.py install
Script Python (8-bit)
Crea temperature.py con tu editor preferido (ej. nano):
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
import Adafruit_DHT
from RPLCD import CharLCD
GPIO.cleanup()
# Configuración LCD – modo 8-bit
lcd = CharLCD(
numbering_mode=GPIO.BOARD,
cols=16,
rows=2,
pin_rs=37,
pin_e=35,
pins_data=[40, 38, 36, 32, 33, 31, 29, 23]
)
while True:
humidity, temperature = Adafruit_DHT.read_retry(11, 18)
if humidity is None or temperature is None:
print('Failed to retrieve data from sensor')
continue
print(f'Temp: {temperature:.1f} C Humidity: {humidity:.1f} %')
lcd.clear()
lcd.cursor_pos = (0, 0)
lcd.write_string(f'Temp: {int(temperature)} C')
lcd.cursor_pos = (1, 0)
lcd.write_string(f'Humidity: {int(humidity)} %')
time.sleep(5)
Haz script ejecutable y ejecuta:
chmod +x temperature.py
./temperature.py
Alternativa modo 4-bit
Reemplaza lista pins_data con cuatro pines GPIO (ej. [33, 31, 29, 23]) e inicializa LCD accordingly.
Resumen
Siguiendo estos pasos, tendrás pantalla LCD totalmente funcional que muestra temperatura y humedad en tiempo real, perfecta para estaciones meteorológicas, paneles IoT o proyectos educativos.
Leer más detalle
Para insight profundo en drivers LCD y configuración avanzada, explora repositorio Adafruit DHT y documentación RPLCD.
Proceso de manufactura
- El rodillo de cocina: de los orígenes etruscos a la artesanía moderna
- La Evolución y la Artesanía de los Bolos de Bolera Modernos
- Pantalla de Cristal Líquido (LCD): Tecnología, Fabricación y Perspectivas Futuras
- Drone Pi: Quadcopter Multiwii y Raspberry Pi de doble modo para control por smartphone y mando a distancia
- Proyecto Arduino LCD DIY: Ensamblaje con resistencias, pulsador y display 16x2
- De analógico a LCD: Cómo evolucionaron las cabinas de cristal de los transbordadores espaciales
- El 74LS74 Flip-Flop Dual: Referencia Completa y Patillaje
- Atlas Copco presenta el generador de nitrógeno NGP+ en la WIN Expo 2017
- Atlas Copco presenta soluciones avanzadas para fabricación de plásticos en NPE2018
- Comprendiendo Pantallas Braille Portátiles: Claves e Innovaciones
- Dominando el subsistema de control de pines para drivers de dispositivos Linux