GPIO: všetko o pripojení Raspberry Pi 4 a 3

Raspberry Pi 4 GPIO

undefined Piny GPIO na doske Raspberry Pi 4, 3, a tiež jeho predchodcovia, poskytujú doske SBC podobné možnosti, aké môže mať Arduino, pretože s nimi môžete vytvárať veľmi zaujímavé elektronické projekty riadené z operačného systému pomocou kódu v rôznych jazykoch, napríklad Python.

To robí dosku viac ako len lacný počítač. Umožní vám pripojiť veľké množstvo zariadení elektronické prvky ktoré môžete použiť s Arduinom, ale ktoré je možné ovládať aj z Pi. V tejto príručke sa pokúsim poskytnúť vám čo najviac informácií o týchto pinoch GPIO, aby ste ich mohli začať využívať ...

Čo je to GPIO?

GPIO

GPIO je skratka pre vstup / výstup na všeobecné účely, to znamená vstup / výstup na všeobecné účely. Môžu ho mať rôzne elektronické výrobky, napríklad samotné čipy alebo určité dosky s plošnými spojmi, ako je tento Raspberry Pi. Ako naznačuje ich názov, jedná sa o piny, ktoré je možné nakonfigurovať tak, aby vykonávali rôzne funkcie, sú teda univerzálne a nie na konkrétne použitie.

Bude to používateľ za behu, ktorý môže nakonfigurujte tieto piny GPIO aby si robili čo chce. Dá sa to urobiť rôznymi spôsobmi, napríklad pomocou určitých kódov alebo skriptov z konzoly alebo pomocou programu Python, ktorý je jedným z najjednoduchších a najpreferovanejších spôsobov z dôvodu množstva možností, ktoré máte k dispozícii.

Týmto spôsobom má Raspberry Pi nielen sériu portov a rozhrania na pripojenie viacerých štandardných zariadení, ale pridajte tieto piny GPIO, aby ste mohli pridať ďalšie elektronické zariadenia alebo projekty výrobcov, ktoré ste vytvorili sami. Rovnakým spôsobom ako pri Arduine a jeho I / O pinoch na ovládanie.

Y nie je výhradne pre Arduino alebo Raspberry Pirovnako ako ďalšie podobné dosky SBC a vložené produkty.

Funkcie GPIO

A medzi jej CHARAKTERISTIKA najvýznamnejšie:

  • môžu byť nakonfigurovaný tak ako vstup ako výstup. Majú tú dualitu, ako sa to stáva tým Arduino.
  • Piny GPIO tiež je možné aktivovať a deaktivovať podľa kódu. To znamená, že môžu byť nastavené na 1 (úroveň vysokého napätia) alebo 0 (úroveň nízkeho napätia).
  • Samozrejme, že môžu čítať binárne údaje, ako jednotky a nuly, to znamená napäťový signál alebo jeho absencia.
  • Výstupné hodnoty Čítanie a písanie.
  • Vstupné hodnoty je možné v niektorých prípadoch nakonfigurovať ako Udalosti aby generovali nejaký druh akcie na doske alebo systéme. Niektoré vstavané systémy ich používajú ako IRQ. Ďalším prípadom je konfigurácia toho, že keď je jeden alebo viac pinov aktívnych určitými senzormi, vykonajte nejakú akciu ...
  • Čo sa týka napätia a intenzity, musíte dobre poznať maximálne kapacity prijateľné pre dosku, v tomto prípade Raspberry Pi 4 alebo 3. Nemali by ste ich míňať, aby ste ich nepoškodili.

Mimochodom, keď je zoskupená skupina pinov GPIO, ako je to v prípade Raspberry Pi, je táto skupina známa ako Port GPIO.

GPIO piny Raspberry Pi

Raspberry Pi GPIO

Schéma platná pre verziu 4, 3, nula

Nový Dosky Raspberry Pi 4 a verzia 3 Sú vybavené veľkým počtom pinov GPIO. Nie všetky verzie ponúkajú rovnaké množstvo ani nie sú očíslované rovnako, takže s týmto musíte byť opatrní, aby ste dobre vedeli, ako by ste mali vytvoriť pripojenie podľa modelu a verzie, ktorú máte.

