LCD IC2 não funciona correcto!!

Boa tarde!!!

ando a experimentar todas os acessórios que vem no kit intermédio que comprei, em relação ao LCD estou a ter problemas, em primeiro lugar, apenas conseguia acender a luz de fundo, instalei várias bibliotecas, várias programações etc etc e não saía nenhuma letra, fui pesquisando esse erro pelo Google e encontrei várias pessoas a queixarem-se do mesmo problema.

numa pesquisa encontrei alguém a mencionar para utilizar o I2C Scanner e ver qual o adress do LCD, fui verificar e o meu é diferente dos que vinham originalmente nas sketch, (0x38 ou 0x27 etc..) neste caso o meu é 0X3f.

coloquei novo código, fiz essa alteração do Adress, e consegui pelo menos que apareça a primeira letra da palavra que programei, pelo que se programas para aparecer "A r d u i n o" só me aparece a letra "A" no visor.

alguém tem sugestões???

Obrigado desde já
Gilberto

Boas
Se ja vês uma letra no display e possível que a tua falha seja no software.Mostra ai o que tens

Olá!!!

O código que coloquei foi este:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3f,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()
{
}

Porque e que estas a inicializar o lcd duas vezes?

vê se aqui encontras o que precisas

Pois....

isto foi um código que copiei de algum fórum, para testar o LCD.... e consegui apenas por a aparecer a primeira letra de cada frase..

já retirei essa duplicação e voltei a enviar o código para o Arduino, mas não resolveu, continua igual :frowning:

Obrigado

GSouza, estou com o mesmo erro. Exatamente o mesmo.

gsousa:
..

LiquidCrystal_I2C lcd(0x3f,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!");
}

Viva.

Qualquer coisa de errado por aqui.
O teu lcd é 20 colunas 4 linhas, ou 16 colunas 2 linhas ?

Este codigo é para um LCd de 20 colunas 4 linhas.
Mas nas notas esta: "set the LCD address to 0x27 for a 16 chars and 2 line display"

para 16x2 testa este: http://arssant.blogspot.pt/
Pelo menos devera aparecer " dd-wrt powered - asus wl50gP v2 ". Muda so:
lcd(0x3F,16,2); para o end correcto do teu I2C.

Para um 20x4 passa por aqui: https://arduino-info.wikispaces.com/LCD-Blue-I2C

gsolza, boa noite.

conseguiu resolver?

eu estava com o mesmo problema, mas consegui resolver.
Quando ja aparece a primeira letra, ja esta tudo ok, somente deves acertar a biblioteca.

Eu tenho ela aqui, caso queira, te passo via email, pois por aqui n sei se e possivel e como se faz.... rsrsrs

Abracos

Olá Benfica! Tudo certo? Poderia me enviar a biblioteca que comentou? estou com o mesmo problema, acabei baixando umas, mas não deu certo. Desde já agradeço. Caso possa me enviar o email é evandropci@yahoo.com.br

Abraço.

Teste problema tanto no LCD 16x2 como no 20x4, ambos com modulo i2c.
Resolvi da seguinte forma:

1-Escanear o endereço do modulo:
http://playground.arduino.cc/Main/I2cScanner
Guarde o endereço, sera muito útil.

2-Baixa a biblioteca mais atual:
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

3-Copie o codigo teste:
https://bitbucket.org/celem/sainsmart-i2c-lcd/src/3adf8e0d2443/sainlcdtest.ino?fileviewer=file-view-default
Linha 21 troque o endereço 0x27, no meu caso 0x3F
Linha 37 troque o tipo de lcd 20x4 ou 16x2.

Espero ter ajudado!

Teste problema tanto no LCD 16x2 como no 20x4, ambos com modulo i2c.
Resolvi da seguinte forma:

1-Escanear o endereço do modulo:
Arduino Playground - HomePage
Guarde o endereço, sera muito útil.

2-Baixa a biblioteca mais atual:
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

3-Copie o codigo teste:
Bitbucket
Linha 21 troque o endereço 0x27, no meu caso 0x3F
Linha 37 troque o tipo de lcd 20x4 ou 16x2.

Espero ter ajudado!

Boas!

Também estava com o mesmo erro quando a testar um lcd i2c 20x4, segui os passos indicados pelo Turkin (acima) e funcionou de primeira, tive sucesso!

No meu caso o endereço era 0x27 mesmo, tive certeza após escanear.

este e o meu e me funcionar

#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

// arduino mega portas 20 e 21
// arduino uno a4 e a5

// --- Bibliotecas Auxiliares ---

//Pines en el PCF8574(dir, en,rw,rs,d4,d5,d6,d7,bl, blpol)
//LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3)

void setup() {
lcd.init(); // initialize the lcd
lcd.init();
lcd.backlight();
lcd.setCursor(3,0);
lcd.print("Control Clima");
lcd.setCursor(2,1);
lcd.print("Renato j.c");
}

void loop()
{