Welkom op Codingkids

Programmeren voor kinderen

Raspberry Pi met Pibrella

Met de Pibrella op je Raspberry Pi kun je bijvoorbeeld motortjes laten draaien, de 3 leds programmeren als stoplicht of de button en buzzer programmeren.

Installeren

Voor je de Pibrella kunt gebruiken moet je eerst de Pibrella software installeren. Open de Terminal op je Raspberry Pi en kopieer en plak de volgende Linux commando's in je Terminal:

sudo apt-get update sudo apt-get upgrade sudo apt-get install python3-pip sudo pip-3.2 install pibrella



Pibrella op de Raspberry Pi 2

Bekijk op de afbeelding hoe je de Pibrella op de GPIO van de Raspberry Pi plaatst. De Raspberry Pi moet wel eerst uit zijn. Zodra hij goed geplaatst is kan je de Pi weer aanzetten.



Programmeren

Omdat alleen de root gebruiker toegang heeft tot de GPIO moet je Python openen als root gebruiker. Dit doe je in de Terminal zo:

sudo idle3 &



LED's

Ga naar File, New File. We beginnen met alle LED's 2 seconden aan te zetten en daarna weer uit. Schrijf het programma in Pyton en sla het op en druk dan op F5 om het uit te proberen.

import pibrella import time pibrella.light.on() time.sleep(2) pibrella.light.off()



Red, Amber, Green LED's

Je kunt deze opdrachten gebruiken om de LED's één voor één aan en uit te zetten:

import pibrella import time pibrella.light.green.on() time.sleep(2) pibrella.light.green.off() time.sleep(2) pibrella.light.amber.on() time.sleep(2) pibrella.light.amber.off() time.sleep(2) pibrella.light.red.on() time.sleep(2) pibrella.light.red.off()



Knipper LED

Wil je een LED laten knipperen kan dat met de blink() functie. Tussen de haakjes kan je twee argumenten meegeven, tijd_aan_in_seconden, en tijd_uit_in_seconden. Bijvoorbeeld: pibrella.light.green.blink(1,1), de LED zal 1 seconden aan zijn en dan 1 seconde uit en dat herhaalt zich steeds.



Opdracht knipper LED's

Maak een programma waarbij alle 3 LED's gaan knipperen om de beurt.

Voorbeeld knipper LED's



Fade en Pulse

Fade is het Engelse woord voor vervagen. We kunnen de lichtsterkte van het lampje aanpassen met de Fade() functie. Pulse betekent dat het zich herhaald zoals een hartslag. Je gebruikt daarvoor de functie Pulse(). Hieronder zie je hoe je deze 2 functie's kunt gebruiken en zie je wat de getallen tussen de haakjes betekenen:

pibrella.light.red.pulse(2, 2, 1, 1) #fade_in_tijd,   fade_uit_tijd,   aan_tijd, uit_tijd
pibrella.light.red.fade(0, 100, 5) #fade van 0 tot 100 procent in 5 seconden


Fade en Pulse opdracht

Schrijf een programma waarin je de Fade() en Pulse() functie gebruikt voor de 3 LED's. Je mag zelf weten hoeveel seconden je gebruikt in de 2 functies. Experimenteer maar.

Toggle

Toggle betekent omschakelen. Je kunt iets dat aan staat uitzetten en iets dat uit staat aanzetten. De Toggle() functie kan bijvoorbeeld toegepast worden op een LED. In het onderstaande voorbeeld wordt een LED aangezet met de drukknop en ook weer uit gezet met de drukknop.

import pibrella import time while True: if pibrella.button.read(): pibrella.light.red.toggle() time.sleep(0.2)



Buzzer

Voor de buzzer (zoemer) zijn er een aantal fucties. Pobeer ze maar eens uit in je programma. Bijvoorbeeld:
pibrella.buzzer.fail()
pibrella.buzzer.alarm()
pibrella.buzzer.off()
pibrella.buzzer.buzz(440)

Hieronder een voorbeeld waarbij de buzzer geluid maakt als de drukknop (button) wordt ingedrukt:

import pibrella import time while True: if pibrella.button.read(): pibrella.buzzer.success() time.sleep(2) pibrella.buzzer.fail() time.sleep(2) pibrella.buzzer.alarm() time.sleep(4) pibrella.buzzer.off()



Met de opdracht regel pibrella.buzzer.buzz(440) kun je een bepaalde toonhoogte spelen. Bijvoorbeeld het getal 440 is de frequentie van de trillingen uitgedrukt in Herz. Onder frequentie van geluid wordt het aantal trillingen per seconde verstaan. Bijvoorbeeld een A noot heeft de frequentie van 440 Herz, dat zijn 440 trillingen per seconde. Hoe meer trillingen per seconde hoe hoger de noot. Hieronder nog een voorbeeld voor de buzzer:

import pibrella import time herz = 440 for x in range(4): pibrella.buzzer.buzz(herz) time.sleep(1) herz = herz * 2 pibrella.buzzer.off()



Motor

De Pibrella heeft 4 Input en 4 Output pinnen of verbindingen. De Inputs zijn gelabeld: A, B, C en D. De Outputs zijn gelabeld: E, F, G en H.

Pibrella Input en Output

De opdrachten die je kunt gebruiken voor de Output zijn bijvoorbeeld:pibrella.output.e.on(), of pibrella.output.e.off() en pibrella.output.e.write(1) hierbij is 1 aan (high) en 0 uit (low).

Sluit bijvoorbeeld een mini-metal-gear-motor aan met twee draadjes op Output e. De twee draadjes kunnen naast elkaar, maakt niet uit welke waar in gaat. Hieronder een programma waarbij de motor gaat starten met draaien als je op de Drukknop drukt, hij draait 5 seconden en gaat dan uit. Wil je dat de motor de andere kant op draait dan moet je de kabeltjes omwisselen.

Pirbrella met motor

import pibrella import time while True: if pibrella.button.read(): pibrella.output.e.on() time.sleep(5) pibrella.output.e.off()



Pibrella met motor



Share on Facebook Share on Google+ Share on LinkedIn Share on Twitter





Ondersteun deze website!