Utilisation d’écrans LCD compatibles I2C avec le Raspberry Pi

Utilisation d'écrans LCD compatibles I2C avec le Raspberry Pi

Dans les articles précédents, j’ai couvert l’utilisation d’écrans LCD HD44780 16 × 2 et 20 × 4 avec le Raspberry Pi en utilisant Python. Ceux-ci sont relativement faciles à utiliser mais nécessitent un certain nombre de connexions à l’en-tête GPIO du Pi. Cette configuration peut être simplifiée avec l’utilisation d’un écran LCD compatible I2C.

Ceux-ci peuvent être achetés comme une unité complète ou vous pouvez attacher un sac à dos I2C à un écran standard.

Voici un sac à dos I2C :

Sac à dos LCD I2C

et voici un sac à dos soudé au dos d’un écran LCD standard 16×2 :Sac à dos LCD I2C

Il nécessite 16 points de soudure mais une fois cela fait, l’écran peut être attaché au Pi avec seulement quatre fils !

Étape 1 – Connectez l’écran LCD au Pi

Shifter de niveau i2cLe module I2c peut être alimenté en 5V ou en 3,3V mais l’écran fonctionne mieux s’il est fourni en 5V. Cependant, les broches GPIO du Pi ne tolèrent pas 5V, les signaux I2C doivent donc être décalés en niveau. Pour ce faire, j’ai utilisé un décaleur de niveau I2C.

Cela nécessite une tension de haut niveau (5V) et une tension de bas niveau (3,3V) que l’appareil utilise comme référence. Les broches HV peuvent être connectées à l’écran et deux des broches LV à l’interface I2C du Pi.

Changeur de niveau Pi Sac à dos I2C
LV 3.3V (broche 1)
LV1 SDA (broche 3)
LV2 SCL (broche 5)
GND GND (broche 6) GND
HT 5V (broche 2) VCC
HV1 ADD
HV2 SCL

En expérimentant, j’ai découvert que cela fonctionnait bien sans changement de niveau, mais je ne pouvais pas être certain que cela n’endommagerait pas le Pi à un moment donné. Il est donc probablement préférable de jouer la sécurité !

Étape 2 – Téléchargez l’exemple de script Python

L’exemple de script vous permettra d’envoyer du texte à l’écran via I2C. C’est très similaire à mes scripts pour l’écran 16×2 normal. Pour télécharger le script directement sur votre Pi vous pouvez utiliser :

wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/lcd_i2c.py

Étape 3 – Activer l’interface I2C

Pour utiliser des appareils I2C, vous devez activer l’interface sur votre Raspberry Pi. Cela peut être fait en suivant mon didacticiel « Activation de l’interface I2C sur le Raspberry Pi ». Par défaut, le sac à dos I2C apparaîtra à l’adresse 0x27.

Étape 4 – Exécuter le script LCD

Le script peut être exécuté à l’aide de la commande suivante :

sudo python lcd_i2c.py

Enfin, vous devriez voir quelque chose comme ceci :

Écran LCD I2C 16x2

Dépannage

Si vous rencontrez des problèmes alors :

  • Vérifiez bien votre câblage
  • Commencez à partir d’une nouvelle image Raspbian
  • Assurez-vous de configurer I2C comme mentionné dans le didacticiel « Activation de l’interface I2C sur le Raspberry Pi »
  • Suivez la section « Test du matériel » dans le didacticiel I2C ci-dessus et vérifiez que l’écran est détecté
  • Assurez-vous que SDA et SCL sont correctement câblés aux broches 3 et 5 du Pi
  • Ajustez le taux de contraste à l’aide du trimmer sur le sac à dos i2c
  • Freenove I2C LCD 1602 Module (2 Pack), New Type IIC TWI Serial 16x2 Display, Compatible with Arduino Raspberry Pi Pico ESP32 ESP8266
    LCD 1602 -> Can display 2 lines of characters, 16 for each. New model -> Integrate the conversion circuit on the screen. I2C address -> 0x3F for 8574AT chip; 0x27 for 8574T and blank chip. (Refer to "About_I2C_Address.pdf" in downloaded file for details.) Demo project -> For mainstream models of Arduino / Raspberry Pi / Raspberry Pi Pico / ESP32 / ESP8266. Tutorial and code -> The download link can be found on the product box. (No paper tutorial.)
  • GeeekPi 2Pack 2004 LCD Display Module protocole I2C Pris en Charge, Blindage de Module LCD 2004 pour Arduino Uno Raspberry Pi(20 Characters x 4 Lines)
    L’écran à cristaux liquides a toujours été un appareil servant de fenêtre dans les interactions homme-machine. Par exemple, la fenêtre d'invite de certains instruments, la boîte d'invite de température et d'humidité, le moniteur d'état en cours d'exécution du périphérique et l'écran d'invite du périphérique de comptage comportent tous des chiffres à l'écran. Les LCD1602, LCD2004 et LCD12864 communs sont fabriqués à l'aide de matériaux à cristaux liquides et communiqués à l'aide du bus I2C. Il s’agit d’un bus série hautes performances avec règles de bus et synchronisation des périphériques haute vitesse ou basse vitesse nécessaire aux systèmes multi-maîtres. Le bus I2C ne comporte que deux lignes de signal bidirectionnelles, une ligne de données série (SDA) et une ligne d'horloge série (SCL). Compatible avec tous les appareils dotés d'interfaces I2C, tels qu'Arduino, Raspberry Pi, Black Beagle, Tinker Board, STM32, Esp32 et plus. Forfait comprend: 2 x LCD2004,2 x 4Pin Jumpwire
  • Waveshare 1602 LCD I2C Display Module, Couleur Blanche avec Fond Bleu LCD 16x2 Caractères pour Raspberry Pi/Raspberry Pi Pico/Jetson Nano/ESP32/Arduino, Compatible 3.3V/5V
    IIC 1602 LCD module incorporates character LCD panel LCD1602, I2C interface, only two cables can be directly controlled, easy to access a variety of control boards 16x2 characters LCD, support screen scrolling, cursor movement, and other functions, compact body with the dimensions of 87 * 32 * 13 mm Compatible with 3.3V/5V operating voltage Onboard AiP31068L LCD driver chip Comes with online development resources and manual (for Raspberry Pi/Jetson Nano/ESP32/Arduino examples)