Raspberry Pi GPIO turnesidir

01dan 09gacha

Raspberry Pi ning pinlariga kirish

Raspberry Pi GPIO. Richard Saville

"GPIO" atamasi (Umumiy maqsadlar uchun kirish natijasi) Raspberry Pi ga xos emas. Kirish va chiqish pinlarini Arduino, Beaglebone va boshqalar kabi mikro boshqaruvchilari ko'pchiligida topish mumkin.

GPIO haqida Raspberry Pi bilan suhbatlashganda, biz kengashning yuqori chap burchagida uzun pinalar blokini nazarda tutmoqdamiz. Qadimgi modellarda 26 pin bor edi, lekin ko'pchiligimiz hozirgi modelni 40dan foydalanadi.

Siz tarkibiy qismlarni va boshqa apparat vositalarini ushbu pimlarga ulashingiz va nima qilishlarini nazorat qilish uchun koddan foydalanishingiz mumkin. Bu Raspberry Pi ning muhim qismi va elektronikani o'rganishning ajoyib usuli.

Bir nechta dasturiy ta'minotdan so'ng siz o'zingizni "real hayot" da sodir bo'lish uchun o'zingizning kodingizni apparat bilan aralashtirishga intilib, o'zingiz bu pinlar bilan tajriba topasiz.

Agar siz sahnaga yangi kelgan bo'lsangiz, bu jarayon sizni qo'rqitishi mumkin va agar bitta noto'g'ri harakat Raspberry Pi ga zarar keltirishi mumkinligini hisobga olsangiz, u yangi boshlanuvchilarni kashf etishi uchun asabiy joy.

Ushbu maqolada GPIO pinining har qanday turi va ularning cheklovlari bayon etilgan.

02 ning 09

GPIO

GPIO pinalari 1 dan 40 gacha raqamlangan va turli funktsiyalar bo'yicha guruhlangan bo'lishi mumkin. Richard Saville

Birinchidan, GPIO ga bir qaraylik. Ignalilar bir xil ko'rinishi mumkin, ammo ularning barchasi turli funktsiyalarga ega. Yuqoridagi rasmda ushbu funktsiyalarni turli xil ranglarda aks ettiramiz.

Har bir pin pastki chapdan boshlab 1dan 40gacha raqamlangan. Ular jismoniy pin raqamlari, ammo kod yozishda ishlatiladigan "BCM" kabi raqamlash / etiketlash qoidalari ham mavjud.

03 dan 09 gacha

Power & Ground

Raspberry Piy bir nechta kuch va qora pimlarni taklif qiladi. Richard Saville

Belgilangan qizil, 3.3V yoki 5V uchun "3" yoki "5" yorliqli pin.

Ushbu pinlar to'g'ridan-to'g'ri biron bir kodni talab qilmasdan qurilmaga quvvatni yuborishga imkon beradi. Bularni o'chirib tashlashning usuli yo'q.

Ikkita elektr quvvati - 3,3 volt va 5 volt bor. Ushbu maqolaga ko'ra, 3.3V temir yo'li 50mA oqim chizig'i bilan chegaralanadi, 5V temir yo'li esa Piy kerakli narsani olganidan so'ng, sizning elektr ta'minotingizdan qanaqa dolzarb imkoniyatlaringizni qoldirishi mumkin.

Ochiqlangan jigarrang pin (GND). Ushbu pinlar aniq aytadigan narsalar - tuproq pinlari - har qanday elektronik loyihaning muhim qismidir.

(5V GPIO pimlari fizik sonlar 2 va 4). 3.3V GPIO pimlari 1 va 17-gachasi fizik raqamlardir. Erning GPIO pimlari 6, 9, 14, 20, 25, 30, 34 va 39 fizik raqamlari)

04 da 09

Kirish / chiqish pinlari

Kirish va chiqish pinlari sensorlar va kalitlar kabi qo'shimcha qurilmalarni ulash imkonini beradi. Richard Saville

Yashil pinlar "umumiy" kirish / chiqish pinlari deb ataydigan narsadir. Ular I2C, SPI yoki UART kabi boshqa funktsiyalar bilan jang qilishdan tashvishlanmasdan kirish va chiqish sifatida osonlik bilan ishlatilishi mumkin.

Ular LEDni, qo'ng'iroqchani yoki boshqa komponentlarni quvvatlay oladigan yoki sensorlar, kalitlarni yoki boshqa kirish qurilmalarini o'qish uchun kirish sifatida ishlatilishi mumkin bo'lgan pinlardir.

Ushbu pinlarning chiqish quvvati 3.3V. Har bir pin 16mA oqimdan oshib ketmasligi kerak, yoki batareya yoki manba bo'lishi kerak va GPIO pinlarining barcha to'plami bir vaqtning o'zida 50mA dan oshmasligi kerak. Bu cheklovga olib kelishi mumkin, shuning uchun muayyan loyihalarda ijod qilishingiz kerak bo'ladi.

