A Raspberry Pi GPIO kelionė

01 iš 09

Įžanga į Avietės Pi pins

"Raspberry Pi GPIO". Richard Saville

Sąvoka "GPIO" ("General Purpose Input Output") nėra išskirtinė "Raspberry Pi". Įvesties ir išvesties kaiščius galima rasti daugumoje mikrovaldiklių, tokių kaip "Arduino", "Beaglebone" ir dar daugiau.

Kalbant apie GPIO su Raspberry Pi, mes kalbame apie ilgą kaiščių bloką viršutiniame kairiajame lentos kampe. Senesni modeliai turėjo 26 kaiščius, tačiau dauguma iš mūsų naudos dabartinį modelį su 40.

Šiuos kontaktus galite prijungti komponentus ir kitus aparatūros įrenginius ir naudoti kodą, kad galėtumėte valdyti tai, ką jie daro. Tai svarbi Raspberry Pi dalis ir puikus būdas sužinoti apie elektroniką.

Po kelių programinės įrangos projektų, jūs tikriausiai atsidursite eksperimentuodami su šiais kontaktiniais elementais, norėdami sumaišyti savo kodą su aparatine įranga, kad dalykai būtų "realiame gyvenime".

Šis procesas gali būti bauginantis, jei esate naujas scenoje ir, atsižvelgiant į tai, kad vienas klaidingas žingsnis gali sugadinti jūsų Raspberry Pi, suprantama, kad tai yra nervų sritis pradedantiesiems ištirti.

Šiame straipsnyje bus paaiškinta, ką kiekvienas GPIO tipo tipas ir kokie apribojimai.

02 iš 09

GPIO

GPIO smeigtukai yra nuo 1 iki 40 ir juos galima sugrupuoti pagal skirtingas funkcijas. Richard Saville

Pirma, pažiūrėkime GPIO kaip visumą. Smeigtukai gali atrodyti vienodi, tačiau jie visi turi skirtingas funkcijas. Aukščiau pateiktame paveikslėlyje šios funkcijos rodomos skirtingomis spalvomis, kurias paaiškinsime šiuose etapuose.

Kiekvienas kaištis sunumeruotas nuo 1 iki 40, pradedamas nuo kairiojo apačios. Tai yra fiziniai PIN numeriai, tačiau taip pat yra numeravimo / ženklinimo konvencijos, pvz., "BCM", kurios naudojamos rašant kodą.

03 iš 09

Maitinimas ir žemė

"Raspberry Pi" siūlo keletą maitinimo šaltinių. Richard Saville

Išryškinta raudona spalva - tai maitinimo kaiščiai, pažymėti "3" arba "5", kai yra 3,3 V arba 5 V.

Šie kaiščiai leidžia tiesiogiai siųsti įrenginį į įrenginį be jokio kodo. Neįmanoma išjungti jų.

Yra 2 galios bėgiai - 3,3 voltai ir 5 voltai. Remiantis šiuo straipsniu, 3.3V geležinkelio riba yra 50 mA srovės, o 5V bėgis gali užtikrinti bet kokį dabartinį pajėgumą, kol "Pi" priėmė tai, ko reikia.

Išryškinti rudos spalvos yra grunto kaiščiai (GND). Šie smeigtukai yra būtent tai, ką jie sako, - žemės smeigtukai, kurie yra gyvybiškai svarbi bet kurio elektronikos projekto dalis.

(5V GPIO smeigtukai yra fiziniai skaitmenys 2 ir 4. 3.3V GPIO smeigtukai yra fiziniai skaitmenys 1 ir 17. Grieginiai GPIO smeigtukai yra fiziniai skaitmenys 6, 9, 14, 20, 25, 30, 34 ir 39)

04 iš 09

Įvesties / išvesties kaiščiai

Įvesties ir išvesties smeigtukai leidžia prijungti aparatūrą, pvz., Jutiklius ir jungiklius. Richard Saville

Žalias kaištis yra tas, kurį vadinu "generiniais" įvesties / išvesties kaiščiais. Jie gali būti lengvai naudojami kaip įėjimai arba išėjimai be rūpesčių dėl susidūrimo su kitomis funkcijomis, tokiomis kaip I2C, SPI ar UART.

Tai yra smeigtukai, kurie gali siųsti maitinimą šviesos diodais, signalizatoriumi ar kitais komponentais arba naudoti kaip įėjimą skaitydami daviklius, jungiklius ar kitą įvesties įrenginį.

