GPIO: Raspberry Pi 4 жана 3 байланыштары жөнүндө

Raspberry Pi 4 GPIO

The Raspberry Pi 4 тактасынын GPIO казыктары, 3, ошондой эле анын мурункулары, SBC тактасына Arduino ээ болгон мүмкүнчүлүктөргө окшош мүмкүнчүлүктөрдү беришет, анткени алар менен ар кандай тилдерде, мисалы, Python сыяктуу коддордун жардамы менен, операциялык тутумдан башкарылган абдан кызыктуу электрондук долбоорлорду түзө аласыз.

Андыктан такта арзан компьютерден дагы көптү түзөт. Бул сизге көптөгөн адамдарды туташтырууга мүмкүндүк берет электрондук элементтер Arduino менен колдонсоңуз болот, бирок аны Pi дан көзөмөлдөсөңүз болот. Бул колдонмодо мен сизге бул GPIO төөнөгүчтөрү жөнүндө мүмкүн болушунча көбүрөөк маалымат берүүгө аракет кылам, ошондо алардын артыкчылыктарын колдоно баштайсыз ...

GPIO деген эмне?

GPIO

GPIO Жалпы Максаттуу Киргизүү / Чыгуунун кыскартылышы, б.а. Жалпы Максаттуу Кирүү / Чыгуу. Ар кандай электрондук өнүмдөрдө, мисалы, чиптердин өзүндө же ушул Raspberry Pi сыяктуу айрым ПКБ такталарында болушу мүмкүн. Алардын аталышынан көрүнүп тургандай, алар ар кандай функцияларды аткарууга конфигурацияланган төөнөгүчтөр, ошондуктан алар белгилүү бир максат үчүн эмес, жалпы максат болуп саналат.

Бул иштей турган колдонуучу болот бул GPIO төөнөгүчтөрүн конфигурациялаңыз Ошентип, алар анын каалаганын аткарышат. Аны ар кандай жолдор менен жасоого болот, мисалы консолдун айрым коддору же сценарийлери же Python программасы, бул сиздин колуңузда болгон варианттардын көптүгүнө байланыштуу эң жөнөкөй жана артыкчылыктуу жолдордун бири.

Ушундай жол менен, Raspberry Pi порттордун катарына гана ээ эмес кошки бир нече стандарттуу шаймандарды туташтыруу үчүн, бирок өзүңүз түзгөн башка электрондук шаймандарды же долбоорлорду кошуу үчүн, ушул GPIO төөнөгүчтөрүн кошуңуз. Ошол сыяктуу эле, Arduino жана анын I / O түйүндөрүн көзөмөлдөө үчүн колдонсоңуз болот.

Y Arduino же Raspberry Pi үчүн эксклюзивдүү эмес, ошондой эле ушул сыяктуу башка SBC такталары жана камтылган өнүмдөр.

GPIO функциялары

Жана ортосунда her CARACTERISTICS эң көрүнүктүү:

  • Алар мүмкүн конфигурацияланган Танто чыгаруу катары киргизүү катары. Аларда болгондой эле, аларда эки жактуулук бар Ардуино.
  • GPIO төөнөгүчтөрү дагы иштетсе болот жана өчүрсө болот код боюнча. Башкача айтканда, аларды 1 (жогорку чыңалуу деңгээли) же 0 (төмөнкү чыңалуу деңгээли) деп койсо болот.
  • Албетте, алар кыла алышат экилик маалыматтарды окуу, нөл жана нөл сыяктуу, башкача айтканда, чыңалуу сигналы же анын жоктугу.
  • Чыгуунун мааниси Окуу жана жазуу.
  • Киргизилген маанилер айрым учурларда төмөнкүдөй конфигурацияланат окуялар ошондуктан алар тактада же тутумда кандайдыр бир аракеттерди жаратышат. Айрым камтылган тутумдар аларды IRQ катары колдонушат. Дагы бир жагдай, бир же бир нече төөнөгүч кээ бир сенсорлор тарабынан иштей турган болсо, кандайдыр бир аракетти аткара тургандыгын ...
  • Ал эми чыңалуу жана интенсивдүүлүк боюнча, сиз тактага ылайыктуу максималдуу сыйымдуулукту жакшы билишиңиз керек, бул учурда Raspberry Pi 4 же 3. Ага зыян келтирбөө үчүн аларды өткөрүп жибербеңиз.

Баса, Raspberry Pi сыяктуу эле, GPIO төөнөгүчтөр тобу топтолгондо, топ төмөнкүдөй белгилүү: GPIO порт.

Raspberry Piдин GPIO төөнөгүчтөрү

Raspberry Pi GPIO

Схема 4, 3, Zero үчүн жарактуу

