Conectando display LCD ao NodeMCU
fonte: próprio autor
Esse tutorial vai ser destinado ao usuário que pretende realizar uma ligação entre o NodeMCU e um display LCD com I2C.
As informações exibidas no display deverão aparecer de forma estática, onde são trocadas depois de um período e de maneira em que rolam da direita para a esquerda.
Para esse projeto vai ser utilizado:
Esquema
A ligação do circuito é bastante simple, para ligar o display LCD ao NodeMCU, foi utilizado somente duas portas digitais do módulo D1 e D2, além do VCC e GND.
O módulo I2C torna o projeto ainda mais prático, pois otimiza o uso de pinos e sua conexão é direta com o display.
fonte: próprio autor
Com as ligações feitas é necessário carregar os códigos na IDE do Arduino e testar o projeto.
Selecione a placa utilizada, NodeMCU e a porta COM. Caso seja iniciante no uso dos módulos relacionados, acesse o tutorial de uso pelos atalhas NodeMCU e I2C.
Código 1
Nesse código as informações exibidas no NodeMCU trocam conforme o delay especificado, de forma estática.
//Tony Emerson Marim em 15/06/2017.
/** mecatronizando@gmail.com **/
/** Display LCD **/
#include <Wire.h> //INCLUSÃO DE BIBLIOTECA
#include <LiquidCrystal_I2C.h> //INCLUSÃO DE BIBLIOTECA
LiquidCrystal_I2C lcd(0x3F, 16, 2); //FUNÇÃO DO TIPO "LiquidCrystal_I2C"
void setup()
{
lcd.init(); // INICIALIZA O DISPLAY LCD
lcd.backlight(); // HABILITA O BACKLIGHT (LUZ DE FUNDO)
}
void loop()
{
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Mecatronizando"); // EXIBE O TEXTO DA PRIMEIRA LINHA
lcd.setCursor(0, 1);
lcd.print("ESP8266 nodeMCU"); // EXIBE TEXTO DA SEGUNDA LINHA
delay(5000);//TEMPO EM QUE PERMANECE EXIBINDO
lcd.clear();// LIMPA O DISPLAY
lcd.setCursor(0, 0);
lcd.print("Tutoriais"); // EXIBE O SEGUNDO TEXTO NA PRIMEIRA LINHA
lcd.setCursor(0, 1);
lcd.print("CompartilheCURTA"); // EXIBE O SEGUNDO TEXTO NA SEGUNDA LINHA
delay(5000);
}
Código 2
No segundo exemplo, os textos a serem exibidos devem rolar da direita para esquerda, exibindo constantemente.
//Tony Emerson Marim em 15/06/2017.
/** mecatronizando@gmail.com **/
// Baseado no programa original de Nishant Arora
/** Display LCD_2 **/
#include <Wire.h> //INCLUSÃO DE BIBLIOTECA
#include <LiquidCrystal_I2C.h> //INCLUSÃO DE BIBLIOTECA
LiquidCrystal_I2C lcd(0x3F, 16, 2); //FUNÇÃO DO TIPO "LiquidCrystal_I2C"
//line1 = TEXTO DA ROLAGEM SUPERIOR
String line1 = "Mecatronizando: www.mecatronizando.com.br/ curta / inscreva-se / compartilhe";
//line2 = TEXTO DA LINHA INFERIOR
String line2 = "-MECATRONIZANDO-";
// REFERENCE FLAGS
int stringStart, stringStop = 0;
int scrollCursor = 16;
int tamanho =0;
void setup()
{
lcd.init(); // INICIALIZA O DISPLAY LCD
lcd.backlight(); // HABILITA O BACKLIGHT (LUZ DE FUNDO)
}
void loop()
{
lcd.setCursor(scrollCursor, 0);
lcd.print(line1.substring(stringStart,stringStop));
lcd.setCursor(0, 1);
lcd.print(line2);
delay(200); //TEMPO DE TRANSPOSIÇÃO DA ROLAGEM
scroll_sup(); //ROTINA DA ROLAGEM
//VERIFICA TAMANHO DA STRING
tamanho = line1.length();
if (stringStart == tamanho)
{
stringStart = 0;
stringStop = 0;
}
}
//ROTINA DE ROLAGEM
void scroll_sup()
{
lcd.clear();
if(stringStart == 0 && scrollCursor > 0)
{
scrollCursor--;
stringStop++;
} else if (stringStart == stringStop){
stringStart = stringStop = 0;
scrollCursor = 16;
} else if (stringStop == line1.length() && scrollCursor == 0) {
stringStart++;
} else {
stringStart++;
stringStop++;
}
}
No vídeo abaixo possível ver o funcionamento do projeto.
Se necessário, por meio deste LINK é possível baixar os arquivos e bibliotecas relacionadas ao projeto.
Curta! Compartilhe e Inscreva-se no Canal!
Todos os componentes utilizados podem ser adquiridos por esse LINK!
Bons estudos!
Nenhum comentário:
Postar um comentário