Таңқурай Pi GPIO туры

01-ден 09-ге дейін

Таңқурайдың Pi-дің тесіктеріне кіріспе

Raspberry Pi GPIO. Ричард Савилл

«GPIO» (жалпы мақсаттағы кіріс шығысы) термині Raspberry Pi-ге эксклюзивті емес. Кіру және шығару түйреуін Arduino, Beaglebone және басқалары сияқты микроконтроллерлердің көбінде табуға болады.

GPIO туралы Morpberry Pi-мен сөйлескен кезде, біз тақталардың жоғарғы сол жақ бұрышындағы ұзындыққа арналған түйреуіштерге сілтеме жасаймыз. Ескі модельдерде 26 пин болды, алайда көбіміз 40-дағы ағымдағы модельді қолданатын боламыз.

Сіз компоненттерді және басқа аппараттық құралдарды осы түйреуіштерге қосып, олар істеп жатқан нәрселерді бақылау үшін кодты пайдалануға болады. Бұл Morpberry Pi-дің маңызды бөлігі және электроника туралы білудің тамаша тәсілі.

Бірнеше бағдарламалық жасақтамадан кейін сіз өзіңіздің «нақты өмірде» жағдай жасау үшін өзіңіздің кодты аппараттық құралдармен араластыруға ынталы боласыз.

Егер сіз оқиға орнына жаңа болып жатсаңыз, бұл үрдіс қорқытуы мүмкін және бір жалған әрекет сіздің Morpberry Pi-ге зиянын тигізуі мүмкін екендігін ескере отырып, бұл жаңадан бастағандар үшін зерттеуге болатын жүйке аймақ.

Бұл мақалада GPIO-ның әрбір түрінің және олардың шектеулерінің не екенін түсіндіреді.

02/09

GPIO

GPIO түйреуіштері 1-ден 40-ға дейін нөмірленеді және әртүрлі функциялар бойынша топтастырылуы мүмкін. Ричард Савилл

Алдымен GPIO-ны қарап шығайық. Ілмектер бірдей көрінуі мүмкін, бірақ олардың әрқайсысы әр түрлі функцияларды атқарады. Жоғарыдағы сурет осы функцияларды әр түрлі түстерде көрсетеді, олар келесі қадамдарда түсіндіріледі.

Әрбір штырма төменгі сол жақтан бастап 1-ден 40-ға дейін нөмірленеді. Бұл жеке түйін сандары, алайда кодты жазу кезінде пайдаланылатын «BCM» сияқты нөмірлеу / белгілеу конвенциялары бар.

03 09

Power & Ground

Raspberry Pi көптеген қуат пен жер асты түйреуіштерін ұсынады. Ричард Савилл

Белгіленген қызыл, 3,3 немесе 5 В белгісіне арналған «3» немесе «5» деп белгіленген қуат түйректері.

Бұл штрих-код кез-келген кодты қажет етпестен тікелей құрылғыға қуат жіберуге мүмкіндік береді. Оларды өшірудің ешқандай жолы жоқ.

2 қуатты рельс бар - 3,3 вольт және 5 вольт. Осы мақалаға сәйкес, 3.3V рельстері 50мА ток ағымымен шектеледі, ал 5V рельс, Пи қажетті нәрсені алғаннан кейін, электр қуатымен қалған кез-келген қуаттылықты қамтамасыз ете алады.

Қара қоңыр түсті жерлер (GND). Бұл түйреуіштер - электронды электроника жобасының маңызды бөлігі болып табылатын жер асты түйректері.

(5V GPIO түйреуіштері физикалық нөмірлер 2 және 4 болып табылады. 3.3V GPIO түйреуіштері 1 және 17 физикалық нөмірлер болып табылады. Жергілікті GPIO түйреуіштері физикалық нөмірлер 6, 9, 14, 20, 25, 30, 34 және 39)

04 09

Кіріс / шығыс қаламдар

Кіру және шығару түймелері сенсорлар мен ажыратқыштар сияқты жабдықты қосуға мүмкіндік береді. Ричард Савилл

Жасыл түйреуіштер - «жалпы» кіріс / шығыс түйреуіштер деп аталады. Олар I2C, SPI немесе UART сияқты басқа функциялармен күресу туралы ешқандай алаңдамай кіріс немесе шығыс ретінде оңай пайдалануға болады.

Бұл светодиоды, дыбыстық сигнал немесе басқа компоненттерге күш жібере алатын немесе датчиктерді, қосқыштарды немесе басқа кіріс құрылғыларды оқу үшін кіріс ретінде қолдануға болатын түйректер.

Осы шрифттердің шығыс қуаты - 3,3В. Әрбір штепсель 16 мА-дан аспауы тиіс, немесе батыру немесе көздерден, және GPIO-дің барлық жиынтығы кез-келген уақытта 50 мА-дан аспауы керек. Бұл шектеу қоюы мүмкін, сондықтан сіз белгілі бір жобаларда шығармашылықпен айналысуыңыз мүмкін.

(Generic GPIO түйреуіштері физикалық нөмірлер 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 және 40)

05 09

I2C Pins

I2C сізге басқа құрылғыларды Pi-ге ғана қосуға мүмкіндік береді. Ричард Савилл

Сарыда бізде I2C штыры бар. I2C - қарапайым жағдайларда құрылғыға Raspberry Pi-мен байланысуға мүмкіндік беретін байланыс хаттамасы. Бұл түйреуіштер «жалпы» GPIO түйреуіштер ретінде де қолданыла алады.

I2C пайдаланудың жақсы мысалы - бұл I2C протоколы арқылы кіріс / шығыс түйреуіштерін бере алатын өте танымал MCP23017 порты кеңейту чипі.

(I2C GPIO түйреуіштері 3 және 5 физикалық түйреуіштер)

06 09

UART (сериялық) түйреуіштер

UAR сымымен қатарлас қосылу арқылы сіздің Pi-ға қосылыңыз. Ричард Савилл

Сұр түсте - UART штыры. Бұл шрифттер сериялық қосылымдарды ұсынатын және «жалпы» GPIO кіріс / шығыс ретінде пайдаланылуы мүмкін басқа байланыс хаттамасы болып табылады.

Менің UART-ді пайдаланғаным - Пи-дан менің ноутбугыма USB арқылы дәйекті қосылуды қамтамасыз ету. Бұған қосымша қондырғылар немесе қарапайым кабельдер арқылы қол жеткізуге болады және Pi-ге кіру үшін экран немесе интернетке қосылу қажеттілігін жояды.

(UART GPIO түйреуіштері 8 және 10 физикалық түйреуіштер)

07 09

SPI қаттылығы

SPI Pins - басқа пайдалы байланыс протоколы. Ричард Савилл

Қызғылт түсте SPI штыры бар. SPI - Pi және басқа жабдық / перифериялық құрылғылар арасында деректер жіберетін интерфейстік шина. Ол көбінесе LED матрицасы немесе дисплей сияқты құрылғылардың ілінуі үшін қолданылады.

Басқа адамдар сияқты, бұл шрифттер «жалпы» GPIO кіріс / шығыс ретінде де пайдаланылуы мүмкін.

(SPI GPIO түйреуіштері 19, 21, 23, 24 және 26 физикалық түйреуіштер)

08 09

DNC түйреуіштері

Мұнда ешнәрсе көре алмайсыз - DNC түйректері ешқандай функцияны істемейді. Ричард Савилл

Ақыр соңында, көк түсте екі түйреуіш болып табылады, ол қазіргі уақытта DNC ретінде белгіленеді, ол 'Do Not Connect' дегенді білдіреді. Егер Raspberry Pi Foundation тақтаны / бағдарламаны өзгертсе, бұл болашақта өзгеруі мүмкін.

(DNC GPIO түйреуіштері 27 және 28 физикалық түйреуіштер)

09 09

GPIO нөмірлеу конвенциялары

Portsplus - GPIO PIN-кодтарын тексеру үшін ыңғайлы құрал. Ричард Савилл

GPIO-мен кодтау кезінде GPIO кітапханасын BCM немесе BOARD екі жолдың бірімен импорттауға болады.

Мен таңдаған GPIO BCM опциясы. Бұл Broadcom нөмірлеу конвенциясы және мен жобалар мен аппараттық қосымшалар бойынша жиі қолданылатындығын білемін.

Екінші нұсқа - GPIO BOARD. Бұл әдіс орнына жеке түйреуіш нөмірлерді қолданады, бұл істікшені есептегенде ыңғайлы, бірақ сіз оны жобалық мысалдарда аз пайдаланылған деп тапсаңыз болады.

GPIO режимі GPIO кітапханасын импорттау кезінде орнатылады:

BCM ретінде импорттау үшін:

GPIO GPIO.setmode (GPIO.BCM) ретінде RPi.GPIO импорттау

BOARD ретінде импорттау үшін:

GPIO GPIO.setmode (GPIO.BOARD) ретінде RPi.GPIO импорттау

Бұл әдістердің екеуі бірдей жұмыс жасайды, бұл жай нөмірлеудің артықшылығы.

Мен әрдайым RasPiO Portsplus (суреттелген) сияқты ыңғайлы GPIO жапсырмаларын қолданамын. Бір жағы BCM нөмірлеу конвенциясын көрсетеді, екіншісі BOARD көрсетеді - сондықтан сіз тапқан кез-келген жобаға қатысты.