Afficheur LCD 1x9 Alphanumérique (Module UEXT) pour Arduino et MicroPython
Nous avons publié un nouveau projet sur GitHub.
Nous nous sommes concentré sur le portage du module MOD-LCD1x9 vers MicroPython.
MOD-LCD1x9
MOD-LCD1x9 est un écran LCD alphanumérique. L'avantage des écrans LCD est qu'ils sont vraiment économique en énergie.
Ensuite, celui-ci utilise le bus I2C et une tension de 3.3V, il ne réclame donc très peu de connexions pour fonctionner.
Ce qui est cool dans cet écran, c'est qu'il dispose du "point" intégré dans la matrice, donc pas besoin de sacrifier un caractère pour le point :-) !
Si vous prêtez attention, il y a une barre (type "underscore") sous chaque caractère. Il s'agit d'un marqueur de sélection, très pratique pour indiquer l'activation d'un option ou d'une sélection.
Bien qu'il soit possible de faire directement un raccordement I2C, l'écran LCD propose un connecteur UEXT, ce qui rend le raccordement enfantin.
Bibliothèque Arduino et MicroPython
Olimex propose une bibliothèque et code d'exemple compatible avec Arduino. Voir la fiche produit pour plus d'informatique.
Et de notre côté, nous avons fait un portage de la bibliothèque sous MicroPython. Disponible sur GitHub.
Nous avons apporté quelques améliorations à la bibliothèque MicroPython:
Ce m'intéressais, c'était de pouvoir utiliser le module avec MicroPython... et la carte ESP8266-EVB exposant un port UEXT.
Voyez notre article pour savoir comment flasher MicroPython sur ESP8266.
Du code
Après avoir copié la bibliothèque modlcd19.py sur la carte MicroPython, il est possible d'utiliser le code suivant pour contrôler l'écran.
Où acheter
Nous nous sommes concentré sur le portage du module MOD-LCD1x9 vers MicroPython.
MOD-LCD1x9
MOD-LCD1x9 est un écran LCD alphanumérique. L'avantage des écrans LCD est qu'ils sont vraiment économique en énergie.
Ensuite, celui-ci utilise le bus I2C et une tension de 3.3V, il ne réclame donc très peu de connexions pour fonctionner.
MOD-LCD1x9 (disponible chez MC Hobby) |
Si vous prêtez attention, il y a une barre (type "underscore") sous chaque caractère. Il s'agit d'un marqueur de sélection, très pratique pour indiquer l'activation d'un option ou d'une sélection.
Bien qu'il soit possible de faire directement un raccordement I2C, l'écran LCD propose un connecteur UEXT, ce qui rend le raccordement enfantin.
MOD-LCD1x9 |
Olimex propose une bibliothèque et code d'exemple compatible avec Arduino. Voir la fiche produit pour plus d'informatique.
Et de notre côté, nous avons fait un portage de la bibliothèque sous MicroPython. Disponible sur GitHub.
Nous avons apporté quelques améliorations à la bibliothèque MicroPython:
- Activation du point et/ou de l'underscore (barre de sélection)
- Défilement automatique pour les textes dépassant 9 caractères
- Encodage de quelques caractère supplémentaires
- Formatage de texte (pour affichage de valeur entière ou décimales)
Ce m'intéressais, c'était de pouvoir utiliser le module avec MicroPython... et la carte ESP8266-EVB exposant un port UEXT.
MOD-LCD1x9 branché sur le ESP8266-EVB |
Du code
Après avoir copié la bibliothèque modlcd19.py sur la carte MicroPython, il est possible d'utiliser le code suivant pour contrôler l'écran.
''' Test the Olimex MOD-LCD1x9 board. ''' from machine import I2C, Pin from time import sleep from modlcd19 import MODLCD1x9 i2c = I2C( sda=Pin(2), scl=Pin(4) ) lcd = MODLCD1x9( i2c ) # Allume tous les segments # Un affichage de 9 caractères Max lcd.write( '123456789' ) sleep( 2 ) lcd.write( '' ) sleep( 2 ) # Affiche une longue chaine de caractere # Défilement automatique lcd.write( 'Hey, this is a message from Belgium' ) # Activation du point dans la matrice lcd.write( 'ABCDEFGHI') for i in range( 9 ): lcd.point( i+1, True, force_update=True ) sleep( 1 ) lcd.point( i+1, False, force_update=True ) sleep( 1 ) # Activation de la barre de sélection dans la matrice for i in range( 9 ): lcd.selection( i+1, True, force_update=True ) sleep( 1 ) lcd.selection( i+1, False, force_update=True ) lcd.write( 'The end.') print( "That's the end folks")
Où acheter
- MOD-LCD1x9 est disponible chez MC Hobby
Écrire un commentaire