GPIO: minden a Raspberry Pi 4 és 3 kapcsolatokról szól

Raspberry Pi 4 GPIO

sok A Raspberry Pi 4 tábla GPIO csapjai, a 3, valamint elődei az SBC alaplaphoz hasonló képességeket biztosítanak, mint az Arduino, mivel velük nagyon érdekes elektronikus projekteket hozhat létre az operációs rendszerből vezérelve különböző nyelvű kódok, például a Python segítségével.

Ezáltal a tábla nem csupán olcsó számítógép. Ez lehetővé teszi, hogy sokféle elektronikus elemek amelyet használhat Arduino-val, de ez a Pi-ről is vezérelhető. Ebben az útmutatóban megpróbálok minél több információt megadni neked ezekről a GPIO csapokról, hogy elkezdhesd kihasználni őket ...

Mi a GPIO?

GPIO

GPIO az Általános célú bemenet / kimenet, azaz Általános célú bevitel / kimenet rövidítése. Különböző elektronikus termékek rendelkezhetnek vele, például maguk a chipek vagy bizonyos NYÁK-kártyák, például ez a Raspberry Pi. Ahogy a neve is mutatja, ezek olyan csapok, amelyek konfigurálhatók különböző funkciók végrehajtására, ezért általános célúak, és nem meghatározott célra.

Futás közben a felhasználó lesz képes konfigurálja ezeket a GPIO csapokat hogy azt tegyenek, amit akar. Különböző módon lehet megtenni, például bizonyos kódokkal vagy parancsfájlokkal a konzolról, vagy a Python programmal, amely az Ön rendelkezésére álló lehetőségek mennyisége miatt az egyik legegyszerűbb és legelőnyösebb módszer.

Ily módon a Raspberry Pi nem csak egy sor portot és interfészek több szabványos eszköz csatlakoztatásához, de adja hozzá ezeket a GPIO csapokat, hogy hozzáadhasson más elektronikus eszközöket vagy készítő projekteket, amelyeket maga készített. Ugyanúgy, mint az Arduino-val és annak I / O csapjaival a vezérléshez.

Y nem kizárólag az Arduino vagy a Raspberry Pi, így más hasonló SBC táblák és beágyazott termékek is.

GPIO funkciók

És között JELLEMZŐI legkiemelkedőbb:

  • Lehet konfigurálni kell így bemenetként kimenetként. Ez a kettősség megvan bennük, amint az a kettővel történik Arduino.
  • A GPIO is rögzíti be- és kikapcsolható kód szerint. Vagyis beállíthatjuk 1-re (magas feszültségszint) vagy 0-ra (alacsony feszültségszint).
  • Természetesen tudják bináris adatok olvasása, mint az egerek és nullák, vagyis a feszültségjel vagy annak hiánya.
  • Kimeneti értékei Olvasás és írás.
  • A bemeneti értékek bizonyos esetekben konfigurálhatók Események hogy valamilyen típusú műveletet generáljanak a táblán vagy a rendszeren. Egyes beágyazott rendszerek IRQ-ként használják őket. Egy másik eset az a konfigurálás, hogy amikor egy vagy több érintkezõ aktív bizonyos érzékelõknél, hajtson végre valamilyen mûveletet ...
  • A feszültség és az intenzitás tekintetében ismernie kell a kártya maximális kapacitását, ebben az esetben a Raspberry Pi 4 vagy 3-at. Ne engedje át őket, hogy ne sérüljön meg.

By the way, ha a GPIO csapok csoportja csoportosul, mint a Raspberry Pi esetében, a csoport GPIO port.

A Raspberry Pi GPIO csapjai

Raspberry Pi GPIO

A rendszer a 4., 3., Zero verzióra érvényes

Az új Raspberry Pi 4 táblák és 3. verzió Számos GPIO tűvel vannak felszerelve. Nem minden verzió kínálja ugyanazt az összeget, és nem is ugyanúgy vannak megszámozva, ezért óvatosnak kell lenned ezzel, hogy tudd, hogyan hozhatod létre a kapcsolatot a rendelkezésedre álló modellnek és átdolgozásnak megfelelően.