Čo je však všeobecnejšie, sú typy GPIO, ktoré nájdete v prístave dosiek Raspberry Pi. A to bude prvá vec, ktorú by som chcel objasniť, pretože tak to budete vedieť typy špendlíkov na svoje projekty sa môžete spoľahnúť:

  • Alimentación: tieto kolíky sa používajú na pripojenie elektrického vedenia alebo elektrického vedenia pre vaše elektronické projekty. Zodpovedajú pinom, ktoré sú podobné pinom na doske Arduino a ktoré poskytujú napätie 5 V a 3 V3 (3.3 V obmedzené na zaťaženie 50 mA). Okrem toho nájdete aj zemné (GND alebo zem). Ak nepoužívate externé zdroje napájania, ako sú batérie alebo adaptéry, môžu tieto kolíky veľmi pomôcť pri napájaní vášho obvodu.
  • DNC (nepripojiť): sú to piny, ktoré sú v niektorých verziách a ktoré nemajú žiadnu funkciu, ale v nových doskách dostali iný účel. Tieto nájdete iba v primitívnejších modeloch modelu Pi. V nových 3 a 4 budú všeobecne označené ako GND, aby sa mohli integrovať do predchádzajúcej skupiny.
  • Konfigurovateľné piny: Sú to bežné GPIO a dajú sa naprogramovať pomocou kódov, ako vysvetlím neskôr, aby ste mohli robiť to, čo potrebujete.
  • Špeciálne špendlíky: jedná sa o niektoré pripojenia, ktoré sú určené pre špeciálne pripojenia alebo rozhrania, ako sú sériové pripojenia UART, TXD a RXD atď., ako je to v prípade Arduina. Nájdete dokonca aj také ako SDA, SCL, MOSI, MISO, SCLK, CE0, CE1 atď. Vynikajú medzi nimi:
    • PWM, ktorý dokáže regulovať šírku impulzu ako sme videli v predchádzajúcom článku. Na Raspberry Pi 3 a 4 sú to GPIO12, GPIO13, GPIO18 a GPIO19.
    • SPI je ďalšie komunikačné rozhranie, ktorému som sa tiež venoval v inom článku. V prípade nových 40-kolíkových dosiek sú to kolíky (s rôznymi komunikačnými kanálmi, ako vidíte):
      • 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 je ďalšie spojenie, ktoré som tiež vysvetlil v tomto blogu. Táto zbernica sa skladá z dátového signálu (GPIO2) a hodín (GPIO3). Okrem EEPROM Data (GPIO0) a EEPROM Clock (GPIO1).
    • Sériová, ďalšia veľmi praktická komunikácia s pinmi TX (GPIO14) a RX (GPIO15), aké nájdete na doske Arduino UNO.

Pamätajte, že GPIO sú rozhraním medzi Raspberry Pi a vonkajším svetom, ale majú jeho obmedzenia, hlavne elektrické. Musíte si uvedomiť, že tieto GPIO piny sú zvyčajne bez vyrovnávacej pamäte, to znamená bez medzipamäte, aby ste nepokazili dosku. To znamená, že nemajú ochranu, takže musíte sledovať veľkosť použitého napätia a intenzity, aby ste nakoniec nedostali zbytočnú dosku ...

GPIO rozdiely medzi verziami

Staré piny GPIO Raspberry Pi

Ako som povedal, nie všetky modely sú rovnaké pinyTu je niekoľko diagramov, aby ste videli rozdiely medzi modelmi, a tak sa mohli sústrediť na Raspberry Pi 4 a 3, ktoré sú najnovšie a ktoré pravdepodobne vlastníte. Líši sa medzi (všetky skupiny zdieľajú rovnaké kolíky):

  • Raspberry Pi 1 Model B Rev 1.0, s 26-pólovým konektorom, ktorý sa mierne líši od Rev2.
  • Raspberry Pi 1 Model A a B Rev 2.0, oba modely s 26 vývodmi.
  • Rapsberry Pi Model A +, B +, 2B, 3B, 3B +, Zero a Zero W a tiež 4 modely. Všetky so 40-pólovou GPIO hlavičkou.

Čo môžem zapojiť do GPIO?

Klobúk Raspberry Pi

Budete nielen schopní pripájať elektronické zariadenia ako tranzistory, snímače vlhkosti / teploty, termistory, krokové motory, LED, atď. Môžete tiež pripojiť komponenty alebo moduly vytvorené špeciálne pre Raspberry Pi, ktoré rozširujú možnosti dosky nad rámec toho, čo je obsiahnuté v základni.

Mám na mysli slávne čiapky alebo čiapky a taniere, ktoré nájdete na trhu. Existuje veľa druhov, od tých, ktoré sa používajú na riadenie motorov s ovládačmi, až po iné na vytváranie výpočtový klaster, S LED panel ovládateľný, pridať Možnosť DVB TV, LCD obrazovka, Atď

Tieto čiapky alebo čiapky Sú namontované na doske Raspberry Pi, zodpovedajúce GPIO potrebným na to, aby fungoval. Preto je jeho montáž celkom jednoduchá a rýchla. Samozrejme, uistite sa, že je doštičková verzia kompatibilná s každým klobúkom, pretože port GPIO je iný, ako ste videli ...

Hovorím to v prípade, že máte starší tanier, pretože klobúky sú kompatibilný iba s najnovšími. Rovnako ako modely Raspberry Pi Model A +, B +, 2, 3 a 4.

Úvod do používania GPIO na Raspberry Pi

