La mallette dispose d’un affichage LCD, composé de 2 lignes de 16 caractères, permettant de donner des indications à l’utilisateur, vous pourriez par exemple afficher en continu la température et l’humidité (voir la leçon 07).

L’écran LCD n’utilise pas de GPIO, mais l’interface de communication I2C.
Commutateurs :
La position des commutateurs n’a pas d’importance.
Réglages de la luminosité
Un potentiomètre (rond bleu), permet de régler la luminosité. A tourner avant de s’énerver en supposant que le LCD ne fonctionne pas.

Librairie python
Toute la gestion d’un LCD est confiée à la librairie adafruit_character_lcd, vous trouverez sur de dépôt git les instructions nécessaires à l’installation, si nécessaire, de cette librairie.
Une documentation pour cette librairie est disponible via ce lien.
Le pseudo-code :
- Importation des librairies
- Définition des constantes
- Initialisation du module LCD
- Dans une boucle infinie (fin avec CTRL-C)<
- Dire bonjour
- Attendre 2 secondes
- Afficher un curseur
- Attendre 2 secondes
- Afficher un curseur clignotant
- Attendre 3 secondes
- Faire défiler un texte vers la droite
- Faire défiler un texte vers la gauche
- Montrer le rétroéclaiage
- Reset du LCD
En python :
import time
import board
import busio
import adafruit_character_lcd.character_lcd_i2c as character_lcd
#define amount of lines and columns from LCD
lcd_columns = 16
lcd_rows = 2
#initialization of I2C Bus
i2c = busio.I2C(board.SCL, board.SDA)
#set the LCD in the variable LCD
lcd = character_lcd.Character_LCD_I2C(i2c, lcd_columns, lcd_rows)
try:
while True :
#turn on the background
lcd.backlight = True
#issues 2 words with line break
lcd.message = "Hello\nWorld!"
#wait 2 seconds
time.sleep(2.0)
#show cursor
lcd.clear()
lcd.cursor = True
lcd.message = "Show Cursor!"
#wait 2 seconds
time.sleep(2.0)
#let cursor blink
lcd.clear()
lcd.blink = True
lcd.message = "Blinky Cursor!"
#wait 2 seconds, stop nlinking cursor and hide cursor
time.sleep(2)
lcd.blink = False
lcd.clear()
# scroll message from right to left
lcd.clear()
scroll_msg = "<-- Scroll -->"
lcd.message = scroll_msg
for i in range(len(scroll_msg)):
time.sleep(0.1)
lcd.move_right()
for i in range(len(scroll_msg)):
time.sleep(0.1)
lcd.move_left()
#turn no and off background lightning
lcd.clear()
lcd.message = "Flash backlight\nin 3 seconds..."
time.sleep(3.0)
#turn off background lightning
lcd.backlight = False
time.sleep(1.0)
lcd.backlight = True
time.sleep(1.0)
lcd.backlight = False
#change message
lcd.clear()
lcd.message = "Restart..."
#turn on background lightning
lcd.backlight = True
#turn off background lightning
time.sleep(2.0)
except KeyboardInterrupt:
#turn off LCD
lcd.clear()
lcd.backlight = False