Lcd 16x2 i2c parando de funcionar

Pessoal stou com o seguinte problema, estava usando um modulo Lcd com i2c no arduino, tudo funcionava bem, simplismente o lcd parou de funcionar, verifiquei a voltagem que chegava no lcd e estava 4,8V, chequei os fios e estava tudo ok, cheguei a conclusao que provavelmente teria "queimado" o i2c, comprei um novo modulo LCD COM I2C e tudo voltou ao normal, mas apos usar o modulo por algumas horas, voltou a occorrer o mesmo problema.

Já verifiquei o endereço do i2c e esta correto, troquei o arduino UNO pelo nano, verifiquei a fiacao e nao tem nada em curto e tambem nao contem nenhum fio quebrado, muito estranho, existe alguma maneira de testar o i2c? alguma sugestao de algo que eu poço fazer?

coloquei um codigo simples no arduino para eliminar possiveis problemas de codificacao,

Segue o codigo

//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd 
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("Hello, world!");
  lcd.setCursor(2,1);
  lcd.print("Ywrobot Arduino!");
   lcd.setCursor(0,2);
  lcd.print("Arduino LCM IIC 2004");
   lcd.setCursor(2,3);
  lcd.print("Power By Ec-yuan!");
}


void loop()
{
}

outro detalhe que quando eu coloco o seguinte script para pegar o endereço do i2c ele nao me retorna nada ( ANTES DO PROBLEMA ELE RETORNAVA O ENDERECO 0X27 )

segue o codigo para pegar o endereço do i2c

/*I2C_scanner
  This sketch tests standard 7-bit addresses.
  Devices with higher bit address might not be seen properly.*/
  
#include <Wire.h>

void setup() {
  Wire.begin();

  Serial.begin(9600);
  while (!Serial);
  Serial.println("\nI2C Scanner");
}

void loop() {
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for (address = 1; address < 127; address++ ) {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0) {
      Serial.print("I2C device found at address 0x");
      if (address < 16)
        Serial.print("0");
      Serial.print(address, HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error == 4) {
      Serial.print("Unknown error at address 0x");
      if (address < 16)
        Serial.print("0");
      Serial.println(address, HEX);
    }
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);
}

monitorserial

Segue o esquema de ligacao

Esqueci de mencionar que o arduino estava ligado em um fonte de bancada de 12v para ser exato 11,9V, mas na saida vcc esta liberando os 5v normalmente

Olá! Bem vindo ao Fórum.

Ao que tudo indica, realmente o LCD ou o módulo I2C estão queimando, mas pela sua descrição eu não consigo perceber nada de errado.

O Arduino não tem um pino VCC. Ele tem um pino Vin e tem um pino de 5V. Como ele tem um regulador de tensão, se você fornecer até 12V via jack de entrada ou via pino Vin, o pino 5V manterá algo bem próximo de +5V.

Você está ligando a fonte no jack?

Se sua fonte de bancada for regulável, desça ela para uns 7,5 ou 9V. Vai sacrificar menos o regulador.

Obrigado pela resposta, mas queimar dois em menos de dois dias parece brincadeira kkk por isso resolvi perguntar, vou fazer a substuicao entao, sim ele tem um pino vin eu que me atrapalhei aqui, estou ligando a fonte, direto nele e infelizmente ela nao tem regulagem, e eu comprei uma bateria 12v para ligar o arduino, seria bom colocar um stepdown?

Outra pergunta aleatoria, li em algum lugar que o backligth ligado pode queimar o regulador de tensao pois me parece q ele consome mais de 40mah, sabe me informar se isso é veridico, vou fazer o teste com o multimetro mas estou sem lcd kkk

Qual bateria?

Se você não tiver outra alternativa, pode ser sim.

Segundo as informações do próprio Fórum, alimentando o Arduino com 12V, o regulador aguentaria até 140mA, sendo que o Arduino sozinho pega uns 50mA. Como o regulador precisa baixar a voltagem de 12V para 5V, se você puxar muita corrente ele superaquece e pode queimar. Mas nesse caso queima o regulador, não o LCD...

Bateria de Litio18650 12v.

Um detalhe, fui remontar o circuito na protoboard e o primeiro LCD voltou a funcionar mas o segundo permanece na mesma, muito estranho pois ele mudou de endereco eu tenho certeza que o endereco era 0x27 pois ele estava no meu projeto, agora ele mudou para 0x25, ele fica piscando como se estivesse em curto, acho q deu problema mesmo

Video

Descobri porque mudou o endereco, caiu um pouco de solda na parte de traz no A1 responsalvel pelo endereco

O que define o endereço deste modulo são conexões nos pinos do
CI dele, o PCF8574.
Os pinos 1, 2 e 3, (A0, A1, A2), forma endereços de 0x20 até 0x27.
Se está aparecendo o endereço 0x25, é que tem algum problema de
conexão no pino A1 (pino 2).
Veja na pagina 5 do datasheet como é formado o endereço.

exatamente, obrigado pela resposta, eu retirei a solda do pino A1 e voltei o endereco para 0x27, esta funcioando ainda mas o backligth fica piscando

Este é o esquemático do seu módulo.

Veja que o backlight é controlado por um transistor, e na base deste transistor é que entra o controle de acender e apaga-lo.

Este controle vem através de uma porta do CI PCF8574, que por sua vez recebe do arduino o dados através do I2C.

O que fica piscando? o backlight ou o contraste do LCD?

o backlight que fica piscando

retirei o jumper do backlight, lcd parece estar operando normal, mas eu precisava do backlight, e outro detalhe eu queria entender o pq deste problema para que nao ocorra denovo

estou testando oS moduloS i2c com continuidade

QUE NAO FUNCIONA A COMUNICACAO SERIAL
VCC -> GND SCL SDA
GND -> SCL SDA VCC
SDA -> VCC SCL GND
SCL -> NAO DA CONTINUIDADE PARA NENHUM

O QUE FUNCIONA MAS APRESENTA PROBLEMAS NO BACKLIGHT(FICA PISCANDO)
VCC -> SDA
GND -> SCL SDA VCC
SDA -> NAO DA CONTINUIDADE PARA NENHUM
SCL -> NAO DA CONTINUIDADE PARA NENHUM

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.