Nesta prática você vai aprender a montar com o NodeMCU…
NodeMCU – Utilizando com Display LCD 16X2
Nesta prática você vai aprender a ligar o Display LCD 16X2 com Interface I2C ao NodeMCU.
Se você já tem em mente um projeto integrando o NodeMCU com Display LCD 16X2, mas não sabe como interligar ambos, basta seguir os passo abaixo!
Abaixo está a lista dos itens necessários e mais informações sobre cada um deles:
– NodeMCU
– Display LCD 16×2
– Interface de I2C para Display LCD (16X2 / 20X4)
– Protoboard
– Cabo Jumper
Para esta prática vamos utilizar apenas 2 portas digitais do NodeMCU, no caso D1 e D2, e o pino VIN e GND para alimentação da Interface I2C que consequentemente vai alimentar o Display LCD.
A conexão entre o Display LCD 16X2 e a Interface I2C poderá ser feita utilizando cabos jumper ou se preferir pode soldar a interface no display. Caso seu display já possua barra de pinos macho soldada, basta utilizar uma protoboard para fazer a conexão com a Interface I2C.
Abaixo está o esquema de ligação para esta prática:
Feito o esquema de ligação, será necessário instalar uma biblioteca na IDE do Arduino para em seguida carregar o código na placa.
Se ainda não tem a IDE do Arduino instalada e configurada para o NodeMCU, e não sabe como fazer a instalação de bibliotecas na IDE, acesse os links abaixo e em seguida retorne para continuar:
Arduino – Instalação e Configuração da IDE no Windows
NodeMCU – Instalação no Windows
NodeMCU – Configurando a IDE do Arduino
Arduino – Importando bibliotecas para a IDE
Faça o download da biblioteca LiquidCrystal_I2C2004V2 e em seguida faça a instalação da mesma na IDE do Arduino.
Em seguida, será necessário carregar o código na placa para fazer os testes. Conecte o cabo USB no seu NodeMCU e a outra ponta na porta USB do seu computador. Na IDE confira se a placa selecionada é o NodeMCU e se a porta COM selecionada é a correta.
O código para testes está abaixo, basta copiar o mesmo, colar na IDE, salvar e carregar:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#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) lcd.setCursor(0, 0); //SETA A POSIÇÃO EM QUE O CURSOR INCIALIZA(LINHA 1) lcd.print("MASTERWALKERSHOP"); //ESCREVE O TEXTO NA PRIMEIRA LINHA DO DISPLAY LCD lcd.setCursor(0, 1); //SETA A POSIÇÃO EM QUE O CURSOR RECEBE O TEXTO A SER MOSTRADO(LINHA 2) lcd.print("----NODEMCU----"); //ESCREVE O TEXTO NA SEGUNDA LINHA DO DISPLAY LCD } void loop() { //PROGRAMAÇÃO DE CÓDIGO DO VOID LOOP - PRA ESSE EXEMPLO PODE FICAR SEM NADA } |
Depois que o código for carregado na placa, o Display LCD 16X2 vai mostrar “MASTERWALKERSHOP” na primeira linha e na segunda linha “—-NODEMCU—-”.
Agora você já sabe como fazer para utilizar o Display LCD 16X2 nos seus projetos com NodeMCU.
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: NodeMCU – Configurando a IDE do Arduino
Próxima postagem: Arduino – Importando bibliotecas para a IDE
Estou utilizando o i2c e a função PWM, porem o esp32 fica resetando sozinho o Mcu, fui comentando as linhas para achar o problema, e quando comentei a linha de escrita do display, parou de dar problema, saberia me dizer o porque esta fazendo isso ? Se seria a biblioteca
Olá boa tarde, conteúdo muito bom. Seria possível seguir esse mesmo procedimento em uma ESP32? e sem o I2C?
Olá Fernanda.
Agradeço pelo comentário!
Ainda não cheguei a tentar implementar algo nesse sentido, logo, não consigo te informar.
Oi. é possível fazer a ligação do NodeMCU ao LCD sem a interface de 12C?
Olá…. a minha L2C na soldado no LCD …
estranho que se uso na porta VIN ele não ascende o LCD e se coloco na 3V ele até ascende mais não aparece a mensagem … vc sabe o que pode ser?
Olá Paulo.
Já verificou se o pino VIN está fornecendo algo próximo de 5V?
A alimentação do I2C + Display LCD deve ser feita em 5V.
ola no meu caso meu pino vin n fornece 5v mas o pino vu sim, mas eu nao consigo fazer funcionar de eito nenhum
Olá Rafael.
Alimente o I2C externamente e faça a comutação do GND da fonte externa com o GND do NodeMCU e em seguida teste novamente.
Prezado Euler, você tem algum artigo sobre controle de acesso rfid com nodeMCU?
Olá Sandro Costa.
Ainda não temos nenhum artigo relacionado a NodeMCU e RFID. Já está na minha lista para ser feito, mas tem alguns artigos para serem criados na frente.
Acredito que no próximo mês este artigo seja publicado aqui no blog.
BOA NOITE. Amigo por gentileza, eh a primeira vez que utilizo o nodemcu 8266. Ao compilar esse exemplo notei que ele utilizou 30% da memoria de programa disponivel, achei isso um pouco estranho pois o que me atraiu a utilizar esse cpu é a capacidade de armazenamento dele. Sabes me dizer o que estou fazendo errado?
Olá Nelson.
O NodeMCU que adquiriu provavelmente possui memória flash de 8Mb (8 megabit = 1MB ou 1 megabyte). No mercado há diversas placas baseadas no ESP8266 e de tamanhos de memória distintos, por exemplo: 4Mb (4 megabits = 512kB ou 512 kilobytes), 16Mb (16 megabit = 2MB ou 2 megabytes) e 32Mb (32 megabits = 4MB ou 4 megabytes). Logo, a capacidade de armazenamento do seu NodeMCU está correta e o que pode ter acontecido é você tem confundido megabit (Mb) que é uma unidade menor, com megabyte (MB) que é uma unidade maior.
Vá até o local onde comprou seu NodeMCU e veja nas especificações dele o tamanho da memória.
Boa tarde parabéns pelo projeto me ajudou e muito o entendimento, uma pergunta posso usar outra porta tipo a 0 ,e a 8?
Olá João Paulo.
Fico satisfeito em saber que o tutorial foi de grande ajuda pra você!
Infelizmente não será possível utilizar outras portas do NodeMCU, pois a interface I2C exige conexão nos pinos SCL e SDA, e no NodeMCU esses pinos são o D1 e D2 respectivamente.
Obrigado!