Contact met de buitenwereld
Nu de connectie met de Raspberry Pi is gelukt en de desktop zichtbaar is, kunnen we beginnen programma's te schrijven.
De besturing gaat via input/output pins op de Raspberry Pi Model B+ heeft 40 pinnen.
De input/output pinnen zijn gelabeled met GPIOxx. Zoals je ziet, komt het pinnummer niet overeen met het nummer van de GPIO's, pin# 3 is GPIO02, pin# 12 is GPIO18 enz. Dit overzicht is dus noodzakelijk om de goede verwijzing te gebruiken in het Python programma, waarin de GPIO nummers worden gebruikt om met de buitenwereld te communiceren.
Je kunt een PDF gebruiken om de in- en uitgangen te definiëren.
Dit is een PDF bestand, dat kan worden geprint en ingevuld.
Een goede tutorial voor de Raspberry Pi is te vinden op Youtube. Start tutorial.
Een voorbeeld
We laten een LED 10x knipperen met 1 seconde vertraging. De LED maakt verbinding met GPIO18, dit is pin# 12 op de 40-pins connector van de Raspberry Pi B+. Voor GND (ground) kunnen we één van de Ground pinnen gebruiken, bijv. pin# 6, 9, 14 enz.

R1 = (3.3 - 2) / 20 mA = 65 Ohm
De dichtsbijliggende waarde is 68 Ohm.
Knipperende LED import RPi.GPIO as GPIO import time LED = 18 ON = 1 OFF = 0 GPIO.setmode(GPIO.BCM) GPIO.setup(LED, GPIO.OUT) for i in range (0, 10): GPIO.output(LED, ON) time.sleep(1) GPIO.output(LED, OFF) time.sleep(1) GPIO.cleanup() |
# importeer GPIO module # importeer time module # gebruik variabelen # set BCM pin nummering # configureer pin 18 als output # doe de ingesprongen commando's 10x # LED inschakelen # wacht 1 seconde # LED uitschakelen # wacht 1 seconde # clean up |
Een eigenschap van de programmeertaal Python is, dat commando's zoals for, if, while etc. geen eind-commando hebben. In Python wordt een dubbele punt (:) gebruikt. Alles wat daarna ingesprongen wordt geschreven, wordt uitgevoerd. Terugspringen naar het begin van de regel is ook het begin van een nieuw commando, dat niet tot de 'loop' behoort.
Vandaar
for i in range (0, 10):
de volgende 4 ingesprongen regels worden nu 10x herhaald. De regel GPIO.cleanup() wordt uitgevoerd, nadat het 'for' commando is uitgevoerd.