A Berry-Xmas with Sense HAT

      3 reacties op A Berry-Xmas with Sense HAT

Maak een kerstboompje met knipperende lampjes op de Sense HAT

De Raspberry Pi Sense Hat is de eerste officiële HAT van de Raspberry Pi Foundation. Hij is onder meer te koop bij Kiwi-electronics voor €36,95. Als je (nog) geen Sense Hat hebt, kun je ook eerst wat experimenteren met de Sense Hat Emulator. Dat kan bij Programmeren in het menu van Raspbian, het besturingssysteem van de Pi.

Het kerstboomscript

De code (in totaal 41 regels) hieronder hoef je alleen maar in een txt-bestand te zetten. Geeft het de extensie .py, bijvoorbeeld xmastree.py. Zorg wel dat de regels na while True een paar spaties inspringen.

Script:

# Sense HAT Xmas-Tree with blinking lights
# Dec. 2016, jmu

from sense_hat import SenseHat
import time 
sense = SenseHat()
sense.set_rotation(90)
sense.clear () # clears the matrix, just in case
sense.low_light = True

g = [154,205,50] # green
r = [255, 0, 0] # red
w = [255, 255, 255] # white
z = [0, 0, 0] # zero light

xmas_tree = [
z, z, z, z, w, z, z, z,
z, z, z, z, g, z, z, z,
z, z, z, g, r, g, z, z,
z, z, g, w, g, w, g, z,
z, z, z, r, g, r, z, z,
z, z, w, g, w, g, w, z,
z, g, r, g, g, g, r, g,
z, z, z, z, g, z, z, z,
]
sense.set_pixels(xmas_tree)

# make 3 leds blink in endless loop 
while True: 
    sense.set_pixel(4, 0, [255, 0, 0]) # make white pixel1 red
    time.sleep (0.2) 
    sense.set_pixel(4, 0, [255, 255, 255]) # return pixel1 to original color
    time.sleep (0.2)
    sense.set_pixel(2, 3, [255, 255, 255]) # make green pixel2 white
    time.sleep (0.2)
    sense.set_pixel(2, 3, [154,205,50]) # return pixel2 to original color
    time.sleep (0.2)
    sense.set_pixel(6, 6, [255, 255, 255]) # make red pixel3 white
    time.sleep (0.2)
    sense.set_pixel(6, 6, [255, 0, 0]) # return pixel3 to original color
    time.sleep (0.2)

Start het script

Kopieer het bestandje naar een usb-stick en van daar naar je home-directory van je Raspberry Pi met Sense HAT: /Home/Pi/ . Om het Python-script te draaien, open je een terminal en typ je het volgende commando in.

python3 xmastree.py

Druk op Ctrl+C om Python te stoppen of sluit de terminal. De kerstboom blijft dan op de ledmatrix staan, maar de leds knipperen niet meer. Om de ledmatrix helemaal uit te zetten, kun je de Raspberry Pi herstarten of het onderstaande Python-scriptje draaien. Sla dat op in een txt-bestand dat je bijvoorbeeld senseclear.py noemt:

from sense_hat import SenseHat
sense = SenseHat()
sense.clear ()

Experimenteer eens met de vorm en de kleuren van de boom. We hebben in de code (regel 7) de afbeelding op de Sense HAT met 90 graden gedraaid :

sense.set_rotation(90)

omdat onze behuizing dan beter kon staan. Als dat in jouw geval anders is kun je het aanpassen of de regel weglaten. Een andere bijzonderheid is regel 9:

sense.low_light = True

Daarmee wordt het licht van de leds gedimd, zodat ze in het donker niet zo fel zijn. Die regel kun je naar behoefte ook weglaten of True in False veranderen.
Dat was het. Succes en alvast hele fijne feestdagen gewenst.

3 gedachten over “A Berry-Xmas with Sense HAT

  1. Sean

    any idea why the code is giving the following error
    ValueError: Pixel at index 12 is invalid. Pixels must contain 3 elements: Red, Green and Blue on line 26 in main.py

    1. jmu Auteur bericht

      The code runs fine on my Pi Zero+SenseHAT and on the SenseHAT Emulator; no errors here. Are you sure, you copied the code correctly?
      Did you copy the code to a Windows text-editor like Notepad++? Then you have to make sure you saved the code with Unix (LF) line endings.

Gesloten voor reacties.