Geplaatst op Geef een reactie

Starten met GPIO op de Raspberry Pi

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.

Wat je nodig hebt voor deze tutorial

Allereerst moet je een Raspberry Pi 3 hebben die op de nieuwste versie van Raspbian 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 “Eerste Python programma op de Raspberry Pi” voor een snelle introductie.

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-gelablde en moeilijk toegankelijk pinnen):

  • 2 vrouw-naar-man-springkabels

Raspberry Pi GPIO discovery kit

 

Indien je dingen zou missen, aarzel dan niet om onze shop te bezoeken. We hebben een goed bedachte kit die alle nodige componenten bevat .

 

De GPIO-pinnen

Via de GPIO (General Purpose Input Output) kan de Raspberry Pi met externe elektronische componenten communiceren . De Raspberry Pi 3 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 of waar zijn, is er 3,3 volt spanning op, als de pinnen laag of vals 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 kaart nazien.

Raspberry Pi GPIO Header card

Het hardwaregedeelte opzetten

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!

1e optie: je gebruikt een 40-pins kabel en een T-cobbler

Raspberry Pi GPIO extension board
  • 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
Raspberry Pi GPIO extension board

2e optie: je gebruikt dupont jumperkabels

  • 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
Raspberry Pi with blinking LED

De code schrijven

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 programma
  • GPIO.setup (LED, GPIO.OUT): We definiëren de LED-pin (= 21) als een uitvoerpin
  • while 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 code
  • GPIO.output (LED, ledState): hier wijzen we de waarde van de variabele “ledState” aan de pin toe. True = 3,3 V en False = 0 V
  • time.sleep (0.5): wacht 0.5 seconden
blinking LED Python script

Wanneer je klaar bent met de code, klik op de Run-knop, de LED zal 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 waarin computers interageren op objecten van de fysieke wereld. Veel plezier met je volgende project!

Deel een reactie

Your email address will not be published. Required fields are marked *

Abonneer u op onze nieuwsbrief

Door u te abonneren, gaat u akkoord met ons privacy beleid.