Interragir avec le Sense Hat
Il existe une librairie python pour travailler avec le Sense Hat. Étant donnée qu'on n'utilisera pas sa version physique nous n'avons pas à installer cette librairie.
Le langage à utiliser pour interragir avec Sense Hat est python. Dès que le carte physique est bien branché au Raspberry Pi (on dans notre cas l'émulateur est lancé), le Sense Hat est disponible.
Nos scripts débuteront avec l'importation de la librairie.
# Si on utilise une carte Sense Hat
from sense_hat import SenseHat
# Si on utilise l'émulateur
from sense_emu import SenseHat
Utilisation de la librairie
Après avoir importé la librairie, on va créer un objet SenseHat avec lequel on va travailler.
Afficher du texte
Il y a deux commandes qui nous permettent d'afficher du texte facilement sur la série de DEL.
show_message(): Qui nous permet d'afficher une chaine de texte, elle sera affiché en mouvement de droite à gauche. Le texte va disparaitre ensuite.show_letter(): Affiche seulement un caractère. Parcontre le caractère reste affiché à l'écran tant qu'on n'affiche rien d'autre.
Astuce
On peut aussi à tout moment effacer l'écran avec la commande `sense.clear()`
| Exemple de script Hello world | |
|---|---|
Boucle de traitement
Quand le script est lancé sur le Sense Hat, il est exécuté qu'une fois et ensuite s'arrête. Dans la grande majorité des cas ce n'est pas le comportement que l'on souhaite, surtout quand on va travailler avec les capteurs. Onn va donc prendre l'habitude de placer notre code dans une boucle de traitement qui va s'exécuter tant que le Sense Hat est sous tension. En python le plus simple est de faire une boucle infinie avec while true :
| Exemple de boucle | |
|---|---|
Utilisation de la commande sleep pour stopper le traitement
Selon le traitement il peut être nécessaire de stopper le traitement de la boucle. Par exemple je veux afficher les chiffres de 1 à 3 en continue.
Si je lance ce code, je vais n'avoir que le chiffre 3 d'affiché en permanence. Pourquoi? Parce qu'à chaque itération de la boucle, les trois chiffres sont affiché trop rapidement pour le voir à l'oeil et au final on ne voit que le dernier.
La solution est de ralentir le traitement avec la commande sleep de python. Pour l'utiliser il faut importer la librairie time :
Ensuite la commande sleep prend un nombre de seconde en paramètre qui correspond au temps d'arrêt voulu. Ce nombre peut être décimal. Reprenons le même exemple mais cette fois avec la commande sleep :
Maintenant les chiffres vont défiler l'un après l'autre avec un intervalle de 0.5 seconde.