Primal Display: Construa Monitor de Temperatura LCD com Raspberry Pi
Este guia mostra como conectar LCD 16x2 compatível HD44780 a um Raspberry Pi 3 e exibir leituras ao vivo de temperatura e umidade de sensor DHT11. Instruções cobrem seleção de hardware, fiação (modos 4-bit e 8-bit), bibliotecas necessárias, e script Python completo.
História
Introdução
Display LCD é add-on versátil para qualquer projeto Raspberry Pi. Fiação de tela HD44780-compatível diretamente aos pinos GPIO permite apresentar dados de sensores ou mensagens personalizadas sem precisar de adaptadores I2C ou SPI.
Hardware
- LCD 16x2 compatível HD44780 (custo <$10)
- Raspberry Pi 3 (ou mais novo)
- Sensor de temperatura/umidade DHT11
- Cartão Micro-SD com Raspbian OS
- 1–2 Potenciômetros 10 kΩ (contraste/brilho)
- Protoboard, jumpers, e fonte 5 V
Usaremos seis pinos GPIO para o LCD; este método direto mantém porta serial do Pi livre e elimina necessidade de drivers I2C.
Fazendo a Fiação
Duas opções de fiação disponíveis:
- Modo 4-bit — usa 4 linhas de dados, um potenciômetro para contraste.
- Modo 8-bit — usa 8 linhas de dados, dois potenciômetros (contraste e brilho).
No modo 4-bit o byte de comando de 8 bits é dividido em duas metades de 4 bits, então barramento de dados tem metade da largura. Na prática, tempo de processamento interno do LCD mascara qualquer vantagem de velocidade do modo 8-bit, então escolha baseado em pinos disponíveis.
Conexões LCD (Modo 4-bit)
- Pino 1 (GND) — Terra
- Pino 2 (+5 V) — Alimentação
- Pino 3 (Vo) — Cursor do potenciômetro (contraste)
- Pino 4 (RS) — GPIO 37
- Pino 5 (RW) — Terra (somente escrita)
- Pino 6 (EN) — GPIO 35
- Pinos 7–10 — não usados
- Pino 11 (D4) — GPIO 33
- Pino 12 (D5) — GPIO 31
- Pino 13 (D6) — GPIO 29
- Pino 14 (D7) — GPIO 23
- Pino 15 (LED+) — +5 V
- Pino 16 (LED−) — Terra
Conexões LCD (Modo 8-bit)
- Pino 1 — Terra
- Pino 2 — +5 V
- Pino 3 — Cursor do potenciômetro (contraste)
- Pino 4 — GPIO 37 (RS)
- Pino 5 — Terra (RW)
- Pino 6 — GPIO 35 (EN)
- Pino 7 (D0) — GPIO 40
- Pino 8 (D1) — GPIO 38
- Pino 9 (D2) — GPIO 36
- Pino 10 (D3) — GPIO 32
- Pino 11 (D4) — GPIO 33
- Pino 12 (D5) — GPIO 31
- Pino 13 (D6) — GPIO 29
- Pino 14 (D7) — GPIO 23
- Pino 15 — +5 V
- Pino 16 — Terra
Fiação do Sensor DHT11
O DHT11 usa três pinos: VCC, Data, GND. Conecte VCC a 3,3 V (pino 1); se leituras instáveis, mude para 5 V (pino 2). Ligue pino Data ao GPIO 18 (pino físico 12). Resistor pull-up (4,7 kΩ) recomendado entre VCC e Data.
Bibliotecas Necessárias
Garanta que sistema tem ferramentas de build e headers Python:
sudo apt-get update
sudo apt-get install build-essential python-dev
Instale RPLCD para controle do LCD:
sudo apt-get install python-pip
sudo pip install RPLCD
Instale biblioteca Adafruit DHT11 do 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 (Modo 8-bit)
Crie temperature.py usando editor preferido (ex.: nano):
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
import Adafruit_DHT
from RPLCD import CharLCD
GPIO.cleanup()
# Configuração 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('Falha ao obter dados do sensor')
continue
print(f'Temp: {temperature:.1f} C Umidade: {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'Umidade: {int(humidity)} %')
time.sleep(5)
Torne script executável e execute:
chmod +x temperature.py
./temperature.py
Alternativa Modo 4-bit
Substitua lista pins_data com quatro pinos GPIO (ex.: [33, 31, 29, 23]) e ajuste inicialização do LCD conforme necessário.
Resumo
Seguindo estes passos, você terá display LCD totalmente funcional mostrando temperatura e umidade em tempo real, perfeito para estações meteorológicas, dashboards IoT ou projetos educacionais.
Leia Mais Detalhes
Para insight mais profundo em drivers LCD e configuração avançada, explore repositório Adafruit DHT e documentação RPLCD.
Processo de manufatura
- O Rolo de Massa: Das Origens Etruscas à Arte Moderna
- A Evolução e o Artesanato dos Pinos de Boliche Modernos
- Display de Cristal Líquido (LCD): Tecnologia, Fabricação e Perspectivas Futuras
- Dominando o Subsistema de Controle de Pinos para Drivers de Dispositivos Linux
- Drone Pi: Quadricóptero Multiwii & Raspberry Pi de Modo Duplo para Controle por Smartphone e Remoto
- Projeto DIY Arduino LCD: Monte com Resistores, Botão e Display 16x2
- Entendendo Displays Braille Portáteis: Principais Insights e Inovações
- O 74LS74 Dual Flip-Flop: Referência Completa e Pinagem
- Atlas Copco Apresenta Gerador de Nitrogênio NGP+ na WIN Expo 2017
- Atlas Copco Apresenta Soluções Avançadas para Manufatura Plástica na NPE2018