C’est d’actualité : Thomas Pesquet est dans l’espace !

Vous ne le savez peut être pas mais un Raspberry Pi est parti avec lui. Un Raspberry Pi équipé d’une extension : le Sense Hat.

Je me suis donc senti obligé d’en avoir un et de le tester 🙂

 

Découverte du produit et branchement :

Le branchement est super simple, le Sense Hat vient se brancher sur les ports GPIO du RaspBerry. Il a fallu que je le sorte de son étui, c’est tout. Un petit plus: il y avait quatre entretoises et les vis correspondantes dans la boite.  Cela permet de bien fixer le Sense Hat sur le Raspberry et d’assurer une bonne stabilité de l’ensemble. C’est un détail mais j’ai apprécié !

C’est quoi au juste le Sense Hat ?

Une carte d’interface pour le RaspBerry comprenant :

  • une matrice de 64 LED
  • un accéléromètre, gyroscope et magnétomètre
  • un capteur de pression d’air
  • un capteur de température et d’humidité
  • un petit joystick (tout petit)

Je vais pouvoir en faire des choses !

Allumons le Raspberry :

Au démarage les LED s’allument. Oh! C’est beau !

Passons maintenant aux choses sérieuses. Il faut maintenant récupérer sur le RaspBerry la bibliothèque nécessaire à sa programmation. Pour cela, tapez les lignes de commande :

sudo apt-get update
sudo apt-get install sense-hat

Affichage sur la matrice de LEDs

On va commencer simple : afficher un simple message sur la matrice de LEDs. Pour cela il faut utiliser la procédure showMessage.

# Import de la bibliothèque du SenseHat
from sense_hat import SenseHat
# Création d'un objet représentant le SenseHat
Sense = SenseHat()
# Affichage d'un message sur le SenseHat
sense.show_message('Coucou!!!!')

Le message défile sur la matrice de LED. Je vous l’avais dit, on commence simple.

Les paramètres de la méthode show_message permet de régler la vitesse de défilement (c’est une valeur entre 0 et 1), la couleur du texte ainsi de la couleur de fond. (J’avais oublié de vous le dire, les LEDs sont multicolores). Les couleurs étant codées en Rouge/Vert/Bleu.

sense = SenseHat();
sense.show_message(
'Coucou!!!!',
scroll_speed=0.1,
text_colour=[255,255,0],
back_colour=[0,0,255]
)

La bibliothèque fournit une méthode similaire pour afficher une simple lettre sur l’écran de LEDs : show_letter. Elle fournit les mêmes arguments que show_message (la lettre à afficher, la couleur de la lettre et la couleur de fond.

Une autre possibilité intéressante est d’utiliser la matrice de LEDs comme une matrice de 8x8 pixels. Pour cela il est possible en première approche d’allumer une LED individuellement. Pour cela on dispose de la méthode set_pixel(). Cette méthode doit avoir pour paramètres (obligatoires) les coordonnées du pixel à afficher (le point 0,0 étant en haut à gauche de la matrice) et la couleur de ce pixel (en Rouge/Vert/Bleu).

sense = SenseHat();
sense.set_pixel(0,2,[255,255,0])

Enfin, il est possible d’afficher en une fois et directement une image de 8x8 pixels. Dans l’exemple qui suit, je vais afficher une croix rouge.

# import de bibliothèque du SenseHat
from sense_hat import SenseHat
# Création d'un objet sense représentant le SenseHat
sense=SenseHat()
# Définition des variables de couleur
# pixel rouge
r=[255,0,0]
# pixel éteint
e=[0,0,0]
image=[
e,e,e,r,r,e,e,e,
e,e,e,r,r,e,e,e,
e,e,e,r,r,e,e,e,
r,r,r,r,r,r,r,r,
r,r,r,r,r,r,r,r,
e,e,e,r,r,e,e,e,
e,e,e,r,r,e,e,e,
e,e,e,r,r,e,e,e
]
sense.set_pixels(image)

Mesure de la température, de la pression et de l’humidité

Pour mesurer ces informations 3 méthodes sont disponibles dans librairie installée :

  • get_température() : pour mesurer la température en celsius
  • get_pressure() : pour mesurer la pression en millibars
  • get_humidity() : pour mesurer l’humidité en pourcentage

Mes remarques sur l’utilisation de ces indicateurs :

  • pour la pression et l’humidité, je vois pas trop le domaine d’utilisation. Si vous pouvez m’éclairer, n’hésitez pas à laisser un commentaire
  • pour la température, le SenseHat est donc connecté sur le Pi. Inconvénient : la température mesurée est sur-évaluée. En effet la « chaleur » du Pi fausse le calcul. Utile donc pour détecter des variations de température.

 

Conclusion

Comme vous l’avez certainement remarqué, je n’ai pas testé tous les capteurs du SenseHat. Honnêtement, j’ai pas trop d’idée d’application simple de l’accéléromètre, du giroscope et du magnétomètre. Peut être dans un prochain article?