GPIO: kaikki Raspberry Pi 4 ja 3 -yhteyksistä

Vadelma Pi 4 GPIO

Los Raspberry Pi 4 -taulun 3 GPIO-nastat, ja myös sen edeltäjät, tarjoavat SBC-kortille samanlaisia ​​ominaisuuksia kuin Arduinolla voi olla, koska niiden avulla voit luoda erittäin mielenkiintoisia elektronisia projekteja, joita ohjataan käyttöjärjestelmästä koodilla eri kielillä, kuten Python.

Se tekee levystä muutakin kuin vain halvan tietokoneen. Sen avulla voit yhdistää useita elektroniset elementit jota voit käyttää Arduinon kanssa, mutta sitä voidaan ohjata myös Pi: llä. Tässä oppaassa yritän antaa sinulle mahdollisimman paljon tietoa näistä GPIO-nastoista, jotta voit alkaa hyödyntää niitä ...

Mikä on GPIO?

GPIO

GPIO on lyhenne sanoista Yleiskäyttöinen tulo / lähtö, ts. Yleiskäyttöinen tulo / lähtö. Eri elektroniikkatuotteilla voi olla se, kuten itse sirut tai tietyt piirilevyt, kuten tämä Raspberry Pi. Kuten nimestäkin käy ilmi, ne ovat nastoja, jotka voidaan konfiguroida suorittamaan erilaisia ​​toimintoja, joten ne ovat yleiskäyttöisiä eivätkä tiettyyn käyttöön.

Käyttäjä voi suorittaa suorituksen aikana määritä nämä GPIO-nastat jotta he tekisivät mitä hän haluaa. Se voidaan tehdä eri tavoin, kuten tietyillä konsolin koodeilla tai skripteillä tai Python-ohjelmalla, joka on yksi yksinkertaisimmista ja suosituimmista tavoista käytettävissä olevien vaihtoehtojen määrän vuoksi.

Tällä tavalla Vadelma Pi: llä ei ole vain useita portteja ja rajapinnat yhdistääksesi useita vakiolaitteita, mutta lisää nämä GPIO-nastat, jotta voit lisätä muita itse luomiasi elektronisia laitteita tai valmistajaprojekteja. Samoin kuin tekisit Arduinon ja sen I / O-nastojen kanssa ohjausta varten.

Y ei yksinomaan Arduino tai Raspberry Pi, niin tekevät myös muut vastaavat SBC-levyt ja upotetut tuotteet.

GPIO-toiminnot

Ja välillä hänen OMINAISUUDET merkittävin:

  • He voivat olla määritetty niin tulona lähtöä. Heillä on tämä kaksinaisuus, kuten se tapahtuu Työläs.
  • Myös GPIO-nastat voidaan aktivoida ja deaktivoida koodin mukaan. Toisin sanoen ne voidaan asettaa arvoon 1 (korkea jännitetaso) tai 0 (matala jännitetaso).
  • Tietysti he voivat lukea binaaritietoja, kuten ykkökset ja nollat, toisin sanoen jännitesignaali tai sen puuttuminen.
  • Tulosarvot Lukeminen ja kirjoittaminen.
  • Syöttöarvot voidaan määrittää joissakin tapauksissa tapahtumia niin, että ne tuottavat jonkinlaisen toiminnan taululla tai järjestelmässä. Jotkut sulautetut järjestelmät käyttävät niitä IRQ: na. Toinen tapaus on määrittää, että kun tietyt anturit ovat aktiivisia yhden tai useamman nastan kanssa, suorita jokin toiminto ...
  • Jännitteen ja voimakkuuden suhteen sinun on tiedettävä hyvin levyn, tässä tapauksessa Raspberry Pi 4 tai 3, hyväksyttävät maksimikapasiteetit. Älä ohita niitä, jotta vältät sen vahingoittumisen.

