Afficheur LCD 1602
Le LCD-1602 permet d'afficher 2 lignes de texte \xE0 16 caract\xE8res. Il se compose de l'afficheur avec un contr\xF4leur HD44780 de Hitachi et d'un PCF8574 "remote 8-bit I/O expander" qui travaille comme un registre \xE0 d\xE9calage avec une interface I2C. Le module est d\xE9crit \xE0 la page
LCD1602.
Exercice 1 :
Lire et bien comprendre les fiches techniques
Pour v\xE9rifier qu'on peut acc\xE9der le module correctement :
- \xC9crire un programme qui analyse le bus I2C et qui imprime l'adresse de chaque module I2C pr\xE9sent sur le bus.
- \xC9crire un programme qui enclenche la lumi\xE8re de fond et, apr\xE8s un seconde d\x92attente, la d\xE9clenche de nouveau.
Exercice 2 :
Pour pouvoir facilement \xE9crire du texte sur l'afficheur, nous avons besoins d'un pilote pour le LCD1602. Malheureusement MicroPython ne fourni aucun code pour ce module et il faut l'impl\xE9menter nous m\xEAme.
- Pr\xE9parer la conception d'une classe LcdDisplayClass qui sert de pilote pour le LCD1602
- Avec les fonctions fournies par le contr\xF4leur HD44780 pr\xE9parer une liste de m\xE9thodes et leurs param\xE8tres qui doit \xEAtre impl\xE9ment\xE9 par la classe. Par exemple :
- __init__ : pour initialiser le HD44780
- backlight : pour enclencher ou d\xE9clencher la lumi\xE8re de fond
- write_hd44780 : pour \xE9crire un registre dans le HD44780
- read_hd44780 : pour lire un registre
- putC : pour \xE9crire un caract\xE8re
- putS : pour \xE9crire une chaine de max. 16 caract\xE8res
- etc...
- Bien \xE9tudier la s\xE9quence d'initialisation en mode 4 bits du HD44780 et l'impl\xE9menter dans la m\xE9thode __init__ de la classe LcdDisplayClass
- Impl\xE9menter les m\xE9thodes de la classe LcdDisplayClass une \xE0 une. \xC9crire un programme de test pour v\xE9rifier que les m\xE9thodes travaillent comme pr\xE9vu.
Exercice 3 :
D\xE9finir des caract\xE8res suppl\xE9mentaires et les stocker dans la RAM "g\xE9n\xE9ration de caract\xE8res" (CGRAM). 8 caract\xE8res peuvent \xEAtre stock\xE9s dans le CGRAM. \xC9crire un programme de test pour afficher ces caract\xE8res.
-- %USERSIG{UliRaich - 2021-06-28}%