жаңы Raspberry Pi 4 такталары жана 3-версия Алар көп сандагы GPIO төөнөгүчтөрү менен жабдылган. Бардык версиялар бирдей көлөмдө сунушталбайт, ошондой эле бирдей номерленбейт, андыктан сизде бар моделге жана ревизияга ылайык байланышты кантип жасаш керектигин билүү үчүн этият болуңуз.

Бирок жалпы нерсе - бул Raspberry Pi тактасынын портунан тапкан GPIO түрлөрү. Мен так айткым келген биринчи нерсе ушул болот, анткени сен ошону билесиң казыктардын түрлөрү сиз долбоорлоруңузга ишенсеңиз болот:

  • тамактандыруу: бул төөнөгүчтөр электр линияларын же электр зымдарын туташтыруу үчүн колдонулат. Алар Arduino тактасына окшош, 5v жана 3v3 чыңалуусун камсыз кылган төөнөгүчтөргө туура келет (3.3v 50mA жүк менен чектелген). Мындан тышкары, жерди таба аласыз (GND же Ground). Эгерде сиз батареяларды же адаптерлер сыяктуу тышкы кубат булактарын колдонбосоңуз, анда бул сайгычтар чынжырыңызды кубаттоо үчүн чоң жардам берет.
  • DNC (туташпоо): алар кээ бир версияларда болгон жана эч кандай функциясы жок, бирок жаңы такталарда аларга башка максат берилген пиндер. Буларды Пинин примитивдүү моделдеринен гана таба аласыз. Жаңы 3 жана 4дө алар мурунку топко интеграцияланып, жалпысынан GND деп белгиленет.
  • Конфигурацияланган төөнөгүчтөр: алар кадимки GPIO жана алар сизге керектүү нерселерди жасаш үчүн кийинчерээк түшүндүрүп берем деп коддору боюнча программаланган болот.
  • Атайын төөнөгүчтөр: бул атайын байланыштарга же UART, TXD жана RXD сериялык байланыштарга ж.б.у.с. арналган Arduino менен байланышкан байланыштар. SDA, SCL, MOSI, MISO, SCLK, CE0, CE1 ж.б.у.с. Алар алардын арасында өзгөчө болушат:
    • Сеул, мурунку макалада көргөндөй, импульстун туурасын жөнгө сала алат. 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, Rev26ден бир аз айырмаланып турган 2 пин менен.
  • Raspberry Pi 1 модели A жана B Rev 2.0, экөө тең 26 сайлуу.
  • Rapsberry Pi Model A +, B +, 2B, 3B, 3B +, Zero жана Zero W, ошондой эле 4 модель, алардын бардыгы 40 пиндик GPIO баш менен.

GPIO'лорго эмне туташтырсам болот?

Raspberry Pi шляпасы

Сиз гана кыла албайсыз электрондук шаймандарды туташтыруу Кой транзисторлор, нымдуулук / температура сенсорлору, термисторлор, stepper моторлору, Диоддордон, жана башкалар. Raspberry Pi үчүн атайын түзүлгөн жана тактанын мүмкүнчүлүктөрүн кеңейтилген компоненттерди же модулдарды туташтыра аласыз.

Мен атактуу кишини айтып жатам калпак же баш кийим жана базардан таба турган плиталар. Көп түрлөрү бар, айдоочулар менен кыймылдаткычтарын башкаруу үчүн колдонулган, башкалар түзүү үчүн эсептөө кластерименен LED панели кошууга болот DVB TV мүмкүнчүлүгү, LCD экраны, Etc.

Бул калпак же баш кийим Алар Raspberry Pi тактасына орнотулган, анын иштеши үчүн зарыл болгон GPIO'дорду дал келтирүү. Ошондуктан, анын куралышы кыйла жөнөкөй жана тез. Албетте, ар бир шляпага туура келген табакчанын версиясын текшериңиз, анткени GPIO порту сиз көргөндөй башкача ...

Эгер сизде эски табак бар болсо, муну айтам, анткени баш кийимдер жаңыларына гана шайкеш келет. Raspberry Pi модели A +, B +, 2, 3 жана 4 моделдери сыяктуу.

Raspberry Piде GPIO колдонууга киришүү

Pinout command output

Маалымат булагы: Raspberry Pi

Баштоо үчүн, Raspbianда сиз консолду ачып, тере аласыз буйрук кадап чыгыпАл сизге кайтып келе турган нерсе - бул сиздин терминалда GPIO төөнөгүчтөрү бар жана алардын ар бири эмнеге арналган сүрөт. Адатта, иштин көзүн ачып албашыңыз үчүн, иш жүзүндө колдонула турган бир нерсе.

Биринчи долбоор: GPIO менен светодиодду күйгүзүү

