MicroPython: bibliothèque pour les afficheurs SerLCD de SparkFun
Bonjour à tous,
Les amateurs de MicroPython seront heureux d'apprendre qu'une nouvelle bibliothèque qwiic-serlcd-i2c vient d'être ajoutée à notre dépôt esp8266-upy
Qu'est ce que SerLCD?
SerLCD de SparkFun est un afficheur LCD série propulsé par un microcontrôleur
ATmega328P.
SerLCD permet d'ajouter un afficheur Cristaux Liquide 16x2
RGB dans votre projet. Le microcontrôleur gère l'écran et les
communications séries!
![]() |
SerLCD de SparkFun |
Les afficheurs SerLCD peuvent communiquer de trois façon différentes: série, I2C et SPI. L'afficheur est équipé de d'un connecteur Qwiic (aussi appelé StemmaQT), ce qui l'intègre dans l'écosystème Qwiic qui simplifie les raccordements grâce à sa connexion universelle.
La bibliothèque
Cette dernière -nommée serlcd.py- est disponible sur le dépôt dans le sous-répertoire qwiic-serlcd-i2c.
Elle doit être copiée sur votre plateforme MicroPython avant de pouvoir l'utiliser.
Si vous utilisez mpremote, l'installation peut se faire très simplement à l'aide de la commande suivante:
mpremote mip install github:mchobby/esp8266-upy/qwiic-serlcd-i2c
Brancher un SerLCD
Pour pouvoir utiliser cet afficheur, il suffit d'utiliser son connecteur Qwiic/StemmaQt avec un câble adaptateur JST-SH 4 . Le raccordement est super simple.
En guise d'exemple, voici le raccordement sur un Raspberry Pico... simple non?
![]() |
Source: dépôt qwiic-serlcd-i2c |
Utiliser la bibliothèque
L'utilisation de la bibliothèque est très similaire à la version "LcdI2C" (voir ici) que nous proposons déjà pour un autre afficheur.
from machine import I2C,Pin from serlcd import SerLCD import time # Raspberry-Pi Pico i2c = I2C( 1, sda=Pin.board.GP6, scl=Pin.board.GP7 ) # Adresse par défaut (0x72) # Ajouter parametre address=0x38 pour une adresse personnalisée lcd = SerLCD( i2c, cols=16, rows=2 ) lcd.backlight( (0,255,0) ) # Vert time.sleep_ms(500) lcd.backlight( (0,0,255) ) # Bleu time.sleep_ms(500) lcd.backlight( (255,0,0) ) # Rouge lcd.print( "Hello" ) time.sleep(2) lcd.clear() lcd.print( "World!" ) time.sleep(1) lcd.display( False ) # éteindre le LCD et retro-éclairage time.sleep(1) lcd.display( True ) # allumer le LCD et restaurer le rétro-éclairage lcd.set_cursor( (9,1) ) #colonne,ligne (0..N-1) lcd.print("*") lcd.contrast( 0 ) # Contraste au maximum. Valeur (0..255) #lcd.contrast( 100 ) # devrait être totalement transparent # Désactiver les messages systèmes comme 'Contrast: 5' lcd.system_messages( enable=False ) # Sauver le contenu actuel de l'écran comme écran d'accueil # lcd.save_splash() # Désactiver l'écran d'accueil (à la mise sous-tension) lcd.splash( enable=False ) # Changer l'adresse I2C du SerLCD (stocké en EEPROM) # lcd.set_address( 0x73 )
Écrire un commentaire