Utiliser le sense-hat sous MicroPython
Bonjour à tous,
Lorsque Garatronic nous à pondu le PYBStick-HAT-Face, il aura fallut attendre le branchement d'un HAT pour vraiment en comprendre l'intéret et la portée.
C'est pourtant une excellent idée!
PYBStick-HAT-FACE |
Brochage du PYBStick-HAT-Face. Source: GitHub du projet |
Pour illustrer ton utilisation, nous nous sommes penchés sur le Hat-Sense déjà bien connu dans le monde Raspberry-Pi.
Du coup, après quelques heures de travail, nous avons écrit le pilote MicroPython pour la cart Sense-Hat.
Hat-Sense sous MicroPython avec la PYBStick |
Le pilote MicroPython pour le Sense-Hat inclus des plans de raccordement avec la PYBStick, la carte Pyboard et aussi avec la carte PYBStick-HAT-Face.
Source: Github du pilote MicroPython pour Sense-Hat |
Avant de passer à l'exploration des différents exemples, voici le résultat en vidéo
Et comme pour le soft Raspberry, il est bien entendu possible d'afficher du texte....
from machine import I2C from sensehat import SenseHat import time # PYBStick, Hat-Face: Sda=S3, Scl=S5 i2c = I2C( 1 ) hat = SenseHat( i2c ) hat.clear() hat.scroll( "Sense-Hat running under MicroPython!" )
Mais aussi d'afficher des icones (identique au Micro:Bit).
from machine import I2C from sensehat import SenseHat from icons import HEART, HEART_SMALL import time from random import randint # PYBStick, Hat-Face: Sda=S3, Scl=S5 i2c = I2C( 1 ) hat = SenseHat( i2c ) # Afficher un coeur qui pulse red = hat.color(200, 0, 0) for i in range(10): hat.clear() hat.icon( HEART, color=red ) hat.update() time.sleep(1) hat.clear() hat.icon( HEART_SMALL, color=red ) hat.update() time.sleep(1)
Ou encore lire l'état du joystick
from machine import I2C from sensehat import * from icons import ARROW_N,ARROW_S,ARROW_E,ARROW_W,TARGET import time # PYBStick, Hat-Face: Sda=S3, Scl=S5 i2c = I2C( 1 ) hat = SenseHat( i2c ) hat.clear() while True: hat.clear(update=False) # Effacer le contenu du FrameBuffer j = hat.joystick if j == JOY_UP: hat.icon(ARROW_N) elif j == JOY_DOWN: hat.icon(ARROW_S) elif j == JOY_RIGHT: hat.icon(ARROW_W) elif j == JOY_LEFT: hat.icon(ARROW_E) elif j == JOY_ENTER: hat.icon(TARGET) hat.update()
Et bien entendu acquérir les données des différents capteurs (et les afficher) est tout aussi simple
from machine import I2C from sensehat import * import time # PYBStick, Hat-Face: Sda=S3, Scl=S5 i2c = I2C( 1 ) hat = SenseHat( i2c ) while True: # Lecture de l'humidité et température hat.scroll( "%3.1f %%RH, %3.1f Celcius" % hat.humidity ) time.sleep( 1 )
Le dépôt du projet contient de nombreux autres exemples explorant toutes les fonctionnalités de la carte.
Ressources
N'hésitez pas à consulter ces différents liens pour obtenir plus d'exemples.
- Github du pilote MicroPython pour Sense-Hat
- Sense-Hat @ MCHobby
- MicroPython Pyboard @ MCHobby
- MicroPython PYBStick @ MCHobby
- MicroPython PYBStick-HAT-FACE @ MCHobby
Écrire un commentaire