De GPIO is hoe de Raspberry Pi met de buitenwereld praat. Het gebruikt code om de signalen en spanningen van en naar de 40-pins header te programmeren. Coderen met de GPIO is redelijk eenvoudig, vooral voor beginnersprojecten zoals LED’s en zoemers. Met een paar componenten en een paar regels code kun je een LED laten branden of knipperen als onderdeel van je project. Deze tutorial laat zien wat je nodig hebt om een LED te verlichten met Python-code op je Raspberry Pi met behulp van de traditionele RPi.GPIO-methode.
Wat je nodig hebt om het project te starten
Om het project te starten, begint u met de onderstaande lijst met items. Je zou deze items in je favoriete makerwinkel of online veilingsites moeten kunnen vinden.
- Een Raspberry Pi-werkstation met de nieuwste Raspbian (Pi, scherm, toetsenbord, muis, voeding en SD-kaart)
- Een klein breadboard
- Een 5 mm LED
- Een weerstand van 330 ohm
- Twee mannelijke naar vrouwelijke jumperdraden
Maak het circuit
Je gebruikt twee GPIO-pinnen voor dit project:
- Een massapin (fysieke pin 39) voor de massapoot van de LED.
- Een generieke GPIO-pin (GPIO 21, fysieke pin 40) om de LED van stroom te voorzien, maar alleen als je dat wilt, en dat is waar de code binnenkomt.
-
Schakel de Raspberry Pi uit.
-
Gebruik de jumperdraden om de aardingspin te verbinden met een baan op het breadboard.
-
Doe hetzelfde voor de GPIO-pin, maar sluit deze aan op een andere rijstrook.
Voeg de LED toe aan het circuit
Voeg vervolgens de LED en weerstand toe aan het circuit. LED’s hebben polariteit, wat betekent dat LED’s op een bepaalde manier moeten worden aangesloten. LED’s hebben meestal één langere poot, de anode (positieve) poot, en een platte rand op de LED-plastic kop, die de kathode (negatieve) poot aangeeft. Een weerstand beschermt de LED tegen het ontvangen van te veel stroom en de GPIO-pin tegen het geven van te veel. Dit kan beide beschadigen. Er is een beetje een generieke weerstandsclassificatie voor standaard-LED’s: 330 ohm. Daar zit wat wiskunde achter, maar concentreer je nu op het project. Je kunt daarna altijd nog kijken naar de wet van Ohm en aanverwante onderwerpen.
-
Verbind een been van de weerstand met de GND-baan op het breadboard en het andere weerstandsbeen met de baan die is verbonden met het kortere been van de LED.
-
Verbind het langere been van de LED met de baan die is aangesloten op de GPIO-pin.
Maak de Python GPIO-code (RPi.GPIO)
Op dit moment heb je een circuit bedraad en klaar voor gebruik, maar je hebt de GPIO-pin niet verteld om stroom te sturen. De LED mag dus niet branden.
De volgende stap is om een Python-bestand te maken om de GPIO-pin te vertellen dat hij vijf seconden stroom moet sturen en dan moet stoppen. De nieuwste versie van Raspbian heeft de nodige GPIO-bibliotheken geïnstalleerd.
-
Open een terminalvenster en maak een nieuw Python-script door de volgende opdrachten in te voeren: touch led.py
chmod +x led.py
nano led.py -
Dit opent een leeg bestand waarin u de code invoert. Voer de onderstaande regels in: #! /usr/bin/python
# Importeer de bibliotheken die we nodig hebben
importeer RPi.GPIO als GPIO
import tijd# Stel de GPIO-modus in
GPIO.setmode(GPIO.BCM)# Stel het LED GPIO-nummer in
LED = 21# Stel de LED GPIO-pin in als uitgang
GPIO.setup (LED, GPIO.OUT)# Zet de GPIO-pin aan
GPIO.output (LED, True)# Wacht 5 seconden
tijd.slaap(5)# Zet de GPIO-pin uit
GPIO.output (LED, False) -
druk op Ctrl+X om het bestand op te slaan. Om het bestand uit te voeren, voert u de volgende opdracht in de terminal in en drukt u op Enter: python led.py
-
De LED moet vijf seconden branden en vervolgens uitgaan en het programma beëindigen.