Muuten, kun ryhmä GPIO-nastoja on ryhmitelty, kuten Raspberry Pi: n tapauksessa, ryhmä tunnetaan nimellä GPIO-portti.

Vadelma Pi: n GPIO-nastat

Vadelma Pi GPIO

Kaavio voimassa versioille 4, 3, nolla

uusi Raspberry Pi 4 -levyt ja versio 3 Ne on varustettu suurella määrällä GPIO-nastoja. Kaikki versiot eivät tarjoa samaa määrää, eikä niitä ole numeroitu samalla tavalla, joten sinun on oltava varovainen tämän kanssa, jotta tiedät hyvin, kuinka yhteys tulisi muodostaa mallin ja version mukaan.

Mutta mikä on yleisempää, ovat GPIO-tyypit, jotka löydät Raspberry Pi -levyjen satamasta. Ja se on ensimmäinen asia, jonka haluaisin tehdä selväksi, koska niin tiedät nastatyypit voit luottaa projekteihisi:

  • ruokinta: näitä nastoja käytetään sähkölinjojen tai johdotusten liittämiseen sähköisiin projekteihisi. Ne vastaavat nastoja, jotka ovat samanlaisia ​​kuin Arduino-levyllä, ja jotka tarjoavat jännitteitä 5v ja 3v3 (3.3v rajoitettu 50mA: n kuormitukseen). Lisäksi löydät myös maadoitetut (GND tai Ground). Jos et käytä ulkoisia virtalähteitä, kuten paristoja tai sovittimia, nämä nastat voivat olla suureksi avuksi virtapiirisi virtalähteelle.
  • DNC (Älä yhdistä): ne ovat nastoja, jotka ovat joissakin versioissa ja joilla ei ole mitään toimintoa, mutta että uusissa levyissä heille on annettu toinen tarkoitus. Löydät nämä vain primitiivisemmistä Pi-malleista. Uusissa 3 ja 4 ne merkitään yleisesti BKTL: ksi, jotta ne voivat integroitua edelliseen ryhmään.
  • Konfiguroitavat nastat: Ne ovat tavallisia GPIO: ita, ja ne voidaan ohjelmoida koodeilla, kuten selitän myöhemmin tekemään tarvitsemasi.
  • Erityiset nastat: nämä ovat joitain yhteyksiä, jotka on tarkoitettu erityisliitäntöihin tai rajapintoihin, kuten UART-, TXD- ja RXD-sarjaliitännät jne., kuten Arduinossa. Löydät jopa joitain kuten SDA, SCL, MOSI, MISO, SCLK, CE0, CE1 jne. He erottuvat joukosta:
    • PWM, joka voi säätää pulssin leveyttä, kuten näimme edellisessä artikkelissa. Vadelma Pi 3: lla ja 4: llä ne ovat GPIO12, GPIO13, GPIO18 ja GPIO19.
    • SPI on toinen viestintärajapinta, josta keskustelin myös toisessa artikkelissa. Uusien 40-napaisten levyjen tapauksessa ne ovat nastoja (erilaisilla viestintäkanavilla, kuten näet):
      • 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 on toinen yhteys, jonka olen selittänyt myös tässä blogissa. Tämä väylä koostuu datasignaalista (GPIO2) ja kellosta (GPIO3). EEPROM-datan (GPIO0) ja EEPROM-kellon (GPIO1) lisäksi.
    • Sarja, toinen erittäin käytännöllinen viestintä TX (GPIO14) ja RX (GPIO15) nastojen kanssa, kuten taululta löytyvät Arduino UNO.

Muista, että GPIO: t ovat Raspberry Pi: n ja ulkomaailman rajapinta, mutta niillä on sen rajoitukset, erityisesti sähköiset. Jotain, joka sinun on otettava huomioon, jotta et pilaa levyä, on muistaa, että näitä GPIO-nastoja ei yleensä puskuroida, toisin sanoen ilman puskuria. Tämä tarkoittaa, että heillä ei ole suojaa, joten sinun on seurattava käytetyn jännitteen ja voimakkuuden suuruuksia, jotta et pääse käyttämättömään levyyn ...

