banner

Ir para o Forum

Arduino e ESP8266 com Display i2c LCD





Nosso principal objetivo aqui é mostrar o funcionamento do módulo serial i2c para Display LCD 2x16 ou 20x4. Com esse módulo podemos controlar os displays citados acima, utilizando apenas dois pinos (SDA e SCL), torna muito simples a comunicação, deixando ainda vários outros GPIOs de nosso microcontrolador livres.
Vamos mostrar o funcionamento tanto no arduino UNO como no ESP8266. Acompanhe!





Arduino Uno




WiFi ESP8266 NodeMcu ESP-12E





Display LCD 16x2 Serial





Módulo Serial i2c




Nesta parte mostramos o adaptador que foi comprado separadamente, no qual soldamos ao display paralelo na parte de trás. Através dos pinos i2c, o display, então, vai comunicar direto com o Arduino. Portanto, através de um microcontrolador, esse Arduino vai gerenciar todos os comandos para o display, facilitando tanto sua conexão quanto sua programação.



Módulo Serial i2c conectado no Display LCD




Montagem com Arduino





Montagem com ESP8266





Biblioteca

Adicione a biblioteca “LiquidCrystal_I2C” para comunicação com o display LCD.
Acesse o linke faça download da biblioteca.
Descompacte o arquivo e cole na pasta de bibliotecas da IDE do arduino.
C:/Program Files (x86)/Arduino/libraries



Código Fonte


Começamos definindo as bibliotecas e constantes que utilizaremos durante nosso código.


#include <Wire.h> // responsável pela comunicação com a interface i2c
#include <LiquidCrystal_I2C.h> // responsável pela comunicação com o display LCD

// Inicializa o display no endereço 0x27
//os demais parâmetros, são necessários para o módulo conversar com o LCD
//porém podemos utilizar os pinos normalmente sem interferência
//parâmetro: POSITIVE > > Backligh LIGADO | NEGATIVE > > Backlight desligado

LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE);



Setup


Aqui apenas inicializaremos nosso objeto para comunicação com o display.


void setup()
{
//inicializa o display (16 colunas x 2 linhas)
lcd.begin (16,2); // ou 20,4 se for o display 20x4
}




Loop

Nosso programa fará com que o display fique piscando a cada 1 segundo. Um programa simples, mas que já envolve tudo que precisamos para nos comunicar com o display.
Acender/apagar backlight, posicionar cursor para escrita e escrever.

void loop()
{
//acende o backlight do LCD
lcd.setBacklight(HIGH);
//posiciona o cursor para escrita
//.setCursor(coluna, linha)
lcd.setCursor(0,0);
lcd.print("FERNANDOK.COM");
lcd.setCursor(0,1);
lcd.print("ACESSE!!!");
delay(1000); //intervalo de 1s
//desliga o backlight do LCD
lcd.setBacklight(LOW);
delay(1000); //intervalo de 1s
}


Arquivos para download:





3 comentários:

  1. Legal! Parabéns pelo vídeo. Explicação muita clara e objetiva!

    ResponderExcluir
  2. Como o arduino sabe que as portas A4 e A5 são para comunicação? Como mudar o end do conversor?

    ResponderExcluir
  3. exit status 1
    'POSITIVE' was not declared in this scope

    ResponderExcluir

Tecnologia do Blogger.