Obtenir un écran LCD HD44780 16 × 2 fonctionnant sur le Raspberry Pi – un tutoriel

Ce poste est tout au sujet HD44780 LCD écrans et comment les utiliser dans vos projets.

J’ai récemment réfléchi à ce que sera mon prochain projet. J’ai déjà expérimenté des boîtiers portables tels que ceux-ci:

blank

et je voulais faire un autre appareil portable. Alors j’ai jeté un coup d’œil et j’ai trouvé ceux-ci sur le site Web de Rapid Electronics:

blank

Je me suis dit: cet écart dans la partie inclinée ressemble à la bonne taille pour un écran LCD 16 × 2. Ces écrans LCD sont assez bon marché, j’ai donc jeté un œil sur eBay et j’ai trouvé ceux-ci pour environ 5 £ qui sont de type HD44780. Ils proposent notamment une option avec un sac à dos I2C piloté par une puce PCF8574. J’aime I2C – il vous permet d’utiliser de nombreux appareils sur un seul “bus” qui, dans le cas d’I2C, équivaut à 4 fils – un pour l’alimentation, un pour la terre et deux pour SDA et SCL, ce que le Raspberry Pi a bien sûr comme vous pouvez voir dans ce schéma sur pinout.xyz. Voici une image de l’arrière de l’écran LCD avec le sac à dos I2C montrant:

blank

J’ai attaché l’écran LCD au Pi à l’aide de câbles de démarrage, en veillant à ce que SDA et SCL soient connectés correctement (SDA à SDA, SCL à SCL). Pour commencer, j’ai connecté la ligne électrique au 3v3 mais cela a eu pour effet de faire sortir le texte en noir sur fond bleu. Heureusement, je l’ai réalisé et l’ai échangé sur la ligne 5V, ce qui a entraîné un texte agréable et lumineux en blanc (voir l’image en haut de l’écran).

J’ai ensuite cherché le logiciel pour piloter l’écran LCD. Je savais qu’auparavant j’avais utilisé une bibliothèque Adafruit (et avant cela, j’utilisais la bibliothèque smbus, ce qui est encore plus compliqué). Heureusement, je suis tombé sur une bibliothèque écrite par Danilo Bargen appelé RPLCD.

L’utilisation de cette bibliothèque est très simple. Vous pouvez voir le code source de la bibliothèque sur le Dépôt GitHub et lisez tout sur son utilisation sur ReadTheDocs.

Pour l’installer, procédez comme suit pour obtenir RPLCD et installez également la bibliothèque de base I2C. Vous devrez également aller dans Préférences-> Configuration du Raspberry Pi et vous assurer que I2C est activé (et redémarrer).

sudo pip3 install RPLCD
sudo apt-get install python-smbus

Ensuite, exécutez la commande suivante pour trouver l’adresse I2C de l’écran LCD (la mienne était 0x3F, qui sera utile plus tard).

i2cdetect -y 1

Pour moi, l’installation de pip a placé un fichier de test dans le dossier d’accueil. Cependant, si ce n’est pas le cas, exécutez la commande suivante:

wget https://raw.githubusercontent.com/dbrgn/RPLCD/master/lcdtest.py > /home/pi/lcdtest.py

Exécutez ensuite le script de test en spécifiant toutes les options requises. Celles-ci peuvent être différentes pour vous, selon le I2C ou autre contrôleur que vous utilisez pour vous.

cd ~
python3 lcdtest.py i2c testsuite expander=PCF8574 cols=16 rows=2 addr=0x3f

Pour un script de test avec tous les paramètres définis dans le fichier Python lui-même et avec l’écran LCD initialisé, clonez mon référentiel:

git clone https://github.com/recantha/HD44780_with_I2C_RPLCD

et exécutez le script test.py:

python3 test.py

Ce script de test fait plusieurs choses:

  1. Importez les bibliothèques nécessaires.
  2. Initialisez l’écran LCD.
  3. Imprimez Hello World à l’écran.
  4. Attendez 5 secondes.
  5. Effacez l’écran et éteignez le rétroéclairage.

Ce sont d’excellents écrans bon marché si tout ce que vous voulez faire est d’afficher des données ou du texte à l’utilisateur. Je l’ai utilisé sur mon Picorder à l’époque et, dans mon nouveau projet (qui, oui, sera probablement un autre Picorder, mais nouveau et amélioré), il affichera à nouveau les données des capteurs.

Articles similaires

Bouton retour en haut de la page
Fermer