Bonjour,
J'ai acheté il y a peu un écran LCD 16x4 pour mon projet de bac et je l'ai relié a un bus i2c pour économiser des pins. Mais il est totalement impossible d'afficher le moindre texte à l'écran. Le bus i2c fonctionne, je l'ai testé sur un autre écran LCD. Le bus i2c fonctionne avec PCF8574T. Je pense que l'erreur vient de l'écran.
Image de l'écran : http://goo.gl/B6zLGd
Le code est celui qui est fournit avec la bibliothèque LiquidCrystal_I2C.h
J'ai effectué un scan i2c et l'adresse est bien 0x27.
Le voici au cas ou :
le potentiometre contraste est relié comment ?
c'est un écran chiffres blanc sur fond noir ??? backlight ?
comme j'ai écrit de nombreuses fois, le premier test c'est juste relier le 5volts, le gnd et le vo sur le gnd, éventuellement le backlight et on doit voir s'affiher des carrés plein sur la ligne 1, ou 1 et 3 dans le cas des 4x16/20
dans le cas de ton afficheur y-a t'-il une tension NEGATIVE sur la broche Vee, c'est écrit "optionnal" dans le pdf technique, cette tension négative est nécessaire pour le constrate de certains afficheurs "extended temperature", ou des spéciaux, ou pour certains anciens afficheurs graphiques a base ks08 ou t963
D'après la dadasheet, c'est pas une interface I2C, mais un bus parallele
C'est également ce qui est indiqué dans les informations produits sur la page de ton fournisseur
Le nombre de broches de l'afficheur laisse aussi penser que c'est un bus parallele
on va arrêter de parler dans le vide, donc :
fais une photo de TON écran, recto verso que tu as en possession et non celle d'un site qui montre un écran non I2C.
histoire de savoir si c'est bien un I2C ou pas.
Est ce que toutes les pins sont bien soudées?
On distingue mal, mais sur la photo on a l'impression que les pins de gauche ne sont pas ou mal soudées sur le lcd.
J'ai soudé le bus i2c et shunté le port A1. L'adresse actuelle est 0x25. Cela fonctionne.
Mais il reste un problème. J'ai l'impression que le rétroéclairage ne fonctionne pas. (voir photo 1).
Pourtant une fois en branchant le tout j'ai eu un charabia comme sur la photo 2, preuve que le rétroéclairage marche bien.
Est une erreur de câblage ou bien ou de programme ?
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x25, 16, 4);
void setup()
{
// initialize the LCD
lcd.begin();
// Turn on the blacklight and print a message.
lcd.backlight();
lcd.print("Hello, world!");
}
void loop()
{
lcd.setCursor(0, 1);
lcd.print(millis() / 1000);
}