Les écrans LCD sont utiles et présents dans de nombreuses parties de notre vie. A la gare, parcmètre, distributeurs automatiques communiquant de brefs messages sur la façon dont nous interagissons avec la machine à laquelle ils sont connectés. Les écrans LCD sont un moyen amusant de communiquer des informations dans Raspberry Pi Projets Pico et autres projets Raspberry Pi. Ils ont un grand écran lumineux qui peut afficher du texte, des chiffres et des caractères sur un écran 16 x 2. Le 16 fait référence à 16 caractères sur l’écran et le 2 représente le nombre de lignes que nous avons. On peut obtenir des écrans LCD avec 20×2, 20×4 et bien d’autres configurations, mais 16×2 est la plus courante.

Dans ce tutoriel, nous allons apprendre à connecter un écran LCD, un HD44780, à un Raspberry Pi Pico via l’interface I2C à l’aide du sac à dos I2C joint, puis nous installerons une bibliothèque MicroPython via l’éditeur Thonny et apprendrons à l’utiliser pour écrire du texte sur l’écran, contrôler le curseur et le rétroéclairage.

L’écran LCD utilise le protocole I2C pour s’interfacer avec le Raspberry Pi Pico. Ce qui signifie que nous avons seulement besoin.

Comment connecter un écran LCD I2C à Raspberry Pi Pico 

Raspberry Pi Pico avec écran LCD

(Crédit image : Tom’s Hardware)

1. Connectez le GND de l’écran à n’importe quel GND du Pico (fil noir).

2. Connectez VDD/VCC à VBUS sur le Pico (fil rouge). Attention, il s’agit d’une broche 5V.

3. Connectez le SDA au SDA I2C0 (GP0, broche physique 1, fil orange).

4. Connectez SCK/SCL à I2C0 SCL (GP1, broche physique 2, fil jaune).

5. Connectez votre Raspberry Pi Pico à votre ordinateur et ouvrez l’application Thonny.

Image 1 sur 3

Raspberry Pi Pico avec écran LCD

(Crédit image : Tom’s Hardware)
Image 2 sur 3

Raspberry Pi Pico avec écran LCD

(Crédit image : Tom’s Hardware)
Image 3 sur 3

(Crédit image : Tom’s Hardware)

6. Cliquez sur STOP pour confirmer que votre Pico est connecté.

7. Ouvrez ceci lien et copier le texte à partir de la page.

8. Créez un fichier vierge dans Thonny et collez le texte dedans. Enregistrez le fichier sur le Raspberry Pi Pico sous lcd_api.py

9. Ouvrir ce lien et copiez le texte de la page.

10. Créez un fichier vierge dans Thonny et collez le texte dedans. Enregistrez le fichier sur le Raspberry Pi Pico en tant que pico_i2c_lcd.py

 Programmer un écran LCD I2C Écran avec Raspberry Pi Pico

Avec les bibliothèques installées, nous pouvons maintenant commencer à écrire un script de test pour démontrer les fonctions de la bibliothèque.

1. Créez un nouveau fichier vierge dans Thonny.

2. Importez quatre bibliothèques de code pré-écrit. Les deux premiers proviennent de la bibliothèque Machine et nous permettent d’utiliser des broches I2C et GPIO. Ensuite, nous importons la fonction sleep de Time nous permettant de mettre le code en pause. Enfin, nous importons la bibliothèque I2C pour interagir avec l’écran LCD.

from machine import I2C, Pin
du temps importer le sommeil
depuis machine_i2c_lcd importer I2cLcd

3. Créez un objet i2c pour communiquer avec l’écran LCD via le protocole I2C. Ici, nous utilisons le canal I2C 0, qui mappe SDA sur GP0 ​​et SCL sur GP1.

i2c=I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)

4. Créer une variable I2C_ADDR, qui stockera la première adresse I2C trouvée lors du scan du bus. Comme nous n’avons qu’un seul périphérique I2C connecté, nous n’avons besoin de voir que la première adresse [0] renvoyée dans le scan.

I2C_ADDR=i2c.scan()[0]

5. Créez un objet lcd pour configurer la connexion I2C pour la bibliothèque. Il indique à la bibliothèque quelles broches I2C nous utilisons, définies via l’objet i2c, l’adresse de notre écran, définie via I2C_ADDR et enfin, il définit que nous avons un écran avec deux lignes et 16 colonnes.

