Le Sense Hat (anciennement Astro Pi) est une carte d'extension pour le Raspberry Pi qui lui permet d'être sensible (de sentir) un certain nombre de chose et d'afficher des information en utilisant sa matrice d'affichage LED 8x8. Vous pouvez trouver plein d'information sur Astro Pi en suivant le Guide Astro Pi qui montre comment connecter et tester la carte Sense Hat. Ce guide propose également des explications et des exemples concernant les différents types d'entrée et de sortie que l'on peut faire.
Une fois que vous avez monté votre carte Sense Hat et exécuté votre premier programme en utilisant le guide, vous pouvez commencer à expérimenter les différents points de cette feuille de travail.
Les fonctionnalités principales sont entourées en rouge sur l'image.
On Met à jour notre version de Raspbian.
pi@raspberry:~ $ sudo apt-get update
On installe le module sense hat
.
pi@raspberry:~ $ sudo apt-get install sense-hat
On reboote le système.
pi@raspberry:~ $ sudo reboot
Vous trouverez ce code :
from sense_hat import SenseHat, ACTION_PRESSED, ACTION_HELD, ACTION_RELEASED from signal import pause x = 3 y = 3 sense = SenseHat() def clamp(value, min_value=0, max_value=7): return min(max_value, max(min_value, value)) def pushed_up(event): global y if event.action != ACTION_RELEASED: y = clamp(y - 1) def pushed_down(event): global y if event.action != ACTION_RELEASED: y = clamp(y + 1) def pushed_left(event): global x if event.action != ACTION_RELEASED: x = clamp(x - 1) def pushed_right(event): global x if event.action != ACTION_RELEASED: x = clamp(x + 1) def refresh(): sense.clear() sense.set_pixel(x, y, 255, 255, 255) sense.stick.direction_up = pushed_up sense.stick.direction_down = pushed_down sense.stick.direction_left = pushed_left sense.stick.direction_right = pushed_right sense.stick.direction_any = refresh refresh() pause()
Recopier ce code dans l'ide Thonny de votre raspberry et testez-le.
Pour créer un jeu d'action, une bonne idée est de créer une boucle infinie. Voici le code d'une boucle infinie utilisant le joystick du sense hat.
from sense_hat import SenseHat sense = SenseHat() while True: for x in sense.stick.get_events(): if x.direction == 'up': sense.show_letter("U") elif x.direction == 'down': sense.show_letter("D") elif x.direction == 'left': sense.show_letter("L") elif x.direction == 'right': sense.show_letter("R") elif x.direction == 'middle': sense.show_letter("M")