Índice:

Use LCD 16x2 com I2C: 4 etapas
Use LCD 16x2 com I2C: 4 etapas

Vídeo: Use LCD 16x2 com I2C: 4 etapas

Vídeo: Use LCD 16x2 com I2C: 4 etapas
Vídeo: How to Use I2C LCD with Arduino | Very Easy Arduino LCD I2C Tutorial | Arduino 16x2 LCD I2C Tutorial 2024, Julho
Anonim
Use LCD 16x2 com I2C
Use LCD 16x2 com I2C
Use LCD 16x2 com I2C
Use LCD 16x2 com I2C
Use LCD 16x2 com I2C
Use LCD 16x2 com I2C

Em um dos meus Instructable anteriores, mostrei como conectar e fazer a interface de um LCD com o Arduino Uno e exibir valores nele. Mas como observado, havia muitas conexões e se o projeto começou a ficar muito bagunçado devido a muitos fios.

Neste Instructable, vou mostrar como conectar um LCD a um I2C, que terá apenas 4 pinos para controlar e usar o LCD. Então vamos começar.

Etapa 1: componentes necessários

Componentes necessários
Componentes necessários
Componentes necessários
Componentes necessários
Componentes necessários
Componentes necessários

Para este projeto, você precisará de:

  • Arduino Uno
  • LCD 16x2
  • I2C para LCD 16x2
  • Fios de conexão

Com tudo isso, vamos entrar na parte das conexões.

Etapa 2: conexões

Conexões
Conexões
Conexões
Conexões
Conexões
Conexões
Conexões
Conexões

Consulte as fotos e faça as conexões. É muito simples, você só precisa conectar o I2C nas portas do LCD e soldá-lo no lugar. Em seguida, conecte o pino SCL ao pino A4 no Arduino e o pino SDA ao pino A5 no Arduino.

Não estou soldando o I2C porque já soldei os pinos do cabeçote no LCD. Mas eu sugeriria soldar o I2C no LCD

Etapa 3: Código

Há uma biblioteca mestre LCD I2C incluída no Arduino IDE. Mas há um pequeno problema com o código nele. Todos os exemplos nesta biblioteca assumem o endereço padrão do I2C como 0x27. Portanto, primeiro temos que descobrir qual é o endereço do nosso I2C. Podemos fazer isso usando o código do scanner I2C. Assim que tivermos o endereço I2C, podemos substituir esse valor no código de exemplo e começar a usá-lo.

Código do scanner I2C:

#incluir

void setup () {Wire.begin (); Serial.begin (9600); while (! Serial); // aguarde o monitor serial Serial.println ("\ nI2C Scanner"); } void loop () {erro de byte, endereço; int nDevices; Serial.println ("Digitalizando …"); nDispositivos = 0; for (endereço = 1; endereço <127; endereço ++) {// O i2c_scanner usa o valor de retorno de // o Write.endTransmisstion para ver se // um dispositivo reconheceu o endereço. Wire.beginTransmission (endereço); erro = Wire.endTransmission (); if (erro == 0) {Serial.print ("dispositivo I2C encontrado no endereço 0x"); if (endereço <16) Serial.print ("0"); Serial.print (endereço, HEX); Serial.println ("!"); nDevices ++; } else if (erro == 4) {Serial.print ("Erro desconhecido no endereço 0x"); if (endereço <16) Serial.print ("0"); Serial.println (endereço, HEX); }} if (nDispositivos == 0) Serial.println ("Nenhum dispositivo I2C encontrado / n"); else Serial.println ("concluído / n"); atraso (5000); // aguarde 5 segundos para a próxima varredura}

Código de exemplo (para exibir os caracteres inseridos no Monitor serial):

#include #include

LiquidCrystal_I2C lcd (0x3F, 20, 4); // define o endereço LCD para 0x27 para um display de 16 caracteres e 2 linhas

void setup ()

{lcd.init (); // inicializa o lcd lcd.backlight (); Serial.begin (9600); }

void loop ()

{// quando os caracteres chegam pela porta serial… if (Serial.available ()) {// espere um pouco para que a mensagem inteira chegue delay (100); // limpa a tela lcd.clear (); // lê todos os caracteres disponíveis enquanto (Serial.available ()> 0) {// exibe cada caractere no LCD lcd.write (Serial.read ()); }}}

Etapa 4: o resultado

A saída
A saída
A saída
A saída

Depois de fazer o upload do código, você está pronto para prosseguir. Para este Instructable, peguei o exemplo do código de impressão serial. Agora, depois de fazer o upload do código, abra o Monitor Serial e digite uma palavra e clique em "enviar". Agora você deve ver este valor sendo exibido no LCD.

Recomendado: