GPIO. Ամեն ինչ Raspberry Pi 4 և 3 կապերի մասին

Raspberry Pi 4 GPIO

The Rasio- ի Pi 4 տախտակի GPIO քորոցները, 3-ը, ինչպես նաև դրա նախորդները, SBC տախտակին տալիս են հնարավորություններ, որոնք նման են Arduino- ին, քանի որ դրանցով կարող եք ստեղծել շատ հետաքրքիր էլեկտրոնային նախագծեր, որոնք կառավարվում են գործավար համակարգից ՝ տարբեր լեզուներով ծածկագրերի միջոցով, օրինակ ՝ Python- ի:

Դա տախտակն ավելին է, քան պարզապես էժան համակարգիչը: Դա թույլ կտա ձեզ միացնել մի մեծ բազմություն էլեկտրոնային տարրեր որը կարող եք օգտագործել Arduino- ի հետ, բայց դա կարող է նաև վերահսկվել Pi- ից: Այս ուղեցույցում ես կփորձեմ ձեզ հնարավորինս շատ տեղեկատվություն տրամադրել այս GPIO քորոցների մասին, որպեսզի դուք սկսեք օգտվել դրանցից ...

Ի՞նչ է GPIO- ն:

GPIO

GPIO ընդհանուր նպատակի ներածում / արտադրանք հապավումն է, այսինքն ՝ ընդհանուր նշանակության ներածում / ելք: Տարբեր էլեկտրոնային ապրանքներ կարող են ունենալ դա, օրինակ ՝ չիպսերը կամ որոշակի PCB տախտակներ, ինչպիսին է այս Raspberry Pi- ն: Ինչպես նրանց անունն է հուշում, դրանք քորոցներ են, որոնք կարող են կազմաձևվել տարբեր գործառույթներ կատարելու համար, հետևաբար դրանք ընդհանուր նշանակության են և ոչ թե հատուկ օգտագործման:

Դա կարող է լինել գործարկման ժամանակ օգտագործողը կարգավորել այս GPIO քորոցները որպեսզի նրանք անեն այն, ինչ նա է ուզում: Դա կարելի է անել տարբեր ձևերով, օրինակ ՝ մխիթարելից որոշակի կոդերով կամ սցենարներով կամ Python ծրագրով, որը ամենապարզ և նախընտրելի ձևերից մեկն է ՝ շնորհիվ ձեր տրամադրության տակ եղած ընտրանքների քանակի:

Այս կերպ, Raspberry Pi- ն ոչ միայն ունի մի շարք նավահանգիստներ և ինտերֆեյսներ մի քանի ստանդարտ սարքեր միացնելու համար, բայց ավելացրեք այս GPIO քորոցները, որպեսզի կարողանաք ավելացնել այլ էլեկտրոնային սարքեր կամ արտադրողի նախագծեր, որոնք ինքներդ եք ստեղծել: Նույն կերպ, ինչպես կցանկանայիք օգտագործել Arduino- ի և դրա մուտքային / փականների կառավարման հետ:

Y բացառիկ չէ Arduino- ին կամ Raspberry Pi- ին, նույնն էլ անում են նմանատիպ այլ SBC տախտակները և ներկառուցված ապրանքները:

GPIO գործառույթները

Եվ արանքում նրա ԲԱՐՁՐԱԳՈՒՅՆՆԵՐԸ առավել ակնառու.

  • Նրանք կարող են կազմաձևվել այդքան շատ որպես մուտք, ինչպես ելք, Նրանք ունեն այդ երկակիությունը, ինչպես պատահում է նրանց հետ Arduino.
  • GPIO քորոցներ նույնպես կարող է ակտիվացվել և ապաակտիվացվել ծածկագրով: Այսինքն, դրանք կարող են դրվել 1 (բարձր լարման մակարդակ) կամ 0 (ցածր լարման մակարդակ):
  • Իհարկե կարող են կարդալ երկուական տվյալներ, որպես նորեր և զրոներ, այսինքն ՝ լարման ազդանշան կամ դրա բացակայություն:
  • Ելքային արժեքները Գրել եւ կարդալ.
  • Մուտքային արժեքները որոշ դեպքերում կարող են կազմաձեւվել ՝ Իրադարձություններ այնպես, որ դրանք առաջացնում են ինչ-որ գործողություն տախտակի կամ համակարգի վրա: Ներդրված որոշ համակարգեր դրանք օգտագործում են որպես IRQ: Մեկ այլ դեպք է կարգավորել, որ երբ մեկ կամ մի քանի քորոցներ ակտիվ են որոշակի տվիչների կողմից, կատարեք որոշակի գործողություններ ...
  • Լարման և ինտենսիվության վերաբերյալ դուք պետք է լավ իմանաք տախտակի համար առավելագույն հզորությունները, այս դեպքում `Raspberry Pi 4-ը կամ 3-ը: Դուք չպետք է անցնեք դրանք` այն չվնասելուց:

