Benutzer-Werkzeuge

Webseiten-Werkzeuge


lx:pi:sensehat

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
lx:pi:sensehat [05.11.2022 12:50] – picture added Andy Haubenschmidlx:pi:sensehat [12.11.2022 01:14] (aktuell) Andy Haubenschmid
Zeile 1: Zeile 1:
 ====== SenseHat ====== ====== SenseHat ======
 {{ :lx:pi:sense-hat.jpg?nolink&200|}} {{ :lx:pi:sense-hat.jpg?nolink&200|}}
 +
 +
 +==== Links ====
 +  * [[https://pi-buch.info/sense-hat-mit-python-steuern/|Laufschrift mit Python]]
 +  * [[https://www.circuits.dk/datalogger-example-using-sense-hat-influxdb-grafana/|Datalogger mit InfluxDB und Grafana]]
 +  * [[https://pythonhosted.org/sense-hat/api/|SenseHAT API Reference]]
 +
 +
 +==== Python Scripts ====
 +
 +<file python laufschrift.py>
 +#!/usr/bin/env python3
 +from sense_hat import SenseHat
 +sense = SenseHat()
 +sense.rotation = 180   # Display-Rotation
 +sense.low_light = True # Dimm LEDs
 +sense.show_message("RaspberryPi.aendy.ch")
 +</file>
 +
 +<file python rollpixel.py>
 +#!/usr/bin/env python3
 +from sense_hat import SenseHat
 +from time import sleep
 +
 +# LED an aktueller Position einschalten, an der
 +# bisherigen ausschalten
 +def setLED(x, y):
 +    global oldX, oldY
 +    # LED an alter Position ausschalten ...
 +    sense.set_pixel(oldX, oldY, (0, 0, 0))
 +    # und an neuer Position einschalten (rot) und
 +    # diese Position merken
 +    sense.set_pixel(x, y, (255, 0, 0))
 +    (oldX, oldY) = (x, y)
 +
 +# Setup
 +sense = SenseHat()
 +sense.clear()
 +sense.rotation = 0
 +(x, y)       = (4, 4)  # Startposition
 +(oldX, oldY) = (0, 0)  # vorige Position
 +setLED(x, y)
 +
 +# Event-Loop
 +print("Programmende mit Strg+C")
 +try:
 +    while True:
 +        o = sense.get_orientation()
 +        print(o)
 +        if 20 < o['pitch'] < 90 and x>0:
 +            x -= 1
 +        if 270 < o['pitch'] < 340 and x<7:
 +            x += 1
 +        if 270 < o['roll'] < 340 and y>0:
 +            y -= 1
 +        if 20 < o['roll'] < 90 and y<7:
 +            y += 1
 +        # LED an neuer Position einschalten
 +        setLED(x, y)
 +        sleep(0.3)
 +
 +except KeyboardInterrupt:
 +    sense.clear()
 +    print("Programmende")
 +</file>
 +
lx/pi/sensehat.1667652643.txt.gz · Zuletzt geändert: 05.11.2022 12:50 von Andy Haubenschmid