Nieuwe special “Raspberry Pi voor Beginners”

Redactie
0
Sense HAT

Raspberry Pi Sense HAT

De nieuwe “Raspberry Pi voor Beginners” ligt op 10 januari in de winkels en in onze webshop. Daarin staat onder andere een nieuwe, uitgebreide workshop voor de Sense Hat. Dat is een uitbreidingskaart voor de Raspberry Pi vol met sensors voor temperatuur, luchtvochtigheid, beweging et cetera. Er zit ook een matrix van 8×8 RGB-leds op.

De Sense Hat is onder meer te koop bij sossolutions.nl voor  40,95 euro. Als je (nog) geen Sense Hat hebt, kun je ook eerst wat experimenteren met de Sense Hat Emulator. Dat kan bij Programming in het menu van Raspbian, het besturingssysteem van de Pi.

Als voorproefje van de “Raspberry Pi voor Beginners” staat hier een klein project voor de Sense Hat. Speciaal voor de kerstdagen hebben we dat snel even in elkaar gezet. Het is een kerstboom, compleet met knipperende lichtjes.

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.

# 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

xmastreeKopieer 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.

Dat was het. Succes en veel plezier met de Pi en onze nieuwe Pi-special, en hele fijne kerstdagen en oud en nieuw gewenst.

sensehat1

 

Meer over

c't magazine

Deel dit artikel

Lees ook

Winstgevend kwartaal voor Lenovo dankzij desktops

Een onverwachts groei in de verkoop van computers heeft ervoor gezorgd dat Lenovo het afgelopen kwartaal een hoge omzet wist te behalen. De reden hier...

Asus komt met 4K-monitor van 43″ met FreeSync2 & HDR

De ASUS ROG Strix XG438Q is duidelijk serieus: 43" groot, een 4K-resolutie en HDR. En dan ook nog eens met een refreshrate van 120 Hz en FreeSync2.

0 Praat mee

avatar
  Abonneer  
Laat het mij weten wanneer er