
Si votre écran est équipé d’un module IC2, il n’est pas si difficile de connecter un écran LCD à un Raspberry Pi. Apprenez avec ce tutoriel comment connecter et programmer un LCD 1602 avec un Raspberry Pi.
Il existe de nombreux types d’écrans LCD. Dans ce tuto, nous utilisons un écran populaire et abordable : LCD 1602. Notre écran LCD est prévu d’un module IC2 (voir les images ci-dessous). Si votre écran LCD est du même type, mais a une taille différente, ce ne sera pas un problème de continuer avec ce tutoriel. Vous n’aurez plus qu’à corriger certains paramètres dans le script MicroPython. Mais s’il est d’un type différent ou s’il n’a pas de module I2C, vous faites mieux de chercher un autre tutoriel.
- Prepare the hardware
Tout d’abord, vous avez besoin d’un Raspberry Pi avec la dernière version de Raspberry Pi OS. Cette version comprend “Thonny”. Nous utiliserons cet environnement convivial pour écrire notre code Python. Si vous n’êtes pas familier avec Python ou avec Thonny ou avec les broches GPIO, je vous suggère de consulter nos tutoriels “Comment débuter à programmer en Python sur Raspberry Pi” et/ou “Comment utiliser les broches GPIO du Raspberry Pi” pour une introduction rapide.
Ensuite, vous aurez besoin d’un peu de matériel supplémentaire :
– un breadboard (nous utilisons un breadboard de 400 points)
– des câbles Dupont
– un écran 16×2 ou 1602 LCD avec module I2C
– un T-cobbler
– un câble GPIO 40 broches
Si vous manquez des pièces, n’hésitez pas à visiter notre boutique. - Activer I2C sur le Raspberry Pi
En plus de préparer le matériel physique, nous devons configurer notre Raspberry Pi pour pouvoir communiquer avec les périphériques I2C.
Pour cela, nous ouvrons: menu des applications > Préférences > Configuration de Raspberry Pi comme indiqué dans l’image ci-dessous.
Une fois la fenêtre Raspberry Pi Configuration ouverte, cliquez sur l’onglet « Interfaces ». Sélectionnez ici « Activé » devant I2C.
Pour tester si I2C est activé, vous pouvez ouvrir une fenêtre de terminal et entrer la commande suivante :ls /dev/*i2c*
Votre Pi devrait répondre par :/dev/i2c-1
- Apprenez à connaître l’écran 1602 LCD
Dans ce tutoriel, nous utilisons le populaire et assez basique écran LCD 16×2 ou 1602. Il peut afficher 16 caractères par ligne sur 2 lignes. Chaque caractère est composé d’une matrice de 5×7 points. Il est équipé d’un rétro-éclairage pour une lecture facile. Outre l’envoi de texte, grâce à des commandes spécifiques, nous pouvons donner des instructions à l’écran, comme allumer/éteindre le rétro-éclairage par exemple.
L’écran que nous utilisons dans ce tutoriel est équipé d’un module I2C (partie noire sur l’image ci-dessous). I2C est un protocole de communication qui permet une connexion plus facile entre l’écran et le Raspberry Pi. En effet, au lieu de devoir câbler toutes les broches du haut de l’écran, nous n’avons qu’à connecter l’écran avec 4 fils à notre Raspberry Pi.
Chaque périphérique I2C a sa propre adresse I2C. Souvent, cette adresse est prédéfinie dans l’appareil et varie d’un fabricant à l’autre. Si vous ne connaissez pas l’adresse de votre appareil I2C, connectez l’appareil à votre Raspberry Pi (voir l’étape suivante). Ensuite, ouvrez une fenêtre de terminal et entrez la commande suivante :i2cdetect -y 1
La sortie doit être un tableau avec les adresses de tous les appareils connectés. Si par exemple un ’27’ apparaît, cela signifie que l’adresse hexadécimale de votre appareil est ‘0x27’.
Et si vous avez acheté l’un de nos kits, l’adresse hexadécimale de l’écran LCD est ‘0x27’. Nous aurons besoin de cette adresse I2C pour l’insérer dans notre code Python.Si vous souhaitez plus d’informations sur l’écran LCD, consultez la page Web ‘Écran à cristaux liquides’ de Wikipedia.
Soyez prudent ! Avant de brancher des câbles sur les broches GPIO de votre Raspberry Pi, assurez-vous d’éteindre correctement le Pi et de retirer le câble d’alimentation de la carte mère! - Mettez en place la partie matérielle
– connectez le GND de l’écran à une broche GPIO GND (fil noir)
– reliez la broche VCC de l’écran à une broche 5V (fil rouge)
– reliez la broche SDA de l’écran à la broche GPIO2 (fil gris)
– reliez la broche SDC de l’écran à la broche GPIO3 (fil jaune) - Ecrivez le code
Le but ici est d’obtenir un message simple affiché sur notre écran LCD.
Installez d’abord la bibliothèque
Pour éviter une écriture de code étendue et compliquée, des bibliothèques sont souvent utilisées. Pour notre écran LCD, nous utiliserons également une bibliothèque. Nous avons trouvé la bibliothèque la plus appropriée sur GitHub de Dave Hylands. Comme ces fichiers de cette bibliothèque bien spécifique ne viennent pas automatiquement avec Python, nous devons les installer nous-mêmes.
Donc, avant d’écrire le code, nous devrons télécharger les fichiers sur notre Raspberry Pi. Vous pouvez télécharger un dossier ZIP contenant les 2 fichiers à installer ici.
Téléchargez et décompressez les fichiers. Si vous avez effectué cette opération sur votre ordinateur, téléchargez les fichiers sur votre Raspberry Pi. Et si vous ne savez pas comment faire, jetez un œil à notre tutoriel ‘Comment tranférer des fichiers entre Raspberry Pi et PC‘. Assurez-vous de les placer dans le même dossier que le nouveau fichier que nous allons créer pour notre code principal. Et ne changez pas les noms de fichiers de la bibliothèque bien sûr.
OK, maintenant que la bibliothèque est téléchargée sur notre Raspberry Pi, écrivez ou collez le code suivant dans l’IDE :
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
I2C_ADDR = 0x27
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16
lcd = I2cLcd(1, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)
lcd.putstr("Great! It Works!")
lcd.move_to(3,1)
lcd.putstr("freva.com")
Quelques explications à propos du code :from lcd_api import LcdApi
: pour importer le premier fichier de la bibliothèque LCD.from i2c_lcd import I2cLcd
: pour importer le deuxième fichier de la bibliothèque LCD.I2C_ADDR = 0x27
: pour définir l’adresse I2C de l’écran. Modifiez l’adresse I2C si nécessaire !I2C_NUM_ROWS = 2
: notre écran a 2 rangées. Changez si votre écran a une autre taille.2C_NUM_COLS = 16
: notre écran a 16 colonnes. Changez si votre écran a une autre taille.lcd = I2cLcd(1, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)
: pour configurer l’objet lcd.
Dans les lignes suivantes, nous envoyons des caractères et donnons des instructions à l’écran. N’hésitez pas à changer et à expérimenter vous-même.
lcd.putstr("Great! It Works!")
: pour envoyer du texte à l’écran.
lcd.move_to(3,1)
: pour changer la position du curseur (x,y). x : décalage horizontal et y : décalage vertical.
lcd.putstr("freva.com")
: envoi d’un nouveau texte, à partir de la nouvelle position du curseur. - Exécutez le programme
Maintenant, il est temps d’enregistrer votre script. Faites en sorte que ce fichier Python soit enregistré dans le même dossier que les 2 fichiers de la bibliothèque que vous avez téléchargés précédemment.
Et avant d’exécuter le script, il est important de régler le contraste de votre écran LCD. Si le contraste n’est pas bien réglé, il est possible que vous ne voyiez rien apparaître. Vous pouvez le régler en tournant avec un petit tournevis le potentiomètre bleu à l’arrière de votre LCD (voir les photos ci-dessus). Assurez-vous que le rétroéclairage de l’écran est allumé pour voir le résultat. Si le contraste de l’écran LCD est bien ajusté, vous pouvez voir apparaître (légèremment) les rectangles plus sombres pour les caractères.
Ensuite, cliquez sur le bouton Exécuter de l’IDE Thonny. Si vous avez tout bien fait, le texte comme dans l’image ci-dessous devrait apparaître.
- Expérimentez avec des instructions et des charctères supplémentaires
Outre les commandes que nous avons utilisées dans les dernières lignes de notre script, il y a plus de possibilités de communiquer avec l’écran LCD. Si vous souhaitez en savoir plus, consultez cette page web Github.
Félicitations! Avec cette configuration, vous pouvez désormais intégrer un écran dans vos projets Raspberry. Ayez encore beaucoup de plaisir !