Ի դեպ, երբ GPIO քորոցների խումբը խմբավորվում է, ինչպես Raspberry Pi- ի դեպքում է, խումբը հայտնի է որպես GPIO պորտ.

Ազնվամորի Pi- ի GPIO քորոցները

Raspberry Pi GPIO

4, 3, versionրո տարբերակի համար գործող սխեման

Նորը Raspberry Pi 4 տախտակներ և 3 տարբերակ Նրանք հագեցած են մեծ թվով GPIO քորոցներով: Ոչ բոլոր վարկածներն են նույն գումարը առաջարկում, և ոչ էլ համարակալված են նույն եղանակով, ուստի պետք է զգույշ լինել դրա համար, որպեսզի լավ իմանաք, թե ինչպես պետք է կապն իրականացնեք ըստ ձեր ունեցած մոդելի և վերանայման:

Բայց առավել ընդհանուրը GPIO- ի տեսակներն են, որոնք կարող եք գտնել Raspberry Pi տախտակների նավահանգստում: Եվ դա կլինի առաջին բանը, որը ես կցանկանայի պարզաբանել, քանի որ այդպես կանես քորոցների տեսակները կարող եք հույս դնել ձեր նախագծերի համար.

  • կերակրմանԱյս քորոցներն օգտագործվում են ձեր էլեկտրոնային նախագծերի էլեկտրական գծերը կամ լարերը միացնելու համար: Դրանք համապատասխանում են Arduino տախտակի վրա տեղադրված նման կապումներին, որոնք ապահովում են 5v և 3v3 լարումներ (3.3v սահմանափակվում է 50mA բեռով): Բացի այդ, դուք կգտնեք նաև վերգետնյա (GND կամ Ground): Եթե ​​չեք օգտագործում էներգիայի արտաքին աղբյուրներ, ինչպիսիք են մարտկոցները կամ ադապտերները, այս կապիչները կարող են մեծ օգնություն ցուցաբերել ձեր միացումն ապահովելու համար:
  • DNC (մի միացեք)դրանք քորոցներ են, որոնք կան որոշ տարբերակներում և որոնք գործառույթ չունեն, բայց որ նոր տախտակներում նրանց այլ նպատակ է տրվել: Դրանք կգտնեք միայն Pi- ի առավել պարզունակ մոդելներում: Նոր 3-ում և 4-ում դրանք ընդհանուր առմամբ նշվում են որպես GND, որոնք կկարողանան ինտեգրվել նախորդ խմբին:
  • Կարգավորվող կապումԴրանք սովորական GPIO- ներ են, և դրանք կարող են ծրագրավորվել կոդերով, ինչպես ես կբացատրեմ ավելի ուշ `անելու այն, ինչ ձեզ հարկավոր է:
  • Հատուկ քորոցներսրանք մի քանի կապեր են, որոնք նախատեսված են հատուկ կապերի կամ միջերեսների համար, ինչպիսիք են UART, TXD և RXD սերիական կապերը և այլն, ինչպես դա տեղի է ունենում Arduino- ի հետ: Դուք նույնիսկ կգտնեք SDA, SCL, MOSI, MISO, SCLK, CE0, CE1 և այլն: Նրանք առանձնանում են նրանց մեջ.
    • PWM, որը կարող է կարգավորել զարկերակի լայնությունը, ինչպես տեսանք նախորդ հոդվածում: Raspberry Pi 3-ի և 4-ի վրա դրանք GPIO12, GPIO13, GPIO18 և GPIO19 են:
    • SPI- ն հաղորդակցության մեկ այլ միջերես է, որը ես քննարկեցի նաև մեկ այլ հոդվածում: Նոր 40-փին տախտակների դեպքում դրանք քորոցներն են (ինչպես կարող եք տեսնել տարբեր հաղորդակցման ալիքներով).
      • SPI0 ՝ MOSI (GPIO10), MISO (GPIO9), SCLK (GPIO11), CE0 (GPIO8), CE1 (GPIO7)
      • SPI1՝ MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
    • I2C մեկ այլ կապ է, որը ես նույնպես բացատրել եմ այս բլոգում: Այս ավտոբուսը կազմված է տվյալների ազդանշանից (GPIO2) և ժամացույցից (GPIO3): Բացի EEPROM տվյալներից (GPIO0) և EEPROM ժամացույցից (GPIO1):
    • Սերիական, ևս մեկ շատ գործնական հաղորդակցություն TX (GPIO14) և RX (GPIO15) կապի հետ, ինչպիսին կարող եք գտնել տախտակի վրա Arduino UNO.

Հիշեք, որ GPIO- ները Raspberry Pi- ի և արտաքին աշխարհի միջերեսն են, բայց դրանք ունեն դրա սահմանափակումները, հատկապես էլեկտրական: Ինչ-որ բան, որը դուք պետք է հաշվի առնեք, որպեսզի տախտակը չփչացնեք, հիշելն է, որ այս GPIO քորոցները սովորաբար բաֆֆերացված չեն, այսինքն `առանց բուֆերի: Սա նշանակում է, որ դրանք պաշտպանություն չունեն, այնպես որ դուք պետք է վերահսկեք կիրառվող լարման և ինտենսիվության չափերը, որպեսզի չօգտագործեք անօգուտ ափսեով ...

GPIO տարբերակները տարբերակների միջեւ

Հին Raspberry Pi GPIO կապում

Ինչպես ասացի, ոչ բոլոր մոդելներն են նույն քորոցներըԱհա մի քանի դիագրամներ, որպեսզի դուք կարողանաք տեսնել տարբերությունները մոդելների միջև և այդպիսով կարողանաք կենտրոնանալ Raspberry Pi 4-ի և 3-ի վրա, որոնք ամենաթարմն են և հավանաբար ձեր ձեռքում գտնվողը: Այն տարբերվում է (յուրաքանչյուր խումբը կիսում է նույն քորոցը) ՝

  • Raspberry Pi 1 Model B Rev 1.0, 26 պինով, որը փոքր-ինչ տարբերվում է Rev2- ից:
  • Raspberry Pi 1 Model A and B Rev 2.0, երկուսն էլ մոդելներ ՝ 26 փականով:
  • Rapsberry Pi Model A +, B +, 2B, 3B, 3B +, Zero and Zero W, ինչպես նաև 4 մոդել: Բոլորն ունեն 40-փական GPIO վերնագիր:

Ի՞նչ կարող եմ միացնել GPIO- ներին:

Ազնվամորի պի գլխարկ

Դուք ոչ միայն կկարողանաք միացնել էլեկտրոնային սարքերը ինչպես տրանզիստորներ, խոնավության / ջերմաստիճանի տվիչներ, տերմիստորներ, stepper շարժիչներ, LEDsև այլն Կարող եք նաև միացնել բաղադրիչները կամ մոդուլները, որոնք ստեղծվել են հատուկ Raspberry Pi- ի համար և որոնք ընդլայնում են տախտակի հնարավորությունները բազայի մեջ ներառվածից այն կողմ:

Ես նկատի ունեմ հայտնիին գլխարկներ կամ գլխարկներ և ափսեներ, որոնք կարող եք գտնել շուկայում: Գոյություն ունեն բազմաթիվ տեսակների ՝ սկսած դրանցից, որոնք օգտագործվում են վարորդների հետ շարժիչները վերահսկելու համար, այլոց ՝ ստեղծելու համար հաշվողական կլաստերՀետ LED վահանակ վերահսկելի, ավելացնել DVB հեռուստատեսության հնարավորությունը, LCD էկրանԵւ այլն:

Այս գլխարկները կամ գլխարկները Դրանք տեղադրված են Raspberry Pi տախտակի վրա, դրա աշխատանքի համար անհրաժեշտ GPIO- ներին համապատասխանելը: Հետեւաբար, դրա հավաքումը բավականին պարզ է և արագ: Իհարկե, համոզվեք ափսեի տարբերակի վրա, որը համատեղելի է յուրաքանչյուր գլխարկի հետ, քանի որ GPIO պորտը տարբերվում է այնպես, ինչպես տեսել եք ...

