Utilizando Raspberry Pi 2 com Display LCD 20×4

Utilizando Raspberry Pi 2 com Display LCD 20×4

Neste artigo vamos mostrar como ligar, em poucos passos, um Raspberry Pi 2 com Display LCD 20×4, permitindo que você mostre as mais diversas informações como avisos, mensagens, data, hora, informações de sensores, endereço ip, etc, criando uma eficiente interface de comunicação com o usuário.

Raspberry_Pi_Display_20x40_Imagem (1)

Antes de conectar o display, vamos preparar o Raspbian atualizando o sistema operacional e instalando a biblioteca necessária para o seu funcionamento.

Instalação biblioteca LCD

Conecte o seu Raspberry Pi 2 à internet utilizando a porta ethernet ou um adaptador wifi. Abra uma janela de terminal (LX Terminal), e execute os comandos abaixo, ignorando eventuais mensagens de erro informando que o pacote já está instalado:

sudo apt-get update
sudo apt-get install build-essential python-dev python-smbus python-pip git
sudo pip install RPi.GPIO

Vamos fazer agora o download e instalação da biblioteca da Adafruit, a Adafruit_Python_CharLCD:

cd ~
git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git
cd Adafruit_Python_CharLCD
sudo python setup.py install

Será criada uma pasta chamada Adafruit_Python_CharLCD. Dentro dela, você encontra uma outra pasta chamada EXAMPLES, com vários programas para testes, como envio de strings, utilização com displays RGB, entre outros. A biblioteca funciona com displays 16×2 e 20×4, bastando alterar duas linhas no programa.

Conectando o display LCD 20×4 ao Raspberry Pi 2

A conexão utiliza 4 pinos de dados e 2 de controle, e no Raspberry vamos usar as portas 18, 23, 12, 16, 20 e 21 para os pinos RS, E, D4, D5, D6 e D7, respectivamente. A alimentação do display será feita pelos pinos 2 (5V) e 6 (GND) do Raspberry.

GPIO Raspberry

Monte o circuito abaixo utilizando um potenciômetro para ajuste do contraste do display. Utilizamos um potenciômetro de 10 K mas você pode usar outros valores, como 50 K ou 100 K:

Circuito Raspberry e LCD 20x4

Caso necessite, é possível reduzir a luminosidade da luz de fundo do LCD utilizando um resistor entre o pino 15 do display e o Vcc.

Programando o Raspberry Pi 2

Digite ou copie o programa abaixo na IDLE do Raspbian. Você pode utilizar esse mesmo programa para controlar displays 16×2, alterando os valores nas linhas 18 (colunas) e 19 (linhas), e tomando cuidado para que o valor das linhas e colunas nos comandos lcd.set_cursor() não ultrapasse os limites do display que você estiver utilizando.

# Programa : Raspberry Pi 2 com Display LCD 20x4
# Autor : FILIPEFLOP

import Adafruit_CharLCD as LCD
import math
import time

# Pinos de ligacao ao display
lcd_rs        = 18  
lcd_en        = 23
lcd_d4        = 12
lcd_d5        = 16
lcd_d6        = 20
lcd_d7        = 21
lcd_bl        = 4

# Define o numero de linhas e colunas
lcd_columns = 20
lcd_rows    = 4

# Inicializa o LCD utilizando os pinos definidos acima.
lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6,
			   lcd_d7, lcd_columns, lcd_rows, lcd_bl)

while 1:
        # Apaga o display
        lcd.clear()
        # Posiciona o cursor
        lcd.set_cursor(5,0)
        # Exibe mensagem
        lcd.message('FILIPEFLOP')
        
        lcd.set_cursor(1,2)
        lcd.message('www.filipeflop.com')
        
        # Aguarda 5 segundos
        time.sleep(5.0)
            
        # Scroll de texto
        lcd.clear()
        lcd.set_cursor(0,0)
        message = 'Raspberry'
        lcd.message(message)
        lcd.set_cursor(0,1)
        lcd.message('  Pi  2')
        lcd.set_cursor(0,3)
        lcd.message('LCD  20x4')
        for i in range(lcd_columns-len(message)):
                time.sleep(0.5)
                lcd.move_right()
        for i in range(lcd_columns-len(message)):
                time.sleep(0.5)
                lcd.move_left()
        
        # Aguarda 5 segundos e reinicia o processo
        time.sleep(5.0)

Além dos comandos utilizados no programa, a biblioteca contém ainda funções para habilitar ou desabilitar o display, modificar o cursor, utilizar caracteres customizados e controlar a luz de fundo. Abra uma janela do terminal e execute o comando abaixo para ter uma relação completa das funções disponíveis na biblioteca:

python
import Adafruit_CharLCD as LCD
help(LCD.Adafruit_CharLCD)

Gostou? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo) e visite nossa loja FILIPEFLOP!

1
Utilizando Raspberry Pi 2 com Display LCD 20×4
8 votos, 5.00 classificação média (100% pontuação)

Formado em Ciência da Computação pela Universidade de Mogi das Cruzes, atualmente responsável pelo departamento técnico da FILIPEFLOP.

Compartilhe este Post

3 Comentários

  1. Fernando Lopes - 22 de janeiro de 2016

    Ótimo exemplo. Parabéns.
    Eu tô querendo montar um pequeno servidor de arquivos com o Rapberry Pi, e na frente da caixinha vou colocar um display LCD 20×4.
    Quero mostrar informações de velocidade e temperatura do CPU e o quanto de espaço vazio tem nos HDs externos que estiverem plugados nas portas USB. Tem ideia de onde posso encontrar essas informações?
    Obrigado.

  2. Sergio - 1 de julho de 2015

    Tenho um raspberry pi 2 e um hifiberry dac+, como eu faço para adicionar um display lcd 16×2 para que informe a música/tempo e banda que está tocando?

Deixe uma resposta