Chargement ...
Désolé, une erreur est survenue lors du chargement du contenu.

i2c LCD

Agrandir la zone des messages
  • michel vonlantHen
    ... J ai trouvé ! 1. Il faut envoyer un byte 0x00 pour dire qu on veut écrire et ensuite le byte de commande 2. L adresse de la LCD est 0xC6 d après la data
    Message 1 de 1 , 6 avr. 2012
      Attaque d'une LCD par I2C:
      -------------------------

      J'ai trouvé !

      1. Il faut envoyer un byte 0x00 pour dire qu'on veut écrire
      et ensuite le byte de commande

      2. L'adresse de la LCD est 0xC6 d'après la data sheet mais il faut la
      shifter de 1 bit à droite donc 0x63 (99 décimal), comme je l'avais déjà
      fait avec mon PLL (merci Fred!). Car l'adresse ne peut avoir que 7 bits
      de long). A noter que le programme de scanning des adresses I2C (merci
      Cedric F4EGZ) m'a été bien utile.


      Exemple d'envoi du code 19 (allumage éclairage arrière de la LCD:

      //----------------------------------
      #include <Wire.h>

      void setup()
      {
      Wire.begin(); // démarre le bus I2C
      }

      void loop()
      {
      Wire.beginTransmission(99); // envoi ads_lcd (0x63)
      Wire.write(byte(0x00)); // byte à 0 = instruction "write"
      Wire.write(19); // allume éclairage led
      Wire.endTransmission(); // stop transmission
      }
      //----------------------------------

      Pour le moment, je n'ai pas pu utiliser une librairie dédiée à la LCD
      I2C. Rien n'a fonctionné, c'est pourquoi j'ai fait l'envoi de codes à la
      LCD directement avec la librairie "Wire" de l'I2C.

      J'ai commencé à écrire ma propre librairie, quelques commandes de base
      comme "allume l'éclairage arrière", "clear lcd", "écriture d'une
      phrase", etc. mais je vais plutôt utiliser une des librairies existantes
      si j'en trouve une qui fonctionne. Ca me fera gagner du temps.

      73
      michel von hb9afo
    Votre message a été soumis avec succès et sera remis aux destinataires brièvement.