Bonjour,
Dans le cadre d'un projet, je souhaite réaliser un retour d'infos d'un système grâce à un écran LCD.
--------------------
Matériel : - UNO R3
- IDE : Arduino 1.8.10 (sous W7)
- Afficheur LCD 16x02 - muni d'un module I²C (puce PFC8547T).
--------------------
Objectif : Afficher sur la première ligne un compte à rebours au format (hh : mm : ss). Sur la deuxième, le nombre d'éléments restants sur 3 piles d'approvisionnement.
Le but est d'obtenir le rendu suivant :
┌-------------------------------------------------------------┐
│ hh : mm : ss │
│P1 : x1 P2 : x2 P3 : x3 │
└-------------------------------------------------------------┘
J'ai pu lire que pour ce genre de situation, l'utilisation de sprintf était plutôt adaptée.--------------------
EssaisPour bien comprendre le fonctionnement de
sprintf, je me suis appuyé sur des exemples trouvés ici et là sur Internet et ai voulu partir sur un cas simple : afficher un texte.
Mon code :
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // frank de brabander 1.1.2
void setup()
{
lcd.init();
lcd.backlight();
lcd.home();
char msg[16]; //tableau pour les 16 caractères d'une ligne
sprintf(msg, "Essai texte:");
}
void loop()
{
}
Puis compilation (sans erreurs),mais aucunes données ne s'affichent.
Après recherches et plusieurs modifs, même résultat.
Une librairie manquante ou incompatible, erreurs de codage ? De l'aide serait la bienvenue.
--------------------
NOTA : Pas de rapport direct avec mon problème, mais ça m'intrigue :
Pour faire fonctionner l'écran avec les module I²C muni d'une puce PFC8547 avec suffixes T ou A, (et dont les straps n'ont pas été modifiés) j'ai lu
ici que l'adresse à renseigner devrait normalement être 0x3F.
Cependant, dans mon cas, ça fonctionne avec 0x27. Pourquoi cette différence ?