Hoe Raspberry Pi te gebruiken om GPIO met Python te besturen

De Raspberry Pi is een veelzijdige computer met één bord die een favoriet is geworden onder hobbyisten, opvoeders en professionals. Een van de krachtigste kenmerken is de mogelijkheid om met de fysieke wereld te communiceren via zijn algemene input/output (GPIO) -pennen. Door gebruik te maken van Python, een beginnersvriendelijke en krachtige programmeertaal, kunt u deze GPIO-pinnen bedienen om een ​​breed scala aan projecten te bouwen, van eenvoudige LED-knipperingen tot complexe thuisautomatiseringssystemen. In deze blogpost zullen we u door de basis van het gebruik van Raspberry Pi leiden om GPIO met Python te besturen.

GPIO -pinnen begrijpen

GPIO -pinnen zijn veelzijdige interfaces op de Raspberry Pi waarmee u externe apparaten zoals LED's, sensoren, motoren en meer kunt verbinden en besturen. Afhankelijk van het model van Raspberry Pi, vindt u een variërend aantal GPIO -pins gerangschikt in een specifiek patroon. Deze pinnen kunnen worden geconfigureerd als ingangen of uitgangen:

  • Invoer: Lees signalen van externe apparaten (bijv. Knoppen, sensoren).
  • Uitvoer: Stuur signalen naar externe apparaten (bijv. LED's, relais).

Voordat je in het programmeeraspect duikt, is het essentieel om de pin -indeling van je Raspberry Pi te begrijpen. Raadpleeg het officiële Raspberry Pi GPIO Pinout -diagram voor nauwkeurige informatie die specifiek is voor uw model.

Uw Raspberry Pi opzetten

Zorg ervoor dat uw Raspberry Pi correct is ingesteld om GPIO -pinnen met Python te besturen:

  1. Installeer het nieuwste Raspberry Pi OS: Zorg ervoor dat uw Raspberry Pi de nieuwste versie van Raspberry Pi Os uitvoert. U kunt het downloaden van de officiële Raspberry PI -website en tools zoals Raspberry Pi Imager gebruiken om het op uw SD -kaart te laten flitsen.
  2. Update uw systeem: Open de terminal en voer de volgende opdrachten uit om uw systeempakketten bij te werken:
sudo apt update
sudo apt upgrade -y
  • Installeer Python GPIO -bibliotheek: De RPI.GPIO -bibliotheek is een populaire keuze voor interactie met GPIO -pinnen in Python. Installeer het met Pip:
  • sudo apt install python3-rpi.gpio
    

    Je eerste GPIO Python -script schrijven

    Laten we beginnen met een eenvoudig project: knipperen een LED. Je hebt de volgende componenten nodig:

    • Raspberry Pi
    • Geleid
    • 220-ohm weerstand
    • Breadboard en jumper draden

    De LED bedraden:

    1. Sluit het lange been (anode) van de LED aan met GPIO -pin 17 door de weerstand.
    2. Sluit de korte been (kathode) van de LED aan op een grond (GND) pin op de frambozen Pi.

    Laten we nu het Python -script schrijven om de LED te besturen.

    Knipperend een LED met Python

    import RPi.GPIO as GPIO
    import time
    
    # Use BCM GPIO numbering
    GPIO.setmode(GPIO.BCM)
    
    # Set GPIO pin 17 as output
    LED_PIN = 17
    GPIO.setup(LED_PIN, GPIO.OUT)
    
    try:
        while True:
            GPIO.output(LED_PIN, GPIO.HIGH)  # Turn LED on
            time.sleep(1)                     # Wait for 1 second
            GPIO.output(LED_PIN, GPIO.LOW)   # Turn LED off
            time.sleep(1)                     # Wait for 1 second
    except KeyboardInterrupt:
        pass
    finally:
        GPIO.cleanup()  # Reset GPIO settings
    

    Uitleg:

    • import RPi.GPIO as GPIO: Importeert de RPI.GPIO -bibliotheek.
    • import time: Importeert de tijdmodule voor slaapfunctionaliteit.
    • GPIO.setmode(GPIO.BCM): Stelt het GPIO PIN -nummeringsschema in op BCM (Broadcom SOC -kanaal).
    • GPIO.setup(LED_PIN, GPIO.OUT): Configureert GPIO Pin 17 als een uitvoerpen.
    • De try Block bevat een oneindige lus die de LED elke seconde in- en uitschakelt.
    • GPIO.cleanup(): Ruimt de GPIO -instellingen op om een ​​schone uitgang te garanderen.

    Uw script uitvoeren

    Sla uw script op als blink_led.py en voer het uit met de volgende opdracht:

    python3 blink_led.py
    

    Je zou de LED moeten zien verbonden met GPIO Pin 17 elke seconde aan en uit knipperen. Druk op om het script te stoppen Ctrl + C.

    Uw project uitbreiden

    Als je eenmaal knippert met een LED, kun je meer complexe projecten verkennen door verschillende sensoren en actuatoren te combineren. Hier zijn een paar ideeën om u op weg te helpen:

    • Knopinteractie: Controleer de LED met een fysieke knop. Dit omvat het opzetten van een GPIO -pin als invoer en het lezen van de status in je Python -script.
    • Sensorgegevensregistratie: Gebruik sensoren zoals temperatuur- of bewegingsdetectoren om gegevens te verzamelen en te loggen voor analyse.
    • Home Automatisering: Controle apparaten op afstand door GPIO -besturingselement te integreren met webinterfaces of mobiele apps.

    Een knop besturen

    Laten we ons vorige voorbeeld uitbreiden door een knop toe te voegen om de LED te bedienen. Je hebt nodig:

    • Drukknop
    • 10k-ohm weerstand
    • Extra jumper draden

    De knop bedraden:

    1. Sluit een deel van de knop aan op GPIO Pin 27.
    2. Sluit het andere been aan op een grond (GND) pin door een 10K-OHM-weerstand.

    Hier is het Python -script om de LED met de knop te bedienen:

    import RPi.GPIO as GPIO
    import time
    
    # Use BCM GPIO numbering
    GPIO.setmode(GPIO.BCM)
    
    # Define GPIO pins
    LED_PIN = 17
    BUTTON_PIN = 27
    
    # Set up GPIO pins
    GPIO.setup(LED_PIN, GPIO.OUT)
    GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
    
    try:
        while True:
            button_state = GPIO.input(BUTTON_PIN)
            if button_state == GPIO.HIGH:
                GPIO.output(LED_PIN, GPIO.HIGH)  # Turn LED on
            else:
                GPIO.output(LED_PIN, GPIO.LOW)   # Turn LED off
            time.sleep(0.1)
    except KeyboardInterrupt:
        pass
    finally:
        GPIO.cleanup()
    

    Uitleg:

    • GPIO Pin 27 is ingesteld als een ingang met een pull-down weerstand om een ​​stabiele toestand te garanderen wanneer de knop niet wordt ingedrukt.
    • Het script leest continu de status van de knop en zet de LED aan wanneer de knop wordt ingedrukt.

    Best practices en veiligheidstips

    Bij het werken met GPIO -pinnen is het cruciaal om zich te houden aan best practices om te voorkomen dat uw Raspberry Pi of verbonden componenten worden beschadigd:

    • Uitschakelen bij het aansluiten van hardware: Schakel altijd uw Raspberry Pi uit voordat u hardware verbindt of loskoppelt om kort circuits te voorkomen.
    • Gebruik weerstemmende weerstanden: Bescherm uw componenten door de juiste weerstanden te gebruiken, vooral bij het werken met LED's.
    • Double-controle bedrading: Zorg ervoor dat alle verbindingen correct zijn om toevallige schade aan GPIO -pinnen te voorkomen.
    • Hanteren met zorg: Vermijd statische ontlading door de Raspberry Pi en componenten zorgvuldig af te handelen.

    Conclusie

    Het besturen van GPIO -pinnen met Python op een Raspberry Pi opent een wereld van mogelijkheden voor het creëren van interactieve en geautomatiseerde projecten. Van eenvoudige taken zoals knipperende LED's tot complexere systemen met meerdere sensoren en actuatoren, het beheersen van GPIO -besturing is een fundamentele vaardigheid voor elke Raspberry PI -enthousiasteling. Door de stappen in deze gids te volgen en zich aan best practices te houden, bent u goed op weg naar het bouwen van spannende en innovatieve projecten.

    Blij knutselen!

    Laat een reactie achter

    Notice an Issue? Have a Suggestion?
    If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.