Ես դա ասում եմ այն ​​դեպքում, եթե ավելի հին ափսե ունեք, քանի որ գլխարկներն էլ կան համատեղելի է միայն նորագույնի հետ, Ինչպես են Raspberry Pi Model A +, B +, 2, 3 և 4 մոդելները:

Ազնվամորի Pi- ի վրա GPIO- ի օգտագործման ներածություն

Pinout հրամանի ելքը

Աղբյուրը `Raspberry Pi

Սկսելու համար, Raspbian- ում, կարող եք բացել մխիթարիչը և մուտքագրել հրամանը pinoutԱյն, ինչը ձեզ կվերադարձնի, տերմինալի մեջ պատկեր է ՝ ձեր տախտակի վրա առկա GPIO քորոցներով, և թե ինչի համար է յուրաքանչյուրը: Մի շատ գործնական բան, որպեսզի այն միշտ առկա լինի աշխատանքի պահին, որպեսզի չխառնվեք:

Առաջին նախագիծ. GPIO- ների հետ LED լուսավորություն

Raspberry Pi- ի վրա LED- ով GPIO

Մի տեսակ պատրաստելու ամենահիմնական միջոցը «Ողջույն աշխարհ» ՝ GPIO– ներով օգտագործել պարզ LED, որը միացված է Raspberry Pi- ի քորոցներին, որպեսզի տեսնեք, թե ինչպես են դրանք աշխատում: Այս դեպքում ես այն միացրել եմ GND- ին, իսկ մյուսը `17-ի քորոցին, չնայած դուք կարող եք ընտրել սովորական քորոցներից մեկ այլ ...

Միացնելուց հետո կարող եք վերահսկել դրանք Raspbian- ից օգտագործելով տերմինալը: Linux- ում հատուկ ֆայլեր օգտագործվում են ինչպես / sys / class / gpio / գրացուցակում: Օրինակ ՝ ֆայլ ստեղծելու համար անհրաժեշտ կառուցվածքով գործը սկսելու համար.

echo 17 > /sys/class/gpio/export

Այդ դեպքում կարող ես կարգավորել որպես մուտք (ներ) կամ որպես ելք (դուրս) այդ քորոց 17-ն ընտրված է մեր օրինակի համար: Դուք կարող եք դա անել շատ հեշտությամբ ՝

echo out > /sys/class/gpio/gpio17/direction

Այս դեպքում `որպես ելք, քանի որ մենք ուզում ենք էլեկտրական զարկերակ ուղարկել LED- ին` այն միացնելու համար, բայց եթե դա լիներ ցուցիչ և այլն, ապա կարող էիր օգտագործել ներս: Հիմա ՝ միացնել (1) կամ անջատել (0) LED- ը, որը կարող եք օգտագործել.

echo 1 > /sys/class/gpio/gpio17/value
echo 0 > /sys/class/gpio/gpio17/value

Եթե ​​ցանկանում եք անցնել մեկ այլ ծրագրի և ջնջել մուտքը ստեղծված, դուք կարող եք դա անել այս կերպ.

echo 17 > /sys/class/gpio/unexport

Ի դեպ, կարող եք նաև հավաքել ձեր ծրագրի համար անհրաժեշտ բոլոր հրահանգները, ինչպես բոլոր նախորդները, դրանք պահպանել ֆայլի տեսակի մեջ bash գրություն և այնուհետև դրանք միանգամից կապոցներով գործեք ՝ մեկ առ մեկ մուտքագրելու փոխարեն: Սա հարմար է, երբ նույն վարժությունը բազմիցս եք կրկնում, այնպես որ ստիպված չեք լինի նորից գրել: Ուղղակի վազիր ու գնա: Օրինակ:

nano led.sh

#!/bin/bash
source gpio 
gpio mode 17 out
while true; do 
gpio write 17 1 
sleep 1.3 
gpio write 17 0 
sleep 1.3 done

Ավարտելուց հետո դուք պահպանում եք, ապա կարող եք դրան տալ համապատասխան կատարման և կատարման թույլտվություններ սցենարը LED- ի միացման համար սպասեք 1.3 վայրկյան և անջատեք այսպես օղակում ...

