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