Sense-Hat

Bild

Was ist es?

Der Sense-Hat für den Raspberry Pi ist ein Shield, das mit diversen Sensoren, einer 8×8 LED-Matrix zur Anzeige und einem mini Joystick ausgestattet ist. Die Sensoren können Temperatur, Luftdruck und -feuchtigkeit messen. Des Weiteren befindet sich ein Magnetometer (Kompass), Beschleunigunssensor und ein Gyroskop auf der Platine. Der Sense-Hat wird einfach auf die GPIOs des Raspberries aufgesteckt und wird über den I²C-Bus angesprochen, daher muss I²C aktiviert sein. Folgende Beispiele sollen zeigen, wie die unterschiedlichen Möglichkeiten des Sense-Hat genutzt werden können.

CODE1

sense-hat.py
from sense_hat import SenseHat       #import der notwendigen Bibliotheken
sense = SenseHat()                   
feuchte = sense.get_humidity()       #Hier werden die drei Sensoren ausgelesen
temp = sense.get_temperature()
druck = sense.get_pressure()
 
try:
   while 1:
      sense.show_message("rel.Lf: %s %%rH" % round(feuchte, 1))   #In der Schleife werden die gemessenen Werte auf 
      sense.show_message("Temp.: %s C" % round(temp, 1))          #der LED-Matrix ausgegeben. Das "%s" ist ein 
      sense.show_message("Druck: %s Millibars" % round(druck, 1)) #Platzhalter für einen String
except: KeyboardInterrupt
sense.clear()                                                     #Die LED-Matrix wird wieder geleert

CODE 2

herz.py
#!/usr/bin/python3
from sense_hat import SenseHat
import time                                   #Import der Zeitfunktion, damit wir den Sleep-Befehl nutzen können
 
X = (255, 0, 0)                               #Deklaration zweier Variablen. Die Werte in den Klammern legen die 
O = (0, 0, 0)                                 #Farben fest, die ich angezeigt haben möchte. x=rot, o=keine Farbe
 
herz = [                                      #Auf diese Art und Weise kann ich für jede LED den gewünschten 
    O, O, O, O, O, O, O, O,                   #Zustand festlegen
    O, O, X, O, O, X, O, O,
    O, X, X, X, X, X, X, O,
    O, X, X, X, X, X, X, O,
    O, X, X, X, X, X, X, O,
    O, O, X, X, X, X, O, O,
    O, O, O, X, X, O, O, O,
    O, O, O, O, O, O, O, O
]
sense = SenseHat()
while 1:                                      #Innerhalb der Schleife wird das Herz für eine halbe Sekunde 
   sense.set_pixels(herz)                     #angezeigt, die LED-Matrix geleert und für eine halbe Sekunde so
   sleep(0,5)                                 #belassen.
   sense.clear()
   sleep(0,5)

CODE3

sense_sensoren.py
import time
from sense_hat import SenseHat
 
sense=SenseHat()
 
sense.set_imu_config(True, True, True)  #Sensoren aktivieren (Compass, Gyrometer, Accelometer)
 
try:
 
   while 1:
 
      orientation=sense.get_orientation() #Raumorientierung wird ausgegeben in Pitch/roll/yaw
      print(sense.orientation)
 
      accel=sense.get_accelerometer_raw() #Beschleunigung wird ausgegeben nach G-Beschleunigung pro Achse(x,y,z)
      print(sense.accel_raw)
 
      north=sense.get_compass()  #Nordrichtung wird ausgegeben in Grad
      print("Norden : %s" %north)
 
      time.sleep(0.5)
 
except: KeyboardInterrupt

Hinweise

I2C muss in der sudo raspi-config enabled sein ! Wird Debian Jessie verwendet, müssen folgende Installationsschritte nicht durchgeführt werden!

sudo apt-get update sudo apt-get install sense-hat sudo apt-get install libjpeg-dev # Optional - diese Library ist bei vielen Debian Distributionen schon enthalten sudo pip-3.2 install pillow sudo reboot