GPIO

A Raspberry Pi hatékony jellemzője a GPIO (általános célú be- és kimeneti) csapok sora a kártya felső szélén. A 40 tűs GPIO fejléc minden jelenlegi Raspberry Pi lapon megtalálható (a Pi Zero és Pi Zero W lapokon nincs kitöltve). A Pi 1 Model B+ (2014) előtt a lapok rövidebb, 26 tűs fejlécből álltak.

A GPIO-tűk bármelyike kijelölhető (szoftveresen) bemeneti vagy kimeneti pin-ként, és sokféle célra használható.

Figyelem: a GPIO-tüskék számozása nem numerikus sorrendben történik; a GPIO 0. és 1. tűje jelen van a lapon (fizikai 27. és 28. tű), de speciális használatra van fenntartva (lásd alább).

Feszültségek

Két 5V-os és két 3V3-as tű van a lapon, valamint néhány földelő (0V), amelyek nem konfigurálhatók. A fennmaradó csapok mind általános célú 3V3-as csapok, ami azt jelenti, hogy a kimenetek 3V3-ra vannak beállítva, a bemenetek pedig 3V3-toleránsak.

Kimenetek

A kimeneti csapként kijelölt GPIO csap magas (3V3) vagy alacsony (0V) értékre állítható.

Bemenetek

A bemeneti csapként kijelölt GPIO csap magas (3V3) vagy alacsony (0V) értékre olvasható. Ezt megkönnyíti a belső pull-up vagy pull-down ellenállások használata. A GPIO2 és GPIO3 pinek fix pull-up ellenállással rendelkeznek, de a többi pin esetében ez szoftveresen konfigurálható.

Még

A GPIO pinek az egyszerű be- és kimeneti eszközök mellett számos alternatív funkcióval is használhatók, egyesek az összes pinre, mások bizonyos pinekre.

  • PWM (impulzusszélesség-moduláció)
    • Szoftveres PWM elérhető minden pinen
    • Hardveres PWM elérhető a GPIO12, GPIO13, GPIO18, GPIO19-n
  • SPI
    • SPI0: MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)
    • SPI1: MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
  • I2C
    • Adatok: (GPIO2); Clock (GPIO3)
    • EEPROM Data: (GPIO0); EEPROM óra (GPIO1)
  • Serial
    • TX (GPIO14); RX (GPIO15)

GPIO pinout

Nem mindegy, hogy melyik pin melyik. Vannak, akik pincímkéket használnak (mint a RasPiO Portsplus PCB, vagy a nyomtatható Raspberry Leaf).

A praktikus referenciát elérhetjük a Raspberry Pi-n, ha megnyitunk egy terminál ablakot és futtatjuk a pinout parancsot. Ezt az eszközt a GPIO Zero Python könyvtár biztosítja, amely alapértelmezés szerint telepítve van a Raspberry Pi OS asztali képen, de a Raspberry Pi OS Lite-on nem.

A GPIO-tüskék fejlett képességeiről bővebben lásd a gadgetoid interaktív pinout diagramját.

Programozás GPIO-val

A GPIO-tüskék vezérlése számos programozási nyelv és eszköz segítségével lehetséges. A kezdéshez lásd a következő útmutatókat:

  • GPIO with Scratch 1.4
  • GPIO with Scratch 2
  • GPIO with Python
  • GPIO with C/C++ a standard kernel interfész használatával a libgpiod-on keresztül
  • GPIO with C/C++ a 3rd party könyvtár pigpio használatával
  • GPIO with Processing3

Figyelmeztetés: Bár az egyszerű alkatrészek csatlakoztatása a GPIO pinekhez teljesen biztonságos, fontos, hogy óvatos legyél a bekötéssel. A LED-eknek ellenállással kell rendelkezniük, hogy korlátozzák a rajtuk áthaladó áramot. Ne használjon 5V-ot a 3V3 komponensekhez. Ne csatlakoztasson motorokat közvetlenül a GPIO csapokra, helyette használjon H-híd áramkört vagy motorvezérlő lapot.

Meghatalmazások

A GPIO portok használatához a felhasználónak a gpio csoport tagjának kell lennie. A pi felhasználó alapértelmezés szerint tag, más felhasználókat manuálisan kell hozzáadni.

sudo usermod -a -G gpio <username>

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.