Výstup príkazu Pinout

Zdroj: Raspberry Pi

Ak chcete začať, na Raspbian môžete otvoriť konzolu a zadať text príkaz pinovTo, čo sa vám vráti, je obraz v termináli s pinmi GPIO dostupnými na vašej doske a na to, na čo každý z nich slúži. Niečo veľmi praktické, aby ste to mali vždy v práci k dispozícii, aby ste sa nestali zmätení.

Prvý projekt: bliknite LED pomocou GPIO

GPIO s LED na Raspberry Pi

Najzákladnejší spôsob výroby Ahoj svet s GPIO je použiť jednoduchú LED pripojenú k pinom Raspberry Pi, aby ste videli, ako fungujú. V tomto prípade som to pripojil na GND a druhý na pin 17, aj keď si môžete zvoliť iný z normálnych pinov ...

Po pripojení môžete ovládať ich z Raspbian s využitím terminálu. V systéme Linux sa používajú konkrétne súbory, napríklad súbory v adresári / sys / class / gpio /. Napríklad na vytvorenie súboru s potrebnou štruktúrou, aby ste mohli začať pracovať:

echo 17 > /sys/class/gpio/export

Potom môžete konfigurovať ako vstup (vstup) alebo ako výstup (výstup) ten pin 17 vybraný pre náš príklad. Môžete to urobiť veľmi ľahko pomocou:

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

V tomto prípade ako výstup, pretože chceme poslať elektrický impulz do LED diódy, aby sme ju rozsvietili, ale ak by išlo o snímač atď., Mohli by ste použiť v. Teraz pre zapnúť (1) alebo vypnúť (0) LED, ktorú môžete použiť:

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

Ak chcete prejsť na iný projekt a vymazať záznam vytvorené, môžete to urobiť takto:

echo 17 > /sys/class/gpio/unexport

Mimochodom, môžete tiež zhromaždiť všetky potrebné príkazy pre váš projekt, rovnako ako všetky predchádzajúce, uložiť ich do typu súboru bash skript a potom ich spustiť v balíku naraz. Namiesto toho, aby ste ich písali po jednom. To je užitočné, keď opakujete to isté cvičenie viackrát, takže nemusíte prepisovať. Len bež a choď. Napríklad:

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

Akonáhle to dokončíte, uložíte ich a potom im môžete dať príslušné povolenie na vykonávanie a vykonávanie scenár aby sa LED rozsvietila, počkajte 1.3 sekundy a vypnite takto v slučke ...

chmod +x led.sh
./led.sh

Programovanie vopred

zdrojový kód programovacieho jazyka

Vyššie uvedené samozrejme funguje pre malé elektronické projekty s niekoľkými komponentmi, ale ak chcete vytvoriť niečo pokročilejšie, namiesto príkazov môžete použiť programovacích jazykov vytvoriť rôzne skripty alebo zdrojové kódy, ktoré automatizujú operáciu.

Môžu byť použité rôzne nástroje programovať s veľmi rôznymi jazykmi. Knižnice, ktoré komunita vyvinula, vám veci oveľa uľahčujú, napríklad WiringPi, sysfs, pigpio atď. Programy môžu byť veľmi rozmanité, od Pythonu, ktorý je z mnohých preferovanou voľbou, cez Ruby, Java, Perl, BASIC až po C #.

Oficiálne vám to ponúka Raspberry Pi veľa zariadení programovať svoje GPIO, ako napríklad:

  • Poškriabaniu, pre tých, ktorí nevedia programovať a chcú využiť logické bloky tohto projektu, pomocou ktorých je možné programovať aj Arduino atď. Programovanie pomocou grafických blokov je pre oblasť vzdelávania dosť intuitívne a veľmi praktické.
  • Pytón: Tento jednoducho interpretovaný programovací jazyk vám umožňuje vytvárať jednoduché a výkonné kódy s množstvom knižníc, ktoré máte k dispozícii, aby ste mohli robiť takmer všetko, čo si predstavujete.
  • C / C ++ / C #: sú výkonnejšie programovacie jazyky na vytváranie binárnych súborov, pomocou ktorých môžu interagovať s GPIO. Môžete to urobiť niekoľkými spôsobmi, pomocou štandardného formulára alebo rozhrania jadra prostredníctvom knižnicelibgpiod, ale aj prostredníctvom knižnice tretej strany ako napr pygium.
  • Spracovanie3, podobne ako Arduino.

Vyberte si flexibilne ten, ktorý sa vám páči najviac alebo si myslíte, že je jednoduchý.


4 komentáre, nechajte svoj

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   nepriateľ dijo

    Veľmi pekný článok o štarte v Rasperry

    1.    Isaac dijo

      Děkuju mnohokrát.

      1.    Ruth Medinová dijo

        ty si autor?

        1.    Isaac dijo

          Áno