Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Actionneurs > Les afficheurs > Ecran CLCDxxx sur I2C avec Arduino

Ecran CLCDxxx sur I2C avec Arduino

samedi 22 octobre 2011, par Julien H.

Lextronic propose des écrans à cristaux liquides LCD économiques déclinés en plusieurs tailles (CLCD162 ou CLCD204) et plusieurs éclairages (vert, bleu et même RGB). Contrairement à d’autres écrans compatibles avec la bibliothèque native Liquid Crystal d’Arduino, nous n’avons pas trouvé de code source compatible avec les commandes I2C de cette gamme. C’est désormais chose faite !

Mise à jour : la bibliothèque est désormais disponible pour le logiciel Arduino 1.0, car les fonctions I2C ont changé ainsi que la classe mère Print (voir notre article complet sur le sujet).

 L’écran

Comme d’autres écrans LCD / I2C, un écran classique à connexion parallèle est soudé sur une petite carte comportant une puce (ici, un AVR Atmel reprogrammable) et un ou plusieurs connecteurs.

JPEG - 146.5 ko

Le rétro-éclairage de cette version est réglable par un potentiomètre miniature.

JPEG - 153 ko

 Le code

Chaque commande du protocole LCD I2C est composée d’octets à envoyer avec la bibliothèque Wire. Pour simplifier ces commandes, et revenir à des fonctions standards (on parle d’API), une bibliothèque pour Arduino a été écrite selon le format LCDXXX décrit sur le Playground Arduino.

Zip - 3.3 ko
Library Arduino "CLCD"
version pour Arduino 0022 et précédentes
Zip - 3.4 ko
Library Arduino "CLCD" 1.0
Mise à jour pour le logiciel Arduino 1.0

 Le résultat

Voici le test disponible dans l’exemple :

JPEG - 91.2 ko

Et voici la réponse d’Yves, notre lecteur attentif qui a réussit à prendre en main la bibliothèque.

JPEG - 248.1 ko

Vos commentaires

  • Le 24 février 2014 à 19:30, par Sylvain En réponse à : Ecran CLCDxxx sur I2C avec Arduino

    Bonjour,
    C’était l’exemple de la librairie même qui me posait problème, mais après avoir supprimé la librairie et réinstallé c’est retombé en marche... Je suis débutant, donc l’erreur venait sans aucun doute de l’interface chaise-clavier.... :-D
    En tout cas merci pour la réponse !
    Sylvain

    Répondre à ce message

  • Le 19 février 2014 à 23:46, par Sylvain En réponse à : Ecran CLCDxxx sur I2C avec Arduino

    Avec l’IDE Arduino 1.0.5, quand j’essaye d’exécuter exemple, j’ai toujours le message d’erreur suivant : "In file included from TestCLCD.pde:7 :
    CLCD.h:35 : error : conflicting return type specified for ’virtual void CLCD ::write(uint8_t)’
    C :\Program Files (x86)\arduino-1.0.5-r2-windows\arduino-1.0.5-r2\hardware\arduino\cores\arduino/Print.h:48 : error : overriding ’virtual size_t Print ::write(uint8_t)’"

    Vous avez une solution à ce problème ?

    • Le 20 février 2014 à 00:00, par Julien H. En réponse à : Ecran CLCDxxx sur I2C avec Arduino

      Etonnant puisque nous avons fourni deux exemples, le second étant justement dédié à la nouvelle version 1.0.

      Merci de nous envoyer une archive de votre projet Arduino provoquant l’erreur (par mail à contact pobot.org).

    Répondre à ce message

  • Le 22 novembre 2011 à 14:05, par benoit En réponse à : Ecran CLCDxxx sur I2C avec Arduino

    Merci pour le code,
    ça fonctionne bien.

    • Le 23 janvier 2012 à 01:50, par tsim79 En réponse à : Ecran CLCDxxx sur I2C avec Arduino

      Bonsoir,

      Je vous prie de m’excuser.
      Je suis débutant en Arduino, et après plusieurs recherche je suis tombé sur votre site avec une librairie pour LCD en I2C pour l’IDE v1.0
      Je possède un écran LCD 20x4 de chez ByVac avec un controlleur BV4218. J’ai voulu l’utiliser avec votre librairie et programme de test, mais bien évident rien a fonctionné. Car je ne sais pas ou modifier l’adresse du controleur I2C->LCD, sachant que je doit mettre la valeur "0x42".
      Je pars du principe que sur le bus I2C tout le monde communique pareil, donc avec votre librairie j’espère pouvoir commander mon LCD 20x4.

      Merci pour l’aide que vous m’apporterez.

    • Le 24 janvier 2012 à 16:28, par Julien H. En réponse à : Ecran CLCDxxx sur I2C avec Arduino

      Votre principe de départ est erroné, le bus I2C n’est qu’un mode de transport, la communication est différente d’un périphérique à l’autre.

    • Le 24 janvier 2012 à 16:30, par Julien H. En réponse à : Ecran CLCDxxx sur I2C avec Arduino

      L’adresse I2C se modifie dans le constructeur :

      CLCD lcd(0x42,20,4);

      mais ce sera une chance si ça fonctionne avec votre LCD d’une marque différente.

    • Le 24 janvier 2012 à 16:32, par Julien H. En réponse à : Ecran CLCDxxx sur I2C avec Arduino

    • Le 24 janvier 2012 à 17:52, par tsim79 En réponse à : Ecran CLCDxxx sur I2C avec Arduino

      Merci de vos conseils,
      Je vais essayer pour voir,
      Sinon je changerais mon contrôleur LCD I2C pour un autre qui sera supporté par une librairie ainsi que par une communauté.
      Merci beaucoup.

    Répondre à ce message

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document