LCD utilizando PCF8574AP

Olá pessoal, tentei utilizar o lcd com o CI PCF8574AP utilizando a comunicação I2C, porém não aparece nada escrito, mas a tela do lcd liga normalmente, alguém sabe o que pode ser feito?

Montei desta forma,utilizando o transistor PNP BC558 e também tentei utilizando o transistor NPN BC548, porém não usei potenciometro pois estou sem nenhum disponível, então, liguei o pino que vai no potenciometro direto no VCC e também testei no GND.

Já fiz a verificação do endereço conforme li em alguns tutoriais, e é 0x38.

A programação utilizada foram várias, visto q li pelo menos uns 10 tutoriais, mas nenhuma funcionou.
Segue uma delas:

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

LiquidCrystal_I2C lcd(0x38,16,2);

byte graus[8] = {
  B11111,
  B10001,
  B10001,
  B11111,
  B00000,
  B00000,
  B00000,
  B00000,
};

void setup()
{
  Serial.begin(9600);
  lcd.init();
  lcd.createChar(0, graus);
  lcd.setBacklight(LOW);
  lcd.clear();
}

void loop()
{
        lcd.setCursor(0,0); 
        lcd.print("Temp atual: ");
        lcd.write(0);
        lcd.print("C");
        delay(2000);
}

utilizei a biblioteca do próprio arduino "Wire.h" e a do LCD com I2C, que esta a seguir: http://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/LiquidCrystal_I2C.zip

Ademais, utilizei o arduino UNO, e o software Arduino 1.0.5-r2.

Agradeço desde já.

LiquidCrystal_I2C lcd(0x38,16,2);

Penso que o endereço nao é 0x38 mas sim 0x20 devido a estares a usar um PCF8574 e nao o PCF8574A.
Tenta

Hugo, estou utilizando o CI PCF8574AP, acredito que tenha o endereço 0x38, pois utilizei este tutorial para verificar o endereço: Arduino Playground - I2cScanner

Mesmo assim, testei o que disse mas não funcionou, agradeço a sugestão.

Vejo que no teu circuito não tens as resistências de Pull-up no barramento I2C.Coloca-as
Quando ligas o display apresenta a linha preta no topo?

Irei implementar os resistores de Pull Up.

Isso, a linha superior do lcd não liga.

Assim que fizer os testes informo se funcionou.

Isso, a linha superior do lcd não liga.

A linha tem de ligar! Se tu colocares apenas alimentaçao no LCD ele tem de colocar a linha preta.Ja tentaste ligar directamente o pino de contraste ao VCC para teres a certeza que fica com o contraste no maximo?

HugoPT:
A linha tem de ligar! Se tu colocares apenas alimentaçao no LCD ele tem de colocar a linha preta.Ja tentaste ligar directamente o pino de contraste ao VCC para teres a certeza que fica com o contraste no maximo?

Foi a primeira coisa que pensei, mas o OP diz:

Daniel_Sampaio:
(...) não usei potenciometro pois estou sem nenhum disponível, então, liguei o pino que vai no potenciometro direto no VCC e também testei no GND.
(...)

Por isso eu digo que o LCD não está alimentado.

@Daniel_Sampaio: Pode colocar uma foto do LCD onde se vejam as ligações e a referência dele? Eu penso que tem a alimentação mal ligada. Por exemplo, nos LCD's que tenho aqui em casa, o pino 1 é do lado esquerdo e o pino 16 é do lado direito e a alimentação é feita no pino 1 e 2. Se o seu for como os meus, essas ligações estão completamente erradas.

Já agora, se não tiver potenciómetros, pode ligar várias resistências em divisor de tensão.

luisilva:
(...) Pode colocar uma foto do LCD onde se vejam as ligações e a referência dele? Eu penso que tem a alimentação mal ligada. Por exemplo, nos LCD's que tenho aqui em casa, o pino 1 é do lado esquerdo e o pino 16 é do lado direito e a alimentação é feita no pino 1 e 2. Se o seu for como os meus, essas ligações estão completamente erradas.

Já agora, se não tiver potenciômetros, pode ligar várias resistências em divisor de tensão.

O meu é igual o da imagem, o pino 1 é o da direita e o 16 o da esquerda.

Em relação ao potenciômetro e os resistores de Pull Up, ainda não os implementei pois só estou sem potenciômetro e com resistores de valor muito baixo, e li que esses resistores tem que ser de 1800 ohms à 10k, por isso, encomendei os dois, receberei na segunda feira.

Acredito que não esteja funcionando pela falta dos resistores de Pull Up mesmo.

Daniel_Sampaio:
O meu é igual o da imagem, o pino 1 é o da direita e o 16 o da esquerda.
(...)

Porque é que diz isso? E melhor ainda, porque é que diz que a alimentação tem que ser no pino 1 e 2?

Já tentou usar o LCD directo (sem PCF574)? Qual foi o resultado?

EDIT: Já agora, convém ligar umas resistências ao transístor para não queimar o LED de backlight (isto se não o tiver queimado já).

Chegou meus resistores de 10k, testei e deu tudo certo :slight_smile:

Agradeço a ajuda, eram os resistores de Pull Up mesmo.

O resistor para proteção do transistor seria de qual valor?