
In deze tutorial gebruiken we de GPIO-pins (general-purpose input/output) van je Raspberry Pi. We gebruiken Python om code te schrijven voor het laten knipperen van een LED. Wanneer je deze tutorial voltooid hebt, heb je een eerste inleiding gekregen over hoe de GPIO-pinnen van je Pi gebruikt kunnen worden om te communiceren met externe elektronische componenten.
- Je Raspberry Pi voorbereiden
Allereerst dien je een Raspberry Pi te hebben die op de nieuwste versie van Raspberry Pi OS draait. Deze versie bevat “Thonny”. We zullen deze gebruiksvriendelijke IDE gebruiken om onze Python-code te schrijven. Als je niet bekend bent met Python of met Thonny, raad ik je aan onze tutorial te bekijken “Hoe je eerste Python programma op de Raspberry Pi schrijven” voor een snelle introductie.
- De extra hardware voorbereiden
Vervolgens heb je wat extra hardware nodig:
– een breadboard (we gebruiken een breadboard van 400 punten)
– een LED (we gebruiken een rode 5 mm LED)
– een weerstand van 100 Ohm (een wat hogere of lagere weerstandswaarde is geen probleem)
Dan heb je 2 opties, eerst de gemakkelijkste (met elke pin duidelijk gelabeld en goed toegankelijk):
– een T-cobbler
– een 40 pins GPIO-kabel
Of, de tweede optie (met niet-gelabelde en moeilijk toegankelijke pinnen):
– 2 vrouw-naar-man-springkabels
Indien je dingen zou missen, aarzel dan niet om onze shop te bezoeken. We hebben een goed bedachte kit die alle nodige componenten bevat . - Maak kennis met de GPIO-pinnen
Via de GPIO (General Purpose Input Output) kan de Raspberry Pi met externe elektronische componenten communiceren . De Raspberry Pi is uitgerust met 40 GPIO-pinnen. Veel pinnen hebben specifieke functies, ze allemaal uitleggen valt buiten het bereik van deze tutorial. Als je er niet bekend mee bent, onthoud dan dat je sommige pinnen als invoer of uitvoer kunt programmeren. En wanneer deze pinnen
hoog
ofwaar
zijn, is er 3,3 volt spanning op, als de pinnenlaag
ofvals
zijn, is er geen spanning op.
Alle pinnen zijn goed genummerd. Als je één van onze kits hebt gekocht, kan je de nummering op de meegeleverde Raspberry Pi GPIO pinout kaart nazien.Let op! Voordat je begint met het aansluiten van draden op de GPIO-pinnen van je Raspberry Pi, dien je ervoor te zorgen dat je de Pi goed afsluit en de voedingskabel van het bordje hebt verwijderd!
- Stel de hardware op met een 40-pins kabel en een T-cobbler (1ste optie = onze voorkeur)
– sluit de 40-pins kabel op de GPIO-pinnen van je Pi aan (verwijder indien nodig eerst het deksel van je Pi)
– sluit de T-cobbler op het breadboard aan zoals wordt weergegeven in de afbeelding hierboven of hieronder
– sluit het andere uiteinde van de 40-pins kabel aan op de T-cobbler
– sluit het langere uiteinde (+) van de LED aan op GPIO 21
– sluit het korte uiteinde (-) van de LED op een vrije rij van je breadboard aan
– sluit een uiteinde van de weerstand op dezelfde rij aan
– verbind het andere uiteinde van de weerstand met een GND (grond) pin - Stel de hardware op met dupont jumperkabels (2de optie)
– sluit een jumperkabel van GPIO21 op een vrije rij van je breadboard aan
– sluit het langere uiteinde (+) van de LED op dezelfde rij aan
– sluit het korte uiteinde (-) van de LED aan op een andere vrije rij van je breadboard
– sluit een uiteinde van de weerstand op dezelfde rij aan
– sluit het andere uiteinde van de weerstand aan op een andere vrije rij van je breadboard
– sluit een jumperkabel van dezelfde rij aan op een GND (grond) pin van je Raspberry Pi - Schrijf de code
Het doel is hier om een heel eenvoudig programma te schrijven om onze LED te laten knipperen. We laten deze knipperen totdat we het programma onderbreken. Om de code te schrijven, gebruiken we de Thonny IDE. Je kan Thonny onder het applicatiemenu van je Raspberry Pi terugvinden .
Schrijf of plak de volgende code in de IDE:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
LED = 21
ledState = False
GPIO.setup(LED, GPIO.OUT)
while True:
ledState = not ledState
GPIO.output(LED, ledState)
time.sleep(0.5)
Wat verklaringen over de code:GPIO.setmode (GPIO.BCM)
: De GPIO.BCM-optie betekent dat we naar de pinnen verwijzen via het “Broadcom SOC-kanaal” -nummer, dit zijn de cijfers na “GPIO”GPIO.setwarnings (False)
: we gebruiken deze coderegel om waarschuwingsberichten te vermijden. Dit is nodig omdat we de GPIO-verbinding niet goed beëindigen tijdens het onderbreken van het programmaGPIO.setup (LED, GPIO.OUT)
: We definiëren de LED-pin (= 21) als een uitvoerpinwhile True:
is een oneindige lus (totdat we het programma onderbreken)
Wees voorzichtig, Python is witruimte gevoelig. Verwijder de “tab” niet vóór de volgende regels codeGPIO.output (LED, ledState)
: hier wijzen we de waarde van de variabele “ledState” aan de pin toe. True = 3,3 V en False = 0 Vtime.sleep (0.5)
: wacht 0.5 seconden - Voer het script uit
Vooraleer je het programma laat uitvoeren, dien je het een naam te geven en op te slaan. Wanneer je dan op de Run-knop klikt, zal de LED knipperen. Klik op de STOP-knop om het knipperen van de LED te stoppen.
Gefeliciteerd! Je hebt zojuist je eerste stap gezet in een geweldige wereld van Physical Computing waarin computers interageren op objecten van de fysieke wereld. Veel plezier met je volgende project!
Eindelijk aan de praat
mijn dank