Šių kontaktų išėjimo galia yra 3,3 V. Kiekvienas kaištis neturi viršyti 16mA srovės, nuskendimo ar tiekimo, o visas GPIO kaiščių rinkinys bet kuriuo metu neturi viršyti daugiau kaip 50 mA. Tai gali būti ribojanti, todėl tam tikruose projektuose gali prireikti kūrybiškumo.

(Bendrieji GPIO kaiščiai yra fiziniai skaitmenys 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 ir 40)

05 iš 09

I2C Pins

I2C leidžia jums prijungti kitus įrenginius prie savo "Pi" tik su keliais kaiščiais. Richard Saville

Geltoname, mes turime I2C kaiščius. I2C yra komunikacijos protokolas, kuris paprastais žodžiais leidžia įrenginiui bendrauti su "Avokado" Pi. Šie kaiščiai taip pat gali būti naudojami kaip "generiniai" GPIO smeigtukai.

Geras pavyzdys, kaip naudoti I2C, yra labai populiarus MCP23017 port expander lustas, kuris gali suteikti jums daugiau įvesties / išvesties kaiščių per šį I2C protokolą.

(I2C GPIO smeigtukai yra fiziniai kintamieji numeriai 3 ir 5)

06 iš 09

UART (serijos) kontaktiniai lynai

Prijunkite prie savo "Pi" per serijos ryšį su UART kaištiniais. Richard Saville

Pilkoje yra UART kaiščių. Šie kaiščiai yra kitas komunikacijos protokolas, kuris siūlo serijinius ryšius, ir taip pat gali būti naudojamas kaip "generinis" GPIO įėjimas / išvestis.

Mano mėgstamiausias UART naudojimas yra įgalinti serijos jungtį iš "Pi" prie mano nešiojamojo kompiuterio per USB. Tai galima pasiekti naudojant papildomas plokštes ar paprastus kabelius ir pašalina ekrano arba interneto ryšio poreikį, kad galėtumėte pasiekti Pi.

(UART GPIO smeigtukai yra fiziniai kintamieji numeriai 8 ir 10)

07 iš 09

SPI Pins

SPI Pins - dar vienas naudingas ryšių protokolas. Richard Saville

Rausvagiai turi SPI kaiščius. SPI yra sąsajos autobusas, kuris siunčia duomenis tarp "Pi" ir kitų aparatinės įrangos / periferinių įrenginių. Tai dažniausiai naudojama įrenginiams, tokiems kaip LED matrica ar ekranas, surišti.

Kaip ir kiti, šie spaustukai taip pat gali būti naudojami kaip "generiniai" GPIO įėjimai / išvesties.

(SPI GPIO smeigtukai yra fiziniai numeriai 19, 21, 23, 24 ir 26)

08 iš 09

DNC Pins

Čia nieko nematyti - DNC smeigtukai neturi jokios funkcijos. Richard Saville

Galiausiai yra dvi mėlynos spalvos kaištinės, kurios šiuo metu yra pažymėtos kaip "DNC", vadinasi "Negalima prisijungti". Ateityje tai gali pasikeisti, jei "Raspberry Pi Foundation" pakeis plokštes / programinę įrangą.

(DNC GPIO smeigtukai yra fiziniai numeriai 27 ir 28)

09 iš 09

GPIO numeravimo konvencijos

"Portsplus" yra patogus GPIO PIN kodų tikrinimo įrankis. Richard Saville

Koduojant GPIO, jūs galite pasirinkti importuoti GPIO biblioteką vienu iš dviejų būdų: BCM arba BOARD.

Galima pasirinkti GPIO BCM. Tai Broadcom numeravimo konvencija, ir manau, kad ji dažniau naudojama projektuose ir įrangos papildiniuose.

Antrasis variantas yra "GPIO BOARD". Šis metodas naudoja fizinius PIN numerius, kurie yra naudingi skaičiuojant smeigtukus, tačiau jūs pastebėsite, kad projektų pavyzdžiai yra mažiau naudojami.

GPIO režimas nustatomas importuojant GPIO biblioteką:

Importuoti kaip BCM:

importuoti RPi.GPIO kaip GPIO GPIO.setmode (GPIO.BCM)

Importuoti kaip BOARD:

importuoti RPi.GPIO kaip GPIO GPIO.setmode (GPIO.BOARD)

Abu šie metodai atlieka vienodą darbą, tai tik numeracijos prioritetas.

Aš reguliariai naudojau patogias GPIO etikečių plokštes, tokias kaip "RasPiO Portsplus" (pav.), Kad patikrintų, kokius kaiščius aš prijungiu laidus. Vienoje pusėje parodyta BCM numeravimo konvencija, o kita - "BOARD" - taigi jūs patenkate į bet kurį projektą, kurį rasite.