01dan 09gacha
Raspberry Pi ning pinlariga kirish
"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
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
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
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
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
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
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
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
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.GPIOIdora sifatida import qilish uchun:
GPIO GPIO.setmode (GPIO.BOARD) sifatida import RPi.GPIOBu 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.