De ami általánosabb, azok a GPIO típusok, amelyeket a Raspberry Pi táblák portjában találhat. És ez lesz az első dolog, amit szeretnék világossá tenni, hiszen így fogja tudni a csapok típusai számíthat projektjeire:

  • Alimentación: ezek a csapok az elektromos projektek elektromos vezetékeinek vagy vezetékeinek csatlakoztatására szolgálnak. Ezek megfelelnek az Arduino táblán levőkhöz hasonló csapoknak, amelyek 5v és 3v3 feszültséget biztosítanak (3.3v 50mA terhelésre korlátozva). Ezen kívül megtalálja a földi is (GND vagy Ground). Ha nem használ külső áramforrásokat, például elemeket vagy adaptereket, ezek a csapok nagy segítséget nyújthatnak az áramkör táplálásához.
  • DNC (ne csatlakozzon): ezek olyan csapok, amelyek bizonyos verziókban vannak, és amelyeknek nincs funkciójuk, de az új táblákban más célt kaptak. Ezeket csak a Pi primitívebb modelljeiben találja meg. Az új 3-ban és 4-ben általában GND-ként jelölik meg, hogy integrálódhassanak az előző csoportba.
  • Konfigurálható csapok: Ők a normál GPIO-k, és kódokkal programozhatók, ahogy később elmagyarázom, hogy megtegyem, amire szüksége van.
  • Speciális csapok: ezek olyan kapcsolatok, amelyeket speciális kapcsolatokra vagy interfészekre szánnak, mint például az UART, TXD és RXD soros kapcsolatok stb., ahogy az Arduino esetében történik. Még olyanokat is talál, mint SDA, SCL, MOSI, MISO, SCLK, CE0, CE1 stb. Kiemelkednek közülük:
    • PWM, amely szabályozni tudja az impulzus szélességét, ahogyan azt egy korábbi cikkünkben láthattuk. A Raspberry Pi 3 és 4-en a GPIO12, GPIO13, GPIO18 és GPIO19.
    • Az SPI egy másik kommunikációs felület, amelyet egy másik cikkben is megvitattam. Az új 40 tűs táblák esetében ezek a csapok (különböző kommunikációs csatornákkal, amint látható):
      • 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 egy másik kapcsolat, amelyet ebben a blogban is elmagyaráztam. Ezt a buszt az adatjel (GPIO2) és az óra (GPIO3) alkotja. Az EEPROM Data (GPIO0) és az EEPROM Clock (GPIO1) mellett.
    • Soros, egy másik nagyon praktikus kommunikáció a TX (GPIO14) és RX (GPIO15) csapokkal, mint amilyeneket a táblán talál Arduino UNO.

Ne feledje, hogy a GPIO-k jelentik az interfészt a Raspberry Pi és a külvilág között, de vannak korlátai, különösen elektromos. Valami, amit figyelembe kell vennie, hogy ne rontsa el a táblát, emlékeztetni kell arra, hogy ezek a GPIO csapok általában nincsenek pufferolva, vagyis puffer nélkül. Ez azt jelenti, hogy nincs védelme, ezért figyelnie kell az alkalmazott feszültség és intenzitás nagyságát, hogy ne kerüljön haszontalan lemezre ...

GPIO különbségek a verziók között

Régi Raspberry Pi GPIO csapok

Mint mondtam, nem minden modell ugyanaz a csapÍme néhány ábra, így láthatja a modellek közötti különbségeket, és így összpontosíthat a Raspberry Pi 4 és 3 készülékekre, amelyek a legújabbak és valószínűleg a birtokában vannak. Különbözik (mindegyik csoportnak ugyanazok a csapjai vannak):

  • Raspberry Pi 1 Model B Rev 1.0, 26 tűs, kissé eltér a Rev2-től.
  • Raspberry Pi 1 Model A és B Rev 2.0, mindkét modell 26 tűs.
  • A Rapsberry Pi Model A +, B +, 2B, 3B, 3B +, Zero és Zero W, valamint 4 modell, mindegyik 40 tűs GPIO fejléccel.

Mit csatlakoztathatok a GPIO-khoz?

Málna Pi kalap

Nem csak képes lesz rá csatlakoztasson elektronikus eszközöket mint tranzisztorok, páratartalom / hőmérséklet érzékelők, termisztorok, léptetőmotorok, LED-ekstb. Csatlakoztathat olyan komponenseket vagy modulokat is, amelyeket kifejezetten a Raspberry Pi számára készítettek, és amelyek kiterjesztik a kártya képességeit, túlmutatva azon, amit az alap tartalmaz.

Utalok a híresre kalapok vagy kalapok és a piacon megtalálható tányérok. Számos típus létezik, kezdve a motorok vezérlésével történő vezérléssel, a többi létrehozásig egy számítástechnikai klaszter, A LED panel vezérelhető, hozzá DVB TV képesség, LCD képernyőStb

Ezek a kalapok vagy kalapok A Raspberry Pi táblára vannak szerelve, a működéséhez szükséges GPIO-k egyeztetése. Ezért az összeszerelése meglehetősen egyszerű és gyors. Természetesen győződjön meg arról, hogy az egyes kalapok kompatibilisek a lemezes verzióval, mivel a GPIO port más, mint ahogy látta ...

Ezt akkor mondom, ha van régebbi tányérod, mivel a kalapok vannak csak a legújabbakkal kompatibilis. Csakúgy, mint a Raspberry Pi A +, B +, 2, 3 és 4 modellek.

Bevezetés a GPIO használatába a Raspberry Pi-n

Pinout parancs kimenete

Forrás: Raspberry Pi

