Hogyan lehet használni a Raspberry Pi -t a GPIO ellenőrzésére a Python -nal

A Raspberry Pi egy sokoldalú, egy táblázatú számítógép, amely a hobbisták, az oktatók és a szakemberek körében egyaránt kedvelt. Az egyik legerősebb tulajdonsága az a képesség, hogy kölcsönhatásba lépjen a fizikai világgal az általános célú bemeneti/kimeneti (GPIO) csapjain keresztül. A Python, a kezdőbarát és erőteljes programozási nyelv kihasználásával vezérelheti ezeket a GPIO-csapokat a projektek széles skálájának felépítése érdekében, az egyszerű LED-es villogásoktól a komplex otthoni automatizálási rendszerekig. Ebben a blogbejegyzésben végigvezetjük Önt a Raspberry Pi használatának alapjain, hogy a GPIO -t a Pythonnal irányítsák.

A GPIO -csapok megértése

A GPIO csapok sokoldalú interfészek a Raspberry PI -n, amelyek lehetővé teszik a külső eszközök, például LED -ek, érzékelők, motorok és még sok más csatlakoztatását és vezérlését. A Raspberry Pi modelljétől függően különféle számú GPIO -csapot talál egy adott mintázatban. Ezek a csapok beállíthatók bemenetekként vagy kimenetekként:

  • Bemenet: Olvassa el a külső eszközök jeleit (például gombok, érzékelők).
  • Kimenet: Küldjön jeleket a külső eszközökre (például LED -ek, relék).

Mielőtt belemerülne a programozási szempontba, elengedhetetlen megérteni a Raspberry Pi PIN -elrendezését. A modellre vonatkozó pontos információkért lásd a hivatalos Raspberry PI GPIO pinout diagramot.

A málna pi beállítása

A GPIO -csapok Python segítségével történő ellenőrzéséhez ellenőrizze, hogy a Raspberry Pi helyesen van -e beállítva:

  1. Telepítse a legújabb Raspberry Pi OS -t: Győződjön meg arról, hogy a Raspberry Pi futtatja -e a Raspberry Pi OS legújabb verzióját. Letöltheti a hivatalos Raspberry Pi webhelyről, és olyan eszközöket használhat, mint a Raspberry Pi Imager, hogy villogjon az SD -kártyára.
  2. Frissítse a rendszert: Nyissa meg a terminált, és futtassa a következő parancsokat a rendszercsomagok frissítéséhez:
sudo apt update
sudo apt upgrade -y
  • Telepítse a Python GPIO könyvtárat: Az RPI.GPIO könyvtár népszerű választás a Python GPIO -csapokkal való interakcióhoz. Telepítse a PIP használatával:
  • sudo apt install python3-rpi.gpio
    

    Az első GPIO Python szkript írása

    Kezdjük egy egyszerű projekttel: egy LED villogása. Szüksége lesz a következő összetevőkre:

    • Málna PI
    • Vezetett
    • 220-OHM ellenállás
    • Kenyérlemez és jumper vezetékek

    A LED bekötése:

    1. Csatlakoztassa a LED hosszú lábát (anódját) a GPIO 17 -eshez az ellenálláson keresztül.
    2. Csatlakoztassa a LED rövid lábát (katódját) egy föld (GND) csaphoz a Raspberry Pi -en.

    Írjuk be a Python szkriptet a LED irányításához.

    Pislogni egy LED -et Pythonnal

    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
    

    Magyarázat:

    • import RPi.GPIO as GPIO: Importálja az rpi.gpio könyvtárat.
    • import time: Importálja az alvásfunkciók időmodulját.
    • GPIO.setmode(GPIO.BCM): A GPIO PIN számozási sémáját a BCM -re (Broadcom SOC csatorna) állítja be.
    • GPIO.setup(LED_PIN, GPIO.OUT): Konfigurálja a GPIO 17 -et kimeneti tűként.
    • A try A blokk tartalmaz egy végtelen hurkot, amely másodpercenként be- és kikapcsolja a LED -et.
    • GPIO.cleanup(): Tisztítsa meg a GPIO beállításait a tiszta kijárat biztosítása érdekében.

    A szkript futtatása

    Mentse el a szkriptet blink_led.py és futtassa azt a következő parancs segítségével:

    python3 blink_led.py
    

    Látnia kell, hogy a GPIO 17 -hez csatlakoztatott LED minden másodpercenként be- és kikapcsol. A szkript leállításához nyomja meg a gombot Ctrl + C.

    A projekt kibővítése

    Miután elsajátította a LED villogását, a különféle érzékelők és működtetők kombinálásával feltárhatja a bonyolultabb projekteket. Íme néhány ötlet az induláshoz:

    • Gomb interakció: A LED irányítását egy fizikai gomb segítségével. Ez magában foglalja a GPIO PIN beállítását bemenetként és annak állapotának elolvasását a Python szkriptben.
    • Érzékelő adatnaplózás: Használjon olyan érzékelőket, mint a hőmérséklet vagy a mozgásérzékelők, az adatok gyűjtéséhez és az elemzéshez naplózáshoz.
    • Otthoni automatizálás: A készülékeket távolról vezérli a GPIO vezérlés integrálásával a webes interfészekbe vagy a mobilalkalmazásokkal.

    Egy gomb vezérlése

    Hosszabbítsuk ki korábbi példánkat egy gomb hozzáadásával a LED vezérléséhez. Szüksége lesz:

    • Nyomógomb
    • 10K-ohm ellenállás
    • További jumper vezetékek

    A gomb huzalozása:

    1. Csatlakoztassa a gomb egyik lábát a GPIO PIN -hez.
    2. Csatlakoztassa a másik lábat a talajhoz (GND) csap egy 10k-ohm ellenálláson keresztül.

    Itt van a Python szkript a LED vezérléséhez a gombbal:

    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()
    

    Magyarázat:

    • A 27. GPIO PIN beállítása olyan bemenetként van beállítva, amelynek lefelé mutató ellenállása van, hogy biztosítsa a stabil állapotot, amikor a gombot nem nyomják meg.
    • A szkript folyamatosan leolvassa a gomb állapotát, és bekapcsolja a LED -et, amikor a gombot megnyomja.

    A legjobb gyakorlatok és biztonsági tippek

    A GPIO -csapokkal való együttműködés során elengedhetetlen a bevált gyakorlatok betartása, hogy elkerüljék a málna Pi vagy a csatlakoztatott alkatrészek károsodását:

    • Kapcsolja ki a hardver csatlakoztatásakor: A rövidzárlatok megakadályozása érdekében mindig kapcsolja ki a Raspberry Pi -t, mielőtt csatlakoztatja vagy leválasztja a hardvert.
    • Használjon áramkorlátozó ellenállásokat: Védje az alkatrészeket megfelelő ellenállások felhasználásával, különösen a LED -ekkel való munka esetén.
    • Duplán ellenőrizze a vezetékeket: Győződjön meg arról, hogy az összes csatlakozás helyes -e a GPIO -csapok véletlen károsodásának megakadályozására.
    • Kezelje óvatosan: Kerülje a statikus kisülést a málna PI és az alkatrészek gondos kezelésével.

    Következtetés

    A GPIO -csapok Pythonnal történő vezérlése egy Raspberry Pi -n megnyitja az interaktív és automatizált projektek létrehozásának lehetőségeinek világát. Az egyszerű feladatoktól, mint például a villogó LED -ekig, a több érzékelőt és működtetővel foglalkozó bonyolultabb rendszerekig, a GPIO -vezérlés elsajátítása alapvető készség minden málna PI rajongó számára. Az útmutatóban felvázolt lépésekkel és a bevált gyakorlatok betartásával jó úton halad az izgalmas és innovatív projektek felépítéséhez.

    Boldog bántalmazást!

    Hagyj egy megjegyzést

    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.