IMG_0723

[Raspberry Pi] Écran LCD 16×2 et piLCD

Cet article a été rédigé il y a 4 années ! Il commence à dater, mais n'est pas forcément obsolète.. Lisez-le en gardant cela en tête !
Bonjour à tous 🙂 Je reviens à présent, après un gros encart RetroGaming, avec un petit accessoire bien sympa pour vos projets ! Il s’agit de l’écran LCD, qu’on ne présente maintenant plus.. Désolé pour ceux qui s’attendait à voir l’article sur les radiofréquences, il est encore en cours d’écriture.. mais je vous rassure pour ceux qui l’attendent, il devrai sortir d’ici la mi-aout 2014. /!\ Dernière mise à jour de l’article le 15 novembre 2014 Voyons voir en attendant ce petit écran LCD. Nous allons procéder en plusieurs étapes voici le déroulement du plan :
  • Choisir un bon lcd pour ceux qui n’en n’ont pas encore un !
  • Soudure (si nécessaire) et branchement du circuit électrique
  • Choisir votre librairie
  • Découverte de piLCD
 

I) Choix de l’écran :

Bon pour cette étape rien de bien compliqué les écrans sont relativement limités puisque les formats cheap (< 5€) sont souvent les écrans 16×2 pixels. Par conséquent, j’ai personnellement choisi celui qu’on ne présente plus : l’écran LCD 16×2 Hitachi; Il m’a coûté environ 4€, frais de port inclus, sur eBay biensur ! Néanmoins vous pourrez très bien en utiliser un autre pour vous amuser ! A voir si ceux-là marche avec piLCD, mais on en reparle après partie III ensemble ! 🙂

Pour les possesseurs de l’écran 16×2 Hitachi, voici la documentation.. Un passage obligé si vous souhaitez volez de vos propres ailes, ou si vous avez besoin de plus de détails concernant le branchement !

http://partage.gauss-it.net/raspberrypi/lcd/hitachi-lcd16x2.pdf

IMG_0737

II) Soudures et branchement du circuit

Certains écrans arrivent sans pin de connexion (comme le mien) c’est pourquoi il vous faudra surement souder un rail de pins pour pouvoir brancher l’écran à une breadboard ! Une fois cela fait, commencez par prendre votre breadboard préférée et montez moi ce circuit : circuit2 Après c’est à vous de régler les résistances, vous verrez ce n’est pas bien compliqué ! Vous remarquerez qu’il s’agit d’un circuit 4-bits, plus rapide et plus simple à monté. Pour des projets simples, ce mode d’écriture suffit amplement! En image cela donne à peu près cela : IMG_0690 Remarque : Je dis à peu près car j’ai monté le potentiomètre sur VDD au lieu de A et K. Je pense que le mieux est de régler la luminosité des caractères une bonne fois pour toute en choisisant une bonne paire de resistance et de mettre une résistance réglable pour permettre le controle du rétroéclairage sinon vous allez vous retrouver dans ma situation.. A savoir un écran qui vous pête à la tronche tellement c’est lumineux et impossible de prendre des photos sans avoir un effet de clair-obscur !! Une fois cela fait, nous pouvons passer à la partie suivante 🙂 Et pour toutes questions sur le circuit n’hésitez pas à m’envoyer un commentaire !  

III) Choix de la librairie

Passer par une librairie est le moyen le plus simple pour pouvoir rapidement et simplement passer de l’ordinateur à l’écran. Personnellement j’ai pas mal cherché à contourné ce problème, bien qu’il fût très intéressant à traiter. Puisque je n’ai malheureusement pas trouvé de librairie fonctionnel en C++.. J’ai bien sur fouiné du côté de https://projects.drogon.net/raspberry-pi/wiringpi/lcd-library, néanmoins j’ai cherché pendant 4h à faire fonctionner son code et impossible de faire tourner simplement l’écran LCD. D’autant plus que cette librairie est selon moi très mal documenté et dépourvu d’exemples.. Ce qui est fort dommage 🙁 Par ailleurs, le circuit proposé par défaut travaille sur les 2 rangées de GPIO et fait croiser des fils, ce qui n’est pas vraiment top top.  (Néanmoins vous pouvez très bien essayé de l’utiliser, je suis sûr qu’elle ça marche ! C’est juste que je suis un probablement un gros empoté !) Je me suis donc résigné à lire en détail la doc et j’ai développé sommairement une librairie que j’ai nommé piLCD permettant de contrôler ce foutu écran !!  

1. Installation de piLCD

Je vous propose donc d’utiliser ma librairie piLCD si vous possédez un écran LCD 16×2, car n’ayant pas la possibilité de tester sur d’autres écrans, je ne saurai vous dire si ma librairie fonctionne pour d’autres. Pour la télécharger allez voir sur le lien ci-joint (Document HTML incluse dans l’archive ! N’hésitez pas à vous en servir !) :

http://apps.gauss-it.net/pilcd/

