logo

Le SENSE HAT

Présentation

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.

  • Matrice d’affichage LED 8 × 8
  • Accéléromètre, Gyroscope et Magnétomètre
  • Capteur de pression d'air
  • Capteur de température et d'humidité
  • Joystick Teeny

Installation

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

Un exemple

Voir le site sense hat.

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.

Senese hat et jeu

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")

Des idées de projets possibles

Le solitaire

Le jeu SOKOBAN

Le jeu PUISSANCE 4

Le jeu OTHELLO