Įžanga į Avietės Pi pins
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š 09GPIO
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š 09Maitinimas ir žemė
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.
Paryškintas rudasyra žemės smeigtukai (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
Ž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š 09I2C Pins
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š 09UART (serijos) kontaktiniai lynai
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š 09SPI Pins
Rožinė, mes turime 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š 09DNC Pins
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š 09GPIO numeravimo konvencijos
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.