GPIO-erot versioiden välillä

Vanhat Raspberry Pi GPIO -nastat

Kuten sanoin, kaikki mallit eivät ole samat nastatTässä on joitain kaavioita, jotta voit nähdä eroja mallien välillä ja pystyä siten keskittymään Vadelma Pi 4: een ja 3: een, jotka ovat uusimpia ja joita sinulla todennäköisesti on hallussasi. Se eroaa toisistaan ​​(kaikilla ryhmillä on samat nastat):

  • Raspberry Pi 1 Model B Rev 1.0, jossa 26-nastainen eroaa hieman Rev2: sta.
  • Vadelma Pi 1 -mallit A ja B Rev 2.0, molemmat mallit 26-napaisella.
  • Rapsberry Pi -mallit A +, B +, 2B, 3B, 3B +, Zero ja Zero W sekä 4 mallia, joissa kaikissa on 40-nastainen GPIO-otsikko.

Mitä voin liittää GPIO: iin?

Vadelma Pi -hattu

Et vain pysty kytke elektroniset laitteet kuten transistorit, kosteus / lämpötila-anturit, termistorit, askelmoottorit, LEDit, jne. Voit myös liittää komponentteja tai moduuleja, jotka on luotu erityisesti Raspberry Pi: lle ja jotka laajentavat piirilevyn ominaisuuksia enemmän kuin tukiasemaan sisältyy.

Tarkoitan kuuluisaa hatut tai hatut ja levyt, jotka löydät markkinoilta. On olemassa monia tyyppejä, moottoreiden ohjaamiseen kuljettajilla, muihin luomiseen laskentaryhmä, With LED-paneeli hallittavissa, lisätä DVB-TV-ominaisuus, LCD-näyttö, Jne

Nämä hatut tai hatut Ne on asennettu Raspberry Pi -levylle, vastaamaan sen toimimiseen tarvittavia GPIO: ita. Siksi sen kokoaminen on melko yksinkertaista ja nopeaa. Varmista tietysti, että levymalli on yhteensopiva kunkin hatun kanssa, koska GPIO-portti on erilainen kuin olet nähnyt ...

Sanon tämän, jos sinulla on vanhempi levy, koska hatut ovat yhteensopiva vain uusimpien kanssa. Kuten Raspberry Pi -mallit A +, B +, 2, 3 ja 4.

Johdanto GPIO: n käyttöön Raspberry Pi: ssä

Pinout-komennon lähtö

Lähde: Raspberry Pi

Aloita avaamalla konsoli ja kirjoittamalla Raspbian komento Sokka irtiSe, mitä se palauttaa sinulle, on kuva päätelaitteessa, jolla on pöydälläsi olevat GPIO-nastat ja mitä kukin on tarkoitettu. Jotain hyvin käytännöllistä, että se on aina läsnä työn hetkellä, jotta et sekaannu.

Ensimmäinen projekti: LED-valon vilkkuminen GPIO-laitteiden kanssa

GPIO LEDillä Raspberry Pi: llä

Alkeellisin tapa tehdä sellainen "Hei maailma" GPIO-laitteiden kanssa on käyttää yksinkertaista LED: ää, joka on liitetty Vadelma Pi: n nastoihin, jotta näet kuinka ne toimivat. Tässä tapauksessa olen liittänyt sen GND: hen ja toisen nastaa 17, vaikka voit valita toisen tavallisista nastoista ...

Kun yhteys on muodostettu, voit ohjata heitä Raspbianilta päätelaitteen avulla. Linuxissa tiettyjä tiedostoja käytetään kuten hakemistossa / sys / class / gpio /. Voit esimerkiksi luoda tiedoston, jolla on tarvittavat rakenteet työn aloittamiseksi:

echo 17 > /sys/class/gpio/export

Sitten voit määritä tuloksi (sisään) tai lähdöksi (ulos) että tappi 17 on valittu esimerkillemme. Voit tehdä sen erittäin helposti:

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

Tässä tapauksessa lähdönä, koska haluamme lähettää sähköisen pulssin LED-valoon sen kytkemiseksi päälle, mutta jos se olisi anturi jne., Voit käyttää sitä. Nyt käynnistä (1) tai sammuta (0) LED, jota voit käyttää:

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

Jos haluat siirtyä toiseen projektiin ja poista merkintä luotu, voit tehdä sen näin:

echo 17 > /sys/class/gpio/unexport

Muuten, voit myös kerätä kaikki tarvittavat komennot projektillesi, kuten kaikki edelliset, tallentaa ne tiedostotyyppiin bash-käsikirjoitus ja suorita ne sitten nipussa kerralla sen sijaan, että kirjoittaisit ne yksitellen. Tämä on kätevää, kun toistat saman harjoituksen monta kertaa, joten sinun ei tarvitse kirjoittaa uudestaan. Vain juosta ja mennä. Esimerkiksi:

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

Kun olet valmis, tallennat ja sitten voit antaa sille tarvittavat suoritus- ja käyttöoikeudet käsikirjoitus jotta LED syttyy, odota 1.3 sekuntia ja sammuu näin silmukassa ...

chmod +x led.sh
./led.sh

Ohjelmointi etukäteen

ohjelmointikielen lähdekoodi

Ylläoleva toimii tietysti pienissä elektronisissa projekteissa, joissa on vain vähän komponentteja, mutta jos haluat luoda jotain edistyneempää, komentojen sijaan voit käyttää ohjelmointikielet tehdä erilaisia ​​komentosarjoja tai lähdekoodeja, jotka automatisoivat toiminnan.

Niitä voidaan käyttää eri työkaluja ohjelmoida, hyvin erilaisilla kielillä. Yhteisön kehittämät kirjastot helpottavat asioita sinulle paljon, kuten WiringPi, sysfs, pigpio jne. Ohjelmat voivat olla hyvin vaihtelevia, Pythonista, joka on monien suosima vaihtoehto, Ruby, Java, Perl, BASIC ja jopa C #.

Virallisesti Raspberry Pi tarjoaa sinulle monia palveluja ohjelmoida GPIO: t, kuten:

  • Scratch, niille, jotka eivät osaa ohjelmoida ja haluavat käyttää tämän projektin palapelilohkoja, joilla Arduino voidaan myös ohjelmoida jne. Ohjelmointi graafisilla lohkoilla on melko intuitiivista ja hyvin käytännöllistä koulutusalalla.
  • Python: Tämän yksinkertaisen tulkitun ohjelmointikielen avulla voit luoda yksinkertaisia ​​ja tehokkaita koodeja, ja käytettävissäsi on useita kirjastoja melkein kaiken kuvitellaksesi.
  • C / C ++ / C #: ovat tehokkaampia ohjelmointikieliä binäärien luomiseen GPIO: iden kanssa vuorovaikutuksessa. Voit tehdä sen useilla tavoilla käyttämällä vakiolomaketta tai ytimen käyttöliittymää kirjaston kauttalibgpiod, mutta myös kolmannen osapuolen kirjaston, kuten possu.
  • Käsittely 3, samanlainen kuin Arduino.

Valitse joustavasti joka pidät eniten tai luulet olevan yksinkertainen.


4 kommenttia, jätä omasi

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   vihollinen dijo

    Erittäin hyvä artikkeli Rasperryn aloittamisesta

    1.    Isaac dijo

      Paljon kiitoksia.

      1.    Ruth Medina dijo

        oletko kirjoittaja?

        1.    Isaac dijo

          kyllä