Quantcast
Channel: Configuration Archives - Framboise 314, le Raspberry Pi à la sauce française....
Viewing all articles
Browse latest Browse all 176

[AstroPi] Emulateur de SenseHat et de matrice de LEDs

$
0
0

La présence de Thomas Pesquet dans la Station Spatiale Internationale (ISS) a permis à l’ESA de proposer un concours aux écoliers, collégiens et lycéens européens.
De nombreux participants français ont été retenus pour proposer des applications qui seront exécutées sur les Raspberry Pi embarqués dans l’ISS.
J’ai reçu plusieurs demandes d’aide auxquelles je réponds de mon mieux. Pour aider ceux qui démarrent et ont du mal à travailler sur leurs programmes avec la SenseHat, je vous propose de voir comment installer un émulateur de cartes SenseHat sur le Raspberry Pi, puis un émulateur de matrice à LED pour la SenseHat qui pourra aider à la création d’animations ou de blasons/logos destinés à accompagner les programmes.

AstroPi, la SenseHat dans l’espace

Rappel des caractéristiques de la SenseHat

Je vous avais présenté la SenseHat lors de sa sortie, fin 2015. Vous pouvez aussi consulter le WiKi de McHobby qui propose un traduction en français de la documentation de la SenseHat. Dominique publie de nombreuses traductions, n’hésitez pas à faire un tour sur son site 🙂

La carte est équipée d’accéléromètres et de gyroscopes réalisés en nano-technologie, qui enregistrent les mouvements selon les 3 axes Pitch, Yaw et Roll. Si ça ne vous parle pas, le schéma ci-dessous devrait vous éclairer 😉

La carte SenseHat embarque

  • Une matrice d’affichage LED 8 × 8
  • Un accéléromètre, un gyroscope et un magnétomètre
  • Un capteur de pression atmosphérique
  • Des capteur de température et d’humidité
  • Un Joystick miniature

Émulateur de SenseHat

Il existe deux émulateurs pour la carte SenseHat : un émulateur en ligne proposé par Trinket une société partenaire de la fondation Raspberry Pi et um émulateur à installer sur le Raspberry Pi.

Émulateur en ligne

L’émulateur en ligne autorise l’écriture de programmes Python qui peuvent être testés sur le simulateur (à droite de l’image).

Des curseurs situés en bas à droite de la fenêtre permettent de simuler les capteurs de température, pression et humidité de la carte. Ceci est utilisé pour tester des programmes qui doivent réagir en fonction de la valeur retournée par les capteurs.

Cet émulateur peut être utilisé avec n’importe quel navigateur et permet aux participants au challenge de tester leurs réalisations, même s’il n’y a pas de SenseHat ou de Raspberry Pi disponible.

Émulateur sur le Raspberry Pi

Pour les participants qui ont déjà un ou plusieurs Raspberry Pi, il est possible d’installer un émulateur, développé par Dave Jones, qui permet de simuler la carte SenseHat. Des curseurs sont ici aussi utilisés pour modifier les valeurs envoyées par les capteurs pendant que le code est en cours d’exécution.

Pourquoi avoir créé cette deuxième version ?

  • Pour l’utilisation hors ligne, ce qui est l’utilisation la plus courante des Raspberry Pi dans une salle de classe.
  • Pour permettre l’utilisation des plus vieux modèles de Raspberry Pi 256 Mo qui ne peuvent pas exécuter la version web.
  • Pour vous permettre d’utiliser un programme SenseHAT avec tous les modules Python disponibles, ou avec d’autres fonctionnalités du Raspberry Pi comme le module caméra.

Comment ça marche ?

Vous trouverez l’émulateur dans la rubrique Programmation du Menu de Raspbian PiXel. Lorsque vous cliquez dessus, la fenêtre Sense Hat Emulator s’ouvre.

Vous disposez alors de curseurs simulant les capteurs et de boutons en lieu et place du mini joystick.

Vous allez pouvoir piloter l’émulateur de carte SenseHat en Python : pour mes tests j’ai ouvert un Python 2 (IDLE) et saisi

from sense_emu import SenseHat
sense = SenseHat()
red = (255, 0, 0)
sense.show_message('framboise314', text_colour = red)

 

et le message s’affiche en rouge sur l’afficheur (ici le début de ‘framboise314’).

Un émulateur de matrice à LED

C’est Denis, enseignant de technologie à Brioude (43) qui m’a posé des questions à propos de cet émulateur. La version originale est disponible sur le github d’AstroPi.

J’en ai fait un fork que j’ai francisé, adapté à la nouvelle version de SenseHat (les anciens appels se faisaient sur AstroPi). J’ai aussi fait quelques modifications cosmétiques pour que les textes en français tiennent dans les boutons. Cette version est bien entendu disponible si vous souhaitez la modifier ou l’adapter à vos besoins.

Installer l’émulateur de matrice à LED

Si git n’est pas installé sur votre version de Raspbian, installez le

sudo apt-get install git
pi@raspberrypi:~ $ git clone https://github.com/framboise314/RPi_8x8GridDraw
Clonage dans 'RPi_8x8GridDraw'...
remote: Counting objects: 81, done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 81 (delta 16), reused 0 (delta 0), pack-reused 54
Dépaquetage des objets: 100% (81/81), fait.
Vérification de la connectivité... fait.
pi@raspberrypi:~ $ 

La copie du répertoire est rapide et ne devrait pas poser de problème.

pi@raspberrypi:~/RPi_8x8GridDraw $ ls
8x8grid-astropi.py  8x8grid-unicorn.py  buttons.py  led.py  licence.md  README.md

Dans le dossier on trouve les classes led et buttons nécessaire au fonctionnement du programme émulateur de matrice : 8x8grid-astropi.py.

N’hésitez pas à le renommer. Je trouvais le nom un peu long, je l’ai rebaptisé 8×8.py…

Lancer l’émulation

Dans le terminal entrez python 8x8grid-astropi.py

pi@raspberrypi:~/RPi_8x8GridDraw $ python 8x8grid-astropi.py

ce qui va ouvrir la fenêtre de l’émulateur :

Si vous cliquez sur une LED elle prendra la couleur sélectionné (rouge par défaut). Il faudra cliquer sur le bouton Joue sur LED en bas à droite pour transférer l’image sur les LED de la matrice.

Il est possible d’enregistrer une animation trame par trame, puis de l’enregistrer pour la recharger plus tard.

 

A noter
La sauvegarde d’une animation ou d’une image se fait toujours avec le même nom. Si vous voulez garder des fichiers, il faudra penser à les renommer, sinon il seront écrasés lors des prochaines sauvegardes.

La vidéo ci-dessous vous montre le fonctionnement de cet émulateur.

Vidéo

Et pour mémoire les premiers essais de la SenseHat sur framboise314

Conclusion

Avec les outils présentés dans cet article vous pouvez préparer le challenge de l’ESA ou tout simplement vous entraîner à la programmation de la SenseHat sans disposer de la carte.

Pour ceux qui seraient tentés par l’achat de la SenseHat, ces émulateurs vous donnent les moyens de vérifier si elle correspond à votre attente.

Sources

 

Sense HAT emulator


Viewing all articles
Browse latest Browse all 176

Trending Articles