Raspberry Piде LED менен орнотулган GPIO

Түрүн жасоонун эң негизги жолу GPIO менен "Салам дүйнө" Raspberry Pi сайгычтарына туташкан жөнөкөй LED колдонуп, алардын иштешин көрө аласыз. Бул учурда мен аны GNDге, экинчисин 17-пинге туташтырдым, бирок кадимки төөнөгүчтүн дагы бирин тандап алсаңыз болот ...

Бир жолу туташып алсаңыз болот аларды Raspbianдан башкарыңыз терминалды пайдалануу. Linux тутумунда, / sys / class / gpio / каталогундагыдай белгилүү файлдар колдонулат. Мисалы, иштей баштоо үчүн керектүү түзүмү бар файлды түзүү:

echo 17 > /sys/class/gpio/export

Анда сиз жасай аласыз киргизүү (кирүү) же чыгуу (чыгуу) катары конфигурациялоо биздин мисал үчүн тандалган 17-пин. Муну сиз оңой эле жасай аласыз:

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

Мындай учурда, электр кубатын күйгүзүү үчүн диодго электр энергиясын жөнөтүүнү каалайбыз, бирок ал сенсор ж.б. болсо, сиз колдонсоңуз болот. Азыр үчүн күйгүзүү (1) же өчүрүү (0) сиз колдоно аласыз LED:

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

Эгер сиз башка долбоорго өтүүнү кааласаңыз жана жазууну жок кылуу түзүлгөн, сиз муну мындай жол менен жасай аласыз:

echo 17 > /sys/class/gpio/unexport

Баса, буга чейинкилер сыяктуу эле, сиз дагы долбоорго керектүү буйруктарды чогултуп, файл түрүндө сактай аласыз баш сценарийи анан аларды бир-бирден терүүнүн ордуна, аларды бир заматта таңгак кылып иштетип коюңуз. Бул бир эле көнүгүүнү көп жолу кайталаганда ыңгайлуу, андыктан кайра жазуунун кажети жок. Жөн эле чуркап жөнө. Мисалы:

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

Бүткөндөн кийин, сиз үнөмдөп, андан кийин ага тиешелүү уруксатты жана уруксатты бере аласыз сценарий светодиод күйгүзүлүшү үчүн, 1.3 секунд күтүп туруп, укурук менен ушинтип өчүрүңүз ...

chmod +x led.sh
./led.sh

Программаны илгерилетүү

программалоо тилинин баштапкы коду

Албетте, жогоруда айтылгандар бир нече компоненттери бар чакан электрондук долбоорлор үчүн иштейт, бирок буйруктардын ордуна бир кыйла өнүккөн нерсени жаратууну кааласаңыз, анда эмне колдонсо болот? программалоо тилдери операцияны автоматташтыруучу ар кандай скрипттерди же баштапкы коддорду жасоого.

Алар колдонсо болот ар кандай аспаптар программалоо, ар кандай тилдерде. Коомчулук иштеп чыккан китепканалар WiringPi, sysfs, pigpio ж.б. Программалар Ruby, Java, Perl, BASIC, ал тургай C # аркылуу көпчүлүктүн артыкчылыктуу варианты болгон Pythonдон баштап, ар кандай болушу мүмкүн.

Raspberry Pi сизге расмий түрдө сунуштайт көптөгөн объектилер GPIO'лоруңузду программалоо үчүн, мисалы:

  • чийилген так, программалоону билбегендер жана Arduino программалаштырыла турган ушул долбоордун табышмак блокторун колдонууну каалагандар ж.б. Графикалык блоктор менен программалоо интуитивдүү жана билим берүү чөйрөсү үчүн өтө практикалык.
  • Python: Бул жөнөкөй чечмеленген программалоо тили сизге жөнөкөй жана күчтүү коддорду түзүүгө мүмкүндүк берет, сиздин колуңузда көптөгөн китепканалар бар, сиз элестеткендин дээрлик бардыгын жасай аласыз.
  • C / C ++ / C #: GPIO менен иштешүү үчүн бинардык программаларды түзүү үчүн күчтүү программалоо тилдери. Сиз китепкана аркылуу стандарттуу форма же ядро ​​интерфейсин колдонуп, бир нече жол менен жасай аласызlibgpiod, ошондой эле үчүнчү жактын китепканасы аркылуу пигио.
  • 3. Иштетүү, Arduino окшош.

Ийкемдүү тандаңыз сизге эң жаккан же жөнөкөй деп эсептеген адам.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

2 комментарий, өзүңүздүкүн калтырыңыз

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.

  1.   Фоу ал мындай деди:

    Rasperryден баштоо жөнүндө абдан жакшы макала

    1.    Ыскак ал мындай деди:

      Чон рахмат.