lcd i2c 20x4

Bonsoir a vous tous.

Arduino 1.6.7
Arduino uno V3
Ecran lcd 20x4 ic2
Library LiquidCrystal_I2C2004V1

Voici mon problème a l’exécution du programme “Hello, world” sur mon écran lcd je n’est que
les première lettre de chaque phrase qu’il s’affiche. (voir quote)

H
Y
A
P

[//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()
{
}

je ne vois pas doux viens le problème quand j’utilise l’exemple SerialDisplay

/*
 * Displays text sent over the serial port (e.g. from the Serial Monitor) on
 * an attached LCD.
 * 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.backlight();
  Serial.begin(9600);
}

void loop()
{
  // when characters arrive over the serial port...
  if (Serial.available()) {
    // wait a bit for the entire message to arrive
    delay(100);
    // clear the screen
    lcd.clear();
    // read all the available characters
    while (Serial.available() > 0) {
      // display each character to the LCD
      lcd.write(Serial.read());
    }
  }

Tout fonctionne bien. j’ai fait un test en remplacent lcd.print par lcd.write :frowning: sa fonctionne pas ça >:(
j’ai testé d’autre Library sans succès. dans le passé j’ai déjas utilisé cette Library et l’écran lcd pour un autre projet.

Je suis vraiment dans le néant …

Merçi d’avoir pris le temps de me lire.

Salut,

Les fonctions lcd.print et lcd.write sont différentes comme serial.print et serial.write !! Il y a ici un site qui parle d'afficheur sur liaison I2C et ils ajoutent un delai entre chaque lcd.print. Essaie !

Merci landid l'idée n'étais pas méchante, mais sa fonctionne pas.

j'ai téléchargé une vielle version d'Arduino 1.0.5-r2 et sa fonctionne
Donc mon problème viens de la version 1.6.7

je vais tenté de trouvé la version 1.6.0

et là je me pose la question est ce que j'ouvre un nouveaux post pour la version 1.6.7 qui n'est pas compatible avec mon écran lcd ???? avez vous déjas vue le problème sur d'autre composante..

a suivre.

salut;

face au même problème avec le matériel suivant :
arduino mega 2560 et écran 20X4 SunStar 2004A

En utilisant le premier code de pierfren
et en mettant mon adressage, soit LiquidCrystal_I2C lcd(0x3F,20,4); à la place de LiquidCrystal_I2C lcd(0x27,20,4);
detectable avec le petit code trouvé ICI : I2C ADDRESS SCANNER FOR ARDUINO/YOURDUINO:

j'ai solutionné en ayant la version 1.8.5 d'arduino et la librairie 1.1.2 ICI

Chouette