lcd=I2cLcd(i2c, I2C_ADDR, 2, 16)

6. Créez une boucle pour exécuter le code en continu, la première ligne de la boucle imprimera l’adresse I2C de notre affichage dans le Python Shell de Thonny.

tant que True : print(I2C_ADDR)

7. Définissez le curseur de l’écran LCD pour qu’il clignote (clignotement) de manière similaire à une interface de terminal à l’ancienne.

 lcd.blink_cursor_on()

8. Écrivez deux lignes de texte à l’écran. Le premier imprimera « Adresse I2C : » suivi de l’adresse stockée dans l’objet I2C_ADDR. Insérez ensuite un nouveau caractère de ligne “\n”, puis écrivez une autre ligne en disant”Tom’s Hardware”(ou ce que vous voulez qu’il dise). Faites une pause de deux secondes pour laisser le temps de lire le texte. 

 lcd.putstr("I2C Address:"+str(I2C_ADDR)+"\n") lcd.putstr("Matériel de Tom") sommeil(2)

9. Effacer l’écran avant de répéter la section de code précédente, mais cette fois nous affichons l’adresse I2C de l’écran LCD en utilisant sa valeur hexadécimale. La puce PCF8574T utilisée dans le sac à dos I2C a deux adresses, 0x20 et 0x27 et il est utile de savoir laquelle elle utilise, surtout si nous utilisons plusieurs périphériques I2C car ils peuvent provoquer un conflit sur le bus.

 lcd.clear() lcd.putstr("Adresse I2C :"+str(hex(I2C_ADDR))+"\n") lcd.putstr("Matériel de Tom")

10. Désactivez le curseur clignotant, puis effacez l’écran pour imprimer un autre message, « Test du rétroéclairage » à l’écran.

 lcd.blink_cursor_off() lcd.clear() lcd.putstr("Test de rétroéclairage")

11. Pour faire clignoter le rétroéclairage LED, utilisez une boucle for qui sera itérée dix fois. Il allumera le rétroéclairage pendant 0,2 seconde, puis l’éteindra en même temps. Le texte « Test du rétroéclairage » restera affiché à l’écran même lorsque le rétroéclairage est éteint.

 for i in range (10) : lcd.backlight_on() sommeil(0.2) lcd.backlight_off() sommeil(0.2)

12. Rallumez le rétroéclairage , puis masquez le curseur. Parfois, un curseur clignotant peut nuire aux informations que nous essayons de communiquer.

 lcd.backlight_on() lcd.hide_cursor()

13. Créez une boucle for qui imprimera le nombre 0 à 19 sur l’écran LCD. Notez qu’il y a un délai de 0,4 seconde avant de supprimer la valeur et de la remplacer par la suivante. Nous devons supprimer le texte car écraser le texte le rendra confus.

 for i in range(20): lcd.putstr(str(i)) sommeil(0.4) lcd.clear()

Liste de code complète

de la machine importer I2C, broche
du temps importer le sommeil
depuis machine_i2c_lcd importer I2cLcd
i2c=I2C(0, sda=Pin(0), scl=Pin(1), freq=400000) I2C_ADDR=i2c.scan()[0]
lcd=I2cLcd(i2c, I2C_ADDR, 2, 16)
tant que vrai : imprimer(I2C_ADDR) lcd.blink_cursor_on() lcd.putstr("Adresse I2C :"+str(I2C_ADDR)+"\n") lcd.putstr("Matériel de Tom") dormir(2) lcd.clear() lcd.putstr("Adresse I2C :"+str(hex(I2C_ADDR))+"\n") lcd.putstr("Matériel de Tom") dormir(2) lcd.blink_cursor_off() lcd.clear() lcd.putstr("Test de rétroéclairage") pour i dans la plage (10) : lcd.backlight_on() sommeil(0.2) lcd.backlight_off() sommeil(0.2) lcd.backlight_on() lcd.hide_cursor() pour i dans la plage (20) : lcd.putstr(str(i)) sommeil(0.4) lcd.clear()

Enregistrez et exécutez votre code. Comme pour tout script Python dans Thonny, Cliquez sur Fichier >> Enregistrer et enregistrez le fichier sur votre Raspberry Pi Pico. Nous vous recommandons de l’appeler i2c_lcd_test.py. Lorsque vous êtes prêt, cliquez sur le bouton de lecture vert pour lancer le code et regardez le test s’exécuter à l’écran.

Categories: IT Info