- Descrição: O Módulo ESP8266 é um dispositivo IoT (Internet das Coisas)…
Como usar com Arduino – Módulo Adaptador I2C para Display LCD (16X2 / 20X4)
– Descrição:
O Módulo Adaptador I2C para Display LCD (16X2 / 20X4) foi desenvolvido com a finalidade de simplificar a conexão de display LCD (16X2 / 20X4) ao microcontrolador. Para uma conexão de 4 bits entre o display LCD (16X2 / 20X4) e o microcontrolador é necessário ao menos 6 cabos, logo, se o microcontrolador tiver poucas portas digitais isso poderá ser um problema. Com o Módulo Adaptador I2C para Display LCD (16X2 / 20X4) é necessário apenas 2 cabos de comunicação entre o display LCD (16X2 / 20X4) e o microcontrolador.
Em um projeto mais extenso e que é necessário à utilização de muitas portas digitais por parte de outros dispositivos, o Módulo Adaptador I2C para Display LCD (16X2 / 20X4) pode ser a solução simples e prática para que você economize algumas portas digitais na ligação do seu display LCD (16X2 / 20X4).
– Especificações e características:
– Controlador: PCF8574T
– Tensão de operação: 5VDC
– Interface: I2C
– Compatibilidade: display LCD 16×2 e 20×4
– Trimpot para ajustar o contraste do display LCD
– Pinos para ligar / desligar o backlight do display LCD
– Aplicações:
Redução da quantidade de pinos para conectar o Display LCD 16X2 ou 20X4 a uma plataforma microcontrolada.
– Proposta da prática:
Utilizar o Módulo Adaptador I2C para Display LCD (16X2 / 20X4) em conjunto com o Arduino e um Display LCD 16X2 para exibição de uma mensagem.
– Lista dos itens necessários:
01 – Arduino com Cabo USB
01 – Módulo Adaptador I2C para Display LCD (16X2 / 20X4)
01 – Display LCD 16×2
01 – Protoboard (opcional)
OBS: se você não quiser soldar o Módulo I2C diretamente ao seu Display LCD, basta utilizar uma protoboard para fazer a conexão entre eles.
– Esquema de ligação da prática:
OBS: no Arduino Mega 2560 os pinos I2C a serem utilizados são o 20 (SDA) e 21 (SCL).
– Tutorial de instalação e configuração do ambiente de programação do Arduino:
Arduino – Instalação e Configuração da IDE no Windows
– Biblioteca:
– Importando bibliotecas para o ambiente de programação do Arduino:
Arduino – Importando bibliotecas para a IDE
– Código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <Wire.h> //INCLUSÃO DE BIBLIOTECA #include <LiquidCrystal_I2C.h> //INCLUSÃO DE BIBLIOTECA LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE); //ENDEREÇO DO I2C E DEMAIS INFORMAÇÕES void setup(){ lcd.begin (16,2); //SETA A QUANTIDADE DE COLUNAS(16) E O NÚMERO DE LINHAS(2) DO DISPLAY lcd.setBacklight(HIGH); //LIGA O BACKLIGHT (LUZ DE FUNDO) } void loop(){ lcd.setCursor(0,0); //SETA A POSIÇÃO DO CURSOR lcd.print(" A "); //IMPRIME O TEXTO NO DISPLAY LCD lcd.setCursor(0,1); //SETA A POSIÇÃO DO CURSOR lcd.print("MASTERWALKERSHOP"); //IMPRIME O TEXTO NO DISPLAY LCD delay(2000); //INTERVALO DE 2 SEGUNDOS lcd.setCursor(0,0); //SETA A POSIÇÃO DO CURSOR lcd.print(" SE PREOCUPA "); //IMPRIME O TEXTO NO DISPLAY LCD lcd.setCursor(0,1); //SETA A POSIÇÃO DO CURSOR lcd.print(" COM O SEU "); //IMPRIME O TEXTO NO DISPLAY LCD delay(2000); //INTERVALO DE 2 SEGUNDOS lcd.setCursor(0,1); //SETA A POSIÇÃO DO CURSOR lcd.print(" "); //SEQUÊNCIA DE ESPAÇOS lcd.setCursor(0,0); //SETA A POSIÇÃO DO CURSOR lcd.print(" APRENDIZADO! "); //IMPRIME O TEXTO NO DISPLAY LCD delay(2000); //INTERVALO DE 2 SEGUNDOS } |
– Resultado final:
OBS: se o Display LCD não estiver apresentando nenhum caractere conforme mostrado no vídeo, faça o ajuste do contraste através do trimpot que se encontra no Módulo I2C.
Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!
Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop
Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.
Obrigado e até a próxima!
Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.
Postagem anterior: Como usar com Arduino – Módulo Real Time Clock RTC DS3231
Próxima postagem: Componentes Eletromecânicos
Usei o display 20×4 e funcionou de primeira!
Arduino: 1.8.15 (Windows Store 1.8.49.0) (Windows 10), Placa:”Arduino Uno”
sketch_aug28d:4:45: error: ‘POSITIVE’ was not declared in this scope
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE);
^~~~~~~~
exit status 1
‘POSITIVE’ was not declared in this scope
Este relatório teria mais informações com
“Mostrar a saida detalhada durante a compilação”
opção pode ser ativada em “Arquivo -> Preferências”
Olá Lauares.
Agradeço pelo comentário!
Você deve utilizar a biblioteca disponibilizada para download no tutorial.
Eu gostaria de saber quem foi o infeliz que inventou essa biblioteca “POSITIVE”. Posso fazer o que quiser que sempre dá erro.
Boas, estraguei meu trimpot, tem outra opçao de mudar o contraste?
Olá Ricardo.
Agradeço pelo comentário!
Trocar o trimpot é uma opção.
Porque o display fica todo azul, e as letras aparecem e muito fracamente, e só quando olhamos de perfil? Olhando de frente os caracteres não aparecem.
Olá Jose.
Agradeço pelo comentário!
No tutorial (após o vídeo) está escrito: se o Display LCD não estiver apresentando nenhum caractere conforme mostrado no vídeo, faça o ajuste do contraste através do trimpot que se encontra no Módulo I2C.
Portanto, faça o ajuste no trimpot do seu Módulo I2C.
Muito obrigado, ajudou muito !!,
Eu baixei esse arquivo zip newliquidcrystal que você deixou acima e inclui no arduino, porém quando eu boto para carregar ele diz que tem varias bilbiotecas para liquidcrystal alem de nao aparecer liquidcrystal_I2C.h só aparece liquid crystal.h. O que eu faço?
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
Aparece isso quando eu incluo a biblioteca acima que voce deixou para download.
Olá Lucas.
Agradeço pelo comentário!
Verifique na pasta de instalação de bibliotecas do IDE do Arduino, pois há outras bibliotecas liquidcrystal_I2 instaladas. Você deve removê-las e manter somente esta disponibilizada na postagem.
Eu exclui mas mesmo assim fala que tem multiplas bibliotecas para liquidcrystal_i2c.h. Agora tambem obteve um erro : exit status 1 – erro compilando para a placa wemos d1 r1
Mas o tutorial em questão é para ser utilizado com Arduino e não com ESP8266 (Wemos, NodeMCU ou qualquer outra placa baseada em ESP8266).
Eu arrumei um arduino uno r3 e fiz essas mesmas etapas nele mas continua falando que tem multiplas bibliotecas liquid crystal. Já excluir as outras que tinha disponivel na pasta e deixei apenas que voce utilizou, porém o erro persiste.
Se o erro persiste, ainda há mais bibliotecas LiquidCrystal I2C instaladas em umas pastas padrão de biblioteca do IDE do Arduino. A pasta pode estar com outro nome, mas os arquivos podem estar nomeados como LiquidCrystal I2C.
seu tutorial ficou show, tentei os de diversos outros sites sem dar certo o seu de primeira, valeu.
Olá Felipe.
Agradeço pelo comentário!
Fico satisfeito em saber que deu certo este tutorial.
Segue a gente lá no Facebook e Instagram:
https://www.facebook.com/masterwalkershop/
https://www.instagram.com/masterwalkershop/
Vlw!!!
Olá fiz igual você fez ai mas na hora de aparecer no display ele só pisca e não aparece nada, o que poderia ser o problema?
estou usando o arduino mega 2560
Olá Gabriel.
Agradeço pelo comentário!
No Arduino Mega 2560 os pinos I2C a serem utilizados são: 20 (SDA) e 21 (SCL).
Boa noite, quando carreguei o código deu tudo certo mas então quando testo na lcd ele não escreve nada, testei alterar o código para ele não ligar a luz de fundo e funcionou então a comunicação imagino que esteja funcionando. Teria alguma ideia do que poderia ser?
Olá Leo.
Agradeço pelo comentário!
Você chegou a ler esse trecho do texto e a executar o procedimento?
“OBS: se o Display LCD não estiver apresentando nenhum caractere conforme mostrado no vídeo, faça o ajuste do contraste através do trimpot que se encontra no Módulo I2C.”
Então, não havia lido (culpa minha), no entanto mesmo assim ele continua com o mesmo problema…
Tente alterar o endereço I2C do módulo.
Na linha de código “LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE);” substitua o 0x27 por 0x20 e veja se resolve.
Caso ainda não funcione, recomendo verificar se este módulo que está utilizando possui algum outro endereço I2C ou alguma particularidade para funcionar.
Para identificar o endereço de forma mais rápida existe um código que ao ser compilado ele retorna o endereço do I2C
esse é o git dele: https://gist.github.com/tfeldmann/5411375
O projeto que o Miguel compartilhou aí foi muito útil! No meu caso o endereço era 0x3F.
Funcionou com sucesso.
Abraços!
O meu sempre dá o ERRO: ‘POSITIVE’ was not declared in this scope
O que pode ser?
Olá Isaac.
Esse erro ocorre devido a biblioteca não estar sendo importada no ambiente de programação do Arduino.
Baixe a biblioteca disponível na postagem e faça a importação dela na IDE.
Excelente!! Testado e aprovado!! Parabéns!!
Olá Otacílio.
Que bom que deu certo.