chmod +x led.sh
./led.sh

Ationրագրավորման նախօրոք

ծրագրավորման լեզվի կոդ

Ակնհայտ է, որ վերը նշվածն աշխատում է փոքր էլեկտրոնային նախագծերի համար ՝ բաղկացած մի քանի բաղադրիչներից, բայց եթե ուզում եք ավելի առաջադեմ բան ստեղծել, հրամանների փոխարեն, ապա այն, ինչ կարող եք օգտագործել, ծրագրավորման լեզուները կատարել տարբեր սցենարներ կամ աղբյուրային կոդեր, որոնք ավտոմատացնում են գործողությունը:

Դրանք կարող են օգտագործվել տարբեր գործիքներ ծրագրավորել, շատ տարբեր լեզուներով: Համայնքի կողմից մշակված գրադարանները ձեզ համար շատ ավելի հեշտացնում են գործերը, ինչպիսիք են WiringPi, sysfs, pigpio և այլն: Theրագրերը կարող են շատ բազմազան լինել `սկսած Python- ից, որը շատերի նախընտրելի տարբերակն է` Ruby- ի, Java- ի, Perl- ի, BASIC- ի և նույնիսկ C #- ի միջոցով:

Պաշտոնապես Raspberry Pi- ն առաջարկում է ձեզ շատ հարմարություններ ձեր GPIO- ները ծրագրավորելու համար, ինչպիսիք են.

  • ԷՀՄ - ի հիշողության 'մաքրումը'նրանց համար, ովքեր չգիտեն ինչպես ծրագրավորել և ցանկանում են օգտագործել այս նախագծի հանելուկային բլոկները, որոնց հետ կարելի է նաև ծրագրավորել Arduino- ն և այլն: Գրաֆիկական բլոկներով ծրագրավորումը բավականին ինտուիտիվ է և շատ գործնական ՝ կրթության ոլորտի համար:
  • Python. Այս պարզ մեկնաբանված ծրագրավորման լեզուն թույլ է տալիս ստեղծել պարզ և հզոր կոդեր, ձեր տրամադրության տակ գտնվող բազմաթիվ գրադարաններով ՝ կատարելու համար գրեթե այն ամենը, ինչ պատկերացնում եք:
  • C / C ++ / C #. Դրանք ավելի հզոր ծրագրավորման լեզուներ են ՝ երկուական համակարգ ստեղծելու համար, որոնց հետ համագործակցելու են GPIO– ների հետ: Դուք կարող եք դա անել մի քանի եղանակներով ՝ օգտագործելով ստանդարտ ձևը կամ միջուկի միջերեսը գրադարանի միջոցովլիբգիպոդ, այլ նաև երրորդ կողմի գրադարանի միջոցով, ինչպիսիք են խոզուկ.
  • Վերամշակում 3, նման է Arduino- ին:

Ընտրեք ճկուն մեկը, որն ամենից շատ դուր է գալիս կամ կարծում եք, որ պարզ է:


Հոդվածի բովանդակությունը հավատարիմ է մեր սկզբունքներին խմբագրական էթիկա, Սխալի մասին հաղորդելու համար կտտացրեք այստեղ.

2 մեկնաբանություն, թող ձերը

Թողեք ձեր մեկնաբանությունը

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու: Պահանջվող դաշտերը նշված են *

*

*

  1. Տվյալների համար պատասխանատու ՝ Միգել Անխել Գատոն
  2. Տվյալների նպատակը. Վերահսկել SPAM, մեկնաբանությունների կառավարում:
  3. Օրինականություն. Ձեր համաձայնությունը
  4. Տվյալների հաղորդագրություն. Տվյալները չեն փոխանցվի երրորդ անձանց, բացառությամբ իրավական պարտավորության:
  5. Տվյալների պահպանում. Տվյալների շտեմարան, որը հյուրընկալվում է Occentus Networks (EU) - ում
  6. Իրավունքներ. Timeանկացած պահի կարող եք սահմանափակել, վերականգնել և ջնջել ձեր տեղեկատվությունը:

  1.   Թշնամի ասաց

    Շատ գեղեցիկ հոդված Rasperry-ից սկսելու մասին

    1.    Isaac ասաց

      Շատ շնորհակալություն