Hoe een LED aan te steken met de GPIO van de Raspberry Pi

De GPIO zo praat de Raspberry Pi met de buitenwereld. 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 beginnende projecten 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 uw 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
Benodigde onderdelen voor het project 'Light an LED with the Raspberry Pi's GPIO'

Creëer het circuit

Je gebruikt twee GPIO-pinnen voor dit project:

  • Een aardpen (fysieke pen 39) voor het grondbeen van de LED.
  • Een generieke GPIO-pin (GPIO 21, fysieke pin 40) om de LED van stroom te voorzien - maar alleen als je besluit - en dat is waar de code binnenkomt.
  1. Schakel de Raspberry Pi uit.

  2. Gebruik de jumperdraden om de grondpin te verbinden met een baan op het breadboard.

  3. Doe hetzelfde voor de GPIO-pin, maar sluit deze aan op een andere rijstrook.

    Pins aansluiten op het breadboard van Raspberry Pi's GPIO

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 altijd kijken naar De wet van Ohm en aanverwante onderwerpen daarna.

  1. Sluit een been van de weerstand aan op de GND-baan op de broodplankje en het andere weerstandsbeen naar de baan die is verbonden met het kortere been van de LED.

  2. Verbind het langere been van de LED met de baan die is aangesloten op de GPIO-pin.

    Volledig circuit met LED en weerstand gemonteerd op Raspberry Pi's GPIO

Maak de Python GPIO-code (RPi. GPIO)

Op dit moment heb je een circuit aangesloten en klaar voor gebruik, maar je hebt de GPIO-pin niet verteld om stroom te sturen. De LED mag dus niet branden.

RPi. GPIO-code

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.

  1. 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
  2. Dit opent een leeg bestand waarin u de code invoert. Vul de onderstaande regels in:

    #! /usr/bin/python
    # Importeer de bibliotheken die we nodig hebben
    RPi importeren. 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.uitgang (LED, True)
    # Wacht 5 seconden
    tijd.slaap (5)
    # Zet de GPIO-pin uit
    GPIO.output (LED, False)
  3. 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 Binnenkomen:

    python led.py
  4. De LED moet vijf seconden oplichten en vervolgens uitgaan en het programma beëindigen.