A kezdéshez nyissa meg a konzolt és írja be a Raspbian programot a parancsot kitűzAmit vissza fog adni Önnek, az egy kép a terminálon, a táblán elérhető GPIO csapokkal és mire szolgálnak mindegyik. Valami nagyon praktikus, hogy mindig jelen legyen a munkahelyén, nehogy összezavarodjon.

Első projekt: LED villogása a GPIO-kkal

GPIO LED-del a Raspberry Pi-n

A legelemibb módja annak, hogy egyfajta "Hello world" GPIO-kkal egy egyszerű LED-et használni a Raspberry Pi csapjaihoz csatlakoztatva, így láthatja, hogyan működnek. Ebben az esetben a GND-hez csatlakoztattam, a másikat pedig a 17-es csaphoz, bár választhat másik normál csapot is ...

Miután csatlakozott, megteheti irányítsd őket Raspbian elől a terminál használatával. A Linux rendszerben meghatározott fájlokat használnak, hasonlóan a / sys / class / gpio / könyvtárba. Például a munka megkezdéséhez szükséges struktúrájú fájl létrehozása:

echo 17 > /sys/class/gpio/export

Akkor lehet konfigurálás bemenetként (be) vagy kimenetként (kimenet) hogy a példánkra választott 17. tű. Nagyon könnyen megteheti:

echo out > /sys/class/gpio/gpio17/direction

Ebben az esetben kimenetként, mivel elektromos impulzust akarunk küldeni a LED-nek a bekapcsoláshoz, de ha érzékelő volt, stb., Használhatja. Most bekapcsol (1) vagy kikapcsol (0) a használható LED:

echo 1 > /sys/class/gpio/gpio17/value
echo 0 > /sys/class/gpio/gpio17/value

Ha át akar lépni egy másik projektre és bejegyzés törlése létrehozva, ezt megteheti:

echo 17 > /sys/class/gpio/unexport

Egyébként összegyűjtheti az összes szükséges parancsot a projektjéhez, mint az összes előzőt, mentse őket egy fájltípusba bash szkript majd egyszerre futtassa őket egy kötegben, ahelyett, hogy egyesével gépelné őket. Ez akkor hasznos, ha ugyanazt a gyakorlatot sokszor megismétli, így nem kell újraírnia. Csak fuss és menj. Például:

nano led.sh

#!/bin/bash
source gpio 
gpio mode 17 out
while true; do 
gpio write 17 1 
sleep 1.3 
gpio write 17 0 
sleep 1.3 done

Miután befejezte, elmenti, majd megadhatja a megfelelő végrehajtási és végrehajtási engedélyeket A script hogy a LED kigyulladjon, várjon 1.3 másodpercet, és így kapcsoljon ki egy hurokban ...

chmod +x led.sh
./led.sh

Programozás előre

programozási nyelv forráskódja

Nyilvánvaló, hogy a fenti kis alkatrészekkel rendelkező, kis elektronikus projektek esetén működik, de ha valami fejlettebbet akar létrehozni, akkor a parancsok helyett használhatja: programozási nyelvek különféle parancsfájlok vagy forráskódok készítése, amelyek automatizálják a műveletet.

Használhatók különböző eszközöket programozni, nagyon különböző nyelvekkel. A közösség által kifejlesztett könyvtárak sokkal könnyebbé teszik a dolgodat, például a WiringPi, a sysfs, a pigpio stb. A programok nagyon sokfélék lehetnek, a Pythontól kezdve, amely sokak által előnyben részesített lehetőség, a Ruby, a Java, a Perl, a BASIC és még a C # révén.

Hivatalosan a Raspberry Pi kínál Önnek sok létesítmény a GPIO-k programozásához, például:

  • karcolás, azok számára, akik nem tudják, hogyan kell programozni, és szeretnék használni ennek a projektnek a puzzle blokkjait, amelyekkel az Arduino is programozható stb. A grafikus blokkokkal történő programozás meglehetősen intuitív és nagyon praktikus az oktatás területén.
  • Piton: Ez az egyszerű értelmezett programozási nyelv lehetővé teszi, hogy egyszerű és hatékony kódokat hozzon létre, könyvtárak sokaságával a rendelkezésére, hogy szinte mindent megtehessen, amit elképzel.
  • C / C ++ / C #: hatékonyabb programozási nyelvek bináris fájlok létrehozására, amelyekkel kölcsönhatásba léphetnek a GPIO-kkal. Többféle módon is megteheti, a könyvtáron keresztül a standard űrlap vagy a kernel felület használatávallibgpiod, hanem egy harmadik fél könyvtárán keresztül is, például pygium.
  • Feldolgozás3, hasonló az Arduinóhoz.

Válasszon rugalmasan amelyik a legjobban tetszik, vagy egyszerűnek gondolod.


4 hozzászólás, hagyd a tiedet

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Ellenség dijo

    Nagyon jó cikk a Rasperry-nél való indulásról

    1.    Izsák dijo

      Köszönöm szépen.

      1.    Ruth Medina dijo

        te vagy a szerző?

        1.    Izsák dijo

          Igen