ecran lcd 16*2

#include <OneWire.h>
#include <LiquidCrystal.h>
const int RS=2; //declaration constante de broche
const int E=3; //declaration constante de broche

const int D4=4; //declaration constante de broche
const int D5=5; //declaration constante de broche
const int D6=6; //declaration constante de broche
const int D7=7;
OneWire ibutton (1); // I button connected on PIN 2.

byte buffer[20]; //array to store the Ibutton ID.
LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
void setup(){
lcd.begin(16,2);

if (!ibutton.search (buffer)){//read attached ibutton and asign value to buffer
ibutton.reset_search();
delay(200);
return;
}

for (int x = 0; x<8; x++){
lcd.print(buffer,HEX);
}

}
void loop(){}

quelqu’un peut m’aider ce programme n’affiche rien

Bonjour,

  1. Est-ce que tu arrives à afficher "hello" sur l'écran LCD ?
  2. est-ce que le résultat de iButton.search est OK ? Si la méthode search retourne false (ou zéro), rien n'est affiché.

oui j'ai affiché un texte au debut du programme et le test est bon mais j'ai un probleme avec la fonction lcd.print ( buffer (x) ,HEX);
est ce qu'elle est correcte ???

la syntaxe est buffer
pas buffer(x)

je suis d'acord mais pas de resultat

je suis d'accord, mais sans ton aide, on n'avancera pas.

Essaie en envoyant des messages dans la console série à différents points de ton code pour voir ce qui se passe.

le problème d'affichage et réglé
mais j'ai un autre problème concernant le code HEX normalement il faut afficher 090004 mais il affiche 904

pour formater, passe par une fonction de formatage, genre sprintf (%02x va afficher en hexa sur 2 chiffres significatifs)
http://en.cppreference.com/w/c/io/fprintf

mais lcd.sprintf() ca passe pas

c’est une fonction qui n’est pas dans lcd, mais stdio.h (#include <stdio.h>)
il faut définir un buffer (char hexbuf[3] par exemple), et d’abord convertir le résultat de ton autre tampon en chaîne hexa, puis passer le hexbuf via lcd.print

merci beaucoup tu peut détailler

je peux, mais je ne veux pas :wink:
Je n'ai pas envie de tout te mâcher à l'avance : le but d'un Arduino est aussi éducatif : il faut vouloir apprendre, se casser la tête et chercher un peu.

ok je vais essayer

:wink:

N'hésite pas à montrer ton code si ça ne marche pas.