(Umumiy GPIO pimlari 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 va 40)

05 dan 09 gacha

I2C Pins

I2C sizning qurilmangizga bir nechta pin bilan boshqa qurilmalarni ulash imkonini beradi. Richard Saville

Sariq rangda I2C pinlari bor. I2C - oddiygina usulda asboblar Raspberry Pi bilan aloqa qilish imkonini beruvchi aloqa protokoli. Ushbu pinlarni "umumiy" GPIO pinlari sifatida ham ishlatish mumkin.

I2C-dan foydalanishning yaxshi namunasi, bu I2C protokoli orqali sizga ko'proq kirish / chiqish pinlarini berishi mumkin bo'lgan juda mashhur MCP23017 port kengayuvchi chipidir.

(I2C GPIO pimlari jismoniy pin raqamlari 3 va 5)

06 dan 09 gacha

UART (ketma-ket) pin

ULAN pinlari bilan ketma-ket ulangan holda Pi-ga ulaning. Richard Saville

Kulrang, UART pinlari. Ushbu pimler ketma-ket ulanishlarni ta'minlaydigan va "umumiy" GPIO kirishlari / chiqishi sifatida ishlatilishi mumkin bo'lgan boshqa aloqa protokoli hisoblanadi.

UART uchun eng sevimli ishlatish - bu mening Pi-dan tizza kompyuterimga USB orqali ketma-ket ulanishni ta'minlash. Bunga qo'shimcha plaginlar yoki oddiy kabellar orqali erishish mumkin va sizning Pi-ga kirish uchun ekran yoki internetga ulanish zarurligini bartaraf etadi.

(UART GPIO pimlari 8 va 10-sonli jismoniy pin raqamlari)

07 of 09

SPI pinlari

SPI Pins - boshqa foydali muloqot protokoli. Richard Saville

Pushtda SPI pinlari mavjud. SPI - bu Pi va boshqa apparat / tashqi qurilmalar o'rtasidagi ma'lumotlarni yuboradigan interfeysi avtobus. Odatda LED matritsasi yoki displey kabi qurilmalarni chakirish uchun ishlatiladi.

Boshqalar singari, bu pinlar ham "umumiy" GPIO kirishlari / chiqishi sifatida ham qo'llanilishi mumkin.

(SPI GPIO pimlari 19, 21, 23, 24 va 26-sonli jismoniy pin raqamlari)

08 of 09

DNC pinlari

Bu erda hech narsa ko'rilmaydi - DNC pinlari hech qanday funktsiyaga xizmat qilmaydi. Richard Saville

Nihoyat, ko'k rangdagi ikkita pin mavjud bo'lib, hozirda DNC sifatida "Do Not Connect" degan ma'noni anglatadi. Raspberry Pi jamg'armasi taxtalar / dasturlarni o'zgartirsa, bu kelajakda o'zgarishi mumkin.

(DNC GPIO pimleri, jismoniy PIN raqami 27 va 28)

09 dan 09 gacha

GPIO raqamlash konventsiyalari

Portsplus GPIO PIN raqamlarini tekshirish uchun qulay vosita. Richard Saville

GPIO bilan kodlashda, GPIO kutubxonasini BCM yoki BOARDning ikki usulidan birini tanlash mumkin.

Tanlagan variant - GPIO BCM. Bu Broadcom raqamlash konventsiyasidir va men uni loyihalar va apparat-ilovalar bo'yicha ko'proq ishlatilishini bilaman.

Ikkinchi variant - GPIO BOARD. Bu usul o'rniga jismoniy pin raqamlarini ishlatadi, bu esa pinlarni hisoblashda foydalidir, ammo siz uni loyiha misollarida kam ishlatilganligini topasiz.

GPIO rejimi GPIO kutubxonasini import qilishda o'rnatiladi:

BCM sifatida import qilish uchun:

GPIO GPIO.setmode (GPIO.BCM) sifatida import RPi.GPIO

Idora sifatida import qilish uchun:

GPIO GPIO.setmode (GPIO.BOARD) sifatida import RPi.GPIO

Bu usullarning har ikkalasi ham xuddi shunday ishni bajaradi, bu faqat raqamlash afzalligi masalasidir.

Men RasPiO Portsplus (tasvirlangan) kabi foydalanishga GPIO yorliqli taxtalaridan muntazam ravishda foydalanayapman. Bir tomon BCM raqamlash konventsiyasini ko'rsatadi, ikkinchisi esa BOARDni ko'rsatadi - shuning uchun siz topadigan har qanday loyihani qamrab olasiz.