Vous aurez juste besoin pour l’utiliser d’avoir installé wiringPi, dont l’installation est expliqué dans un autre de mes articles, que voici : http://leblogdekzl.fr/?p=841

Pour tester que tout marche lancez simplement la commande :

sudo raspi-lcd "Bonjour :-)"

Si votre écran ne change pas, mais que vous n’avez pas de message d’erreur assurez vous que tout est correctement branché, sinon écrivez-moi un commentaire, on trouvera une solution ensemble !! 🙂

IMG_0743

 

2. Découverte de piLCD.

Une fois que vous aurez installé piLCD et WiringPi.. rien de bien compliqué ! Il est aussi simple d’utiliser piLCD que WiringPI. Voyez par vous même !

Pour commencer chargez la librairie en incluant l’header en début de fichier :

#include <piLcd.h>

A partir de là, il faut que vous initialisez piLCD à l’aide de la fonction :

lcdSetup();

Si vous avez correctement réalisé le circuit de la partie 2, et que vous essayez de compiler le code à partir de là, vous devriez voir sur votre écran le message suivant :

Loading.. DONE !

Cela signifie que vous avez tout bien fait !! Bravo si tel est le cas, car vous avez passer le plus dûr ! 🙂

Si jamais vous n’arrivez pas à compilé, il est fort probable que la librairie a mal été installée. Et si la compilation a réussi, mais que vous n’arrivez toujours pas à voir le message "Loading..", jetez un coup d’oeil au branchement. Enfin si jamais vous avez encore un problème, n’hésitez pas à m’écrire un commentaire que l’on voit ça ensemble !

  Note : Pour l’utilisation de l’écran LCD avec python, je recommande fortement le lien ci-dessous, qui fonctionne très bien (testé et approuvé !!) http://www.raspberrypi-spy.co.uk/2012/07/16×2-lcd-module-control-using-python/ Vous remarquerez que la partie communication du circuit est la même entre mon article et l’article python, ce qui vous évitera de refaire le circuit !  

IV) Découverte de piLCD

Je vous propose de vous présenter dans la suite l’interpréteur ainsi qu’une série de commandes très simples vous permettant de prendre en main piLCD. On finira enfin ce tutoriel sur quelques exemples de codes qui peuvent être bien pratique 🙂

1. L’interpréteur

Je me suis amusé à créer un petit interpréteur vraiment bateau, mais encore une fois très simple d’utilisation. Avec cela vous pourrez à l’aide de votre clavier controler le nouvel écran de votre raspberry !!

L’intérêt étant de tester la librairie, comme vous l’avez fait avant 🙂 Et d’écrire un message sur l’écran sans avoir à programmer

Pour cela démarrer l’interpréteur, lancez commande suivant et attendez le message du terminal !

sudo raspi-lcd

Note : Vous pouvez vous servir de cette commande dans n’importe quel script-shell bien sur et personnaliser votre script 🙂

2. Présentation des principales commandes :

Les principales commandes et leur utilisation se trouve dans la documentation disponible à l’adresse ci-dessous

http://apps.gauss-it.net/piLcd/doc/

Si jamais vous souhaitez avoir des détails sur la librairie n’hésitez pas à m’écrire un mot en commentaire pour que l’on discute ! Sinon vous avez toujours les exemples si dessous ! 🙂

3. Exemples de codes

Ces codes sont des exemples de choses que vous pouvez faire avec votre écran LCD ! Les sources sont disponibles dans les sources de la librarie (celle que vous avez téléchargé à la partie III) et que ce trouve normalement toujours dans le home directory de pi.

a. Afficher un simple texte :

make text sudo ./text

b. Afficher un texte clignotant :

make text_blinking sudo ./text_blinking

c. Afficher un texte défilant en boucle, sur une ligne :

make text_scrolling sudo ./text_scrolling

d. Afficher la date de votre Raspberry :

make time sudo ./time

e. Afficher l’ensemble des interfaces réseau actives :

make ip sudo ./ip
   

Conclusion,

Avec cette nouvelle librairie légère et simple d’utilisation, je peux dorénavant m’amuser avec mon écran LCD, j’espère que cet article présentation vous aura plus et vous servira 🙂 En tout cas je me suis bien amusé à écrire cet article détente !

4 réponses à “[Raspberry Pi] Écran LCD 16×2 et piLCD

  1. Bonjour, je possède un site avec des tutos, et dans ma rubrique de l’écran LCD je n’ai pas grand chose. Je trouve ton programme très bien fait et aimerai ( en citant ton site ) l’afficher dessus. Je te le demandes car je ne voudrais pas te "voler" ton travail. Encore bravo pour ton travail et ton tuto.

    1. Bonjour, ça serait avec plaisir n’hésite pas à écrire ton site dans un commentaire, ça serait avec plaisir que j’irai faire un tour 🙂
      Content que mon article ai pu t’aider 🙂
      Bonne continuation!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *