GPIO: усё пра злучэнні Raspberry Pi 4 і 3

Raspberry Pi 4 GPIO

Л GPIO штыфты платы Raspberry Pi 4, 3, а таксама яго папярэднікі прадастаўляюць плаце SBC магчымасці, аналагічныя тым, якія можа мець Arduino, бо з іх дапамогай вы можаце ствараць вельмі цікавыя электронныя праекты, кіраваныя з аперацыйнай сістэмы, з дапамогай кода на розных мовах, такіх як Python.

Гэта робіць плату не проста танным кампутарам. Гэта дазволіць вам падключыць мноства электронныя элементы што вы можаце выкарыстоўваць з Arduino, але гэтым таксама можна кіраваць з Pi. У гэтым кіраўніцтве я паспрабую даць вам як мага больш інфармацыі пра гэтыя шпількі GPIO, каб вы маглі пачаць імі карыстацца ...

Што такое GPIO?

GPIO

GPIO гэта абрэвіятура агульнага прызначэння ўводу / высновы, гэта значыць агульнага прызначэння ўводу / высновы. У ім могуць быць розныя электронныя прадукты, такія як самі чыпы альбо пэўныя платы друкаваных плат, такія як 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.

Штыфты GPIO Raspberry Pi

Raspberry Pi GPIO

Схема дзейнічае для версій 4, 3, Zero

Новыя Платы Raspberry Pi 4 і версія 3 Яны абсталяваны вялікай колькасцю кантактаў GPIO. Не ўсе версіі прапануюць аднолькавую колькасць і не нумаруюцца аднолькава, таму трэба быць асцярожным, каб добра ведаць, як вы павінны злучыць мадэль і рэдакцыю.

Але больш агульным з'яўляецца тып GPIO, які можна знайсці ў порце плат Raspberry Pi. І гэта будзе першае, што я хацеў бы даць зразумець, бо менавіта так вы будзеце ведаць віды шпілек вы можаце разлічваць на свае праекты:

  • гадаваннеГэтыя высновы выкарыстоўваюцца для падлучэння ліній электраперадач або праводкі для вашых электронных праектаў. Яны адпавядаюць штыфтам, аналагічным штырькам на плаце Arduino, і якія забяспечваюць напружанне 5v і 3v3 (3.3v абмежавана да нагрузкі 50мА). Акрамя таго, вы таксама знойдзеце наземныя (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 Data (GPIO0) і EEPROM Clock (GPIO1).
    • Паслядоўны, яшчэ адна вельмі практычная сувязь з штыфтамі TX (GPIO14) і RX (GPIO15), падобнымі на тыя, якія вы можаце знайсці на плаце Arduino UNO.

Памятаеце, што GPIO з'яўляюцца інтэрфейсам паміж Raspberry Pi і знешнім светам, але яны ёсць яго абмежаванні, асабліва электрычныя. Тое, што вы павінны прыняць да ўвагі, каб не сапсаваць дошку, гэта памятаць, што гэтыя штыфты GPIO звычайна не буферызаваныя, гэта значыць без буфера. Гэта азначае, што яны не маюць абароны, таму вы павінны сачыць за велічынямі напружання і напружанасці, якія прымяняюцца, каб не апынуцца бескарыснай пласцінай ...

GPIO адрозненні паміж версіямі

Старыя шпількі Raspberry Pi GPIO

Як я сказаў, не ўсе мадэлі аднолькавыя шпількіВось некалькі дыяграм, каб вы маглі бачыць адрозненні паміж мадэлямі і, такім чынам, мець магчымасць засяродзіцца на Raspberry Pi 4 і 3, якія з'яўляюцца самымі новымі і тымі, якія, верагодна, ёсць у цябе. Ён адрозніваецца (ва ўсіх груп аднолькавыя шпількі):

  • Raspberry Pi 1 Мадэль B Rev 1.0, з 26-кантактным трохі адрозніваецца ад Rev2.
  • Raspberry Pi 1 Мадэлі A і B Rev 2.0, абедзве мадэлі з 26-кантактным.
  • Мадэлі Rapsberry Pi A +, B +, 2B, 3B, 3B +, Zero і Zero W, а таксама 4 мадэлі, усе з 40-кантактным загалоўкам GPIO.

Што я магу падключыць да GPIO?

Шапка Raspberry Pi

Вы не толькі зможаце падключаць электронныя прылады у якасці транзістары, датчыкі вільготнасці / тэмпературы, тэрмісторы, крокавыя рухавікі, Святлодыёдыі г.д. Вы таксама можаце падключыць кампаненты або модулі, створаныя спецыяльна для Raspberry Pi, якія пашыраюць магчымасці платы за рамкі таго, што ўваходзіць у аснову.

Я маю на ўвазе вядомых шапкі альбо шапкі і талеркі, якія можна знайсці на рынку. Ёсць шмат тыпаў, ад тых, якія выкарыстоўваюцца для кіравання рухавікамі з драйверамі, да іншых, якія ствараюцца вылічальны кластар, з Святлодыёдная панэль кіраваны, дадаць Магчымасць DVB TV, ВК-экран, І г.д.

Гэтыя шапкі альбо шапкі Яны ўсталяваны на плаце Raspberry Pi, адпаведнасць GPIO, неабходных для яго працы. Таму яго зборка досыць простая і хуткая. Зразумела, пераканайцеся ў версіі пласціны, сумяшчальнай з кожнай шапкай, бо порт GPIO адрозніваецца, як вы бачылі ...

Я кажу гэта на выпадак, калі ў вас старая талерка, бо капялюшы ёсць сумяшчальны толькі з найноўшымі. Як і мадэлі Raspberry Pi мадэляў A +, B +, 2, 3 і 4.

Увядзенне ў выкарыстанні GPIO на Raspberry Pi

Выснова каманды вываду

Крыніца: Raspberry Pi

Для пачатку на Raspbian вы можаце адкрыць кансоль і ўвесці тэкст каманда цоколевкаШто ён верне вам, гэта выява ў тэрмінале са штыфтамі GPIO, даступнымі на вашай плаце, і для чаго прызначаны кожны з іх. Штосьці вельмі практычнае, каб ён заўсёды прысутнічаў у момант працы, каб вы не разгубіліся.

Першы праект: мігценне святлодыёда з GPIO

GPIO са святлодыёдам на Raspberry Pi

Самы асноўны спосаб зрабіць выгляд "Прывітанне, свет" з GPIO заключаецца ў выкарыстанні простага святлодыёда, падлучанага да штыфтоў Raspberry Pi, каб вы маглі бачыць, як яны працуюць. У гэтым выпадку я падключыў яго да GND, а другі да штыфта 17, хоць вы можаце выбраць іншы з звычайных штыфтоў ...

Пасля падлучэння вы можаце кіраваць імі з Raspbian выкарыстанне тэрмінала. У Linux выкарыстоўваюцца пэўныя файлы, такія як у каталогу / sys / class / gpio /. Напрыклад, каб стварыць файл з неабходнай структурай, каб пачаць працаваць:

echo 17 > /sys/class/gpio/export

Тады можна наладзіць як уваход (уваход) альбо як выхад (выхад) той штыфт 17, абраны для нашага прыкладу. Вы можаце зрабіць гэта вельмі лёгка з дапамогай:

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

У гэтым выпадку ў якасці выхаду, паколькі мы хочам адправіць электрычны імпульс на святлодыёд, каб уключыць яго, але калі гэта быў датчык і г.д., вы маглі б выкарыстоўваць. Зараз для уключыць (1) або выключыць (0) святлодыёд, які вы можаце выкарыстоўваць:

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

Пасля завяршэння вы захоўваеце, а потым можаце даць яму адпаведныя дазволы на выкананне і выкананне скрыпт для таго, каб святлодыёд уключыўся, пачакайце 1.3 секунды і выключыце так у цыкле ...

chmod +x led.sh
./led.sh

Загадзя праграмацыя

зыходны код мовы праграмавання

Відавочна, што вышэйсказанае працуе для невялікіх электронных праектаў з невялікай колькасцю кампанентаў, але калі вы хочаце стварыць нешта больш прасунутае, замест каманд, што вы можаце выкарыстоўваць, мовы праграмавання для стварэння розных сцэнарыяў ці зыходных кодаў, якія аўтаматызуюць працу.

Імі можна карыстацца розныя інструменты праграмаваць на самых розных мовах. Бібліятэкі, якія распрацавала суполка, значна палягчаюць для вас такія рэчы, як WiringPi, sysfs, pigpio і г.д. Праграмы могуць быць самымі рознымі - ад Python, які з'яўляецца найбольш пераважным варыянтам для многіх, да Ruby, Java, Perl, BASIC і нават C #.

Афіцыйна Raspberry Pi прапануе вам шмат аб'ектаў для праграмавання GPIO, такіх як:

  • Драпіна, для тых, хто не ведае, як праграмаваць і хоча выкарыстоўваць блокі галаваломкі гэтага праекта, з дапамогай якіх таксама можна запраграмаваць Arduino і г.д. Праграмаванне з дапамогай графічных блокаў досыць інтуітыўна і вельмі практычна для сферы адукацыі.
  • Пітон: Гэты просты інтэрпрэтаваны мова праграмавання дазваляе ствараць простыя і магутныя коды з мноствам бібліятэк у вашым распараджэнні, каб рабіць амаль усё, што вы сабе ўяўляеце.
  • C / C ++ / C #: яны больш магутныя мовы праграмавання для стварэння бінарных файлаў, з якімі можна ўзаемадзейнічаць з GPIO. Вы можаце зрабіць гэта некалькімі спосабамі, выкарыстоўваючы стандартную форму альбо інтэрфейс ядра праз бібліятэкуlibgpiod, але таксама праз незалежную бібліятэку, такую ​​як пігіё.
  • Апрацоўка3, падобна на Arduino.

Выбірайце гнутка той, які вам больш за ўсё падабаецца, альбо вы лічыце простым.


Змест артыкула адпавядае нашым прынцыпам рэдакцыйная этыка. Каб паведаміць пра памылку, націсніце тут.

2 каментарыяў, пакіньце свой

Пакіньце свой каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаныя *

*

*

  1. Адказны за дадзеныя: Мігель Анхель Гатон
  2. Прызначэнне дадзеных: Кантроль спаму, кіраванне каментарыямі.
  3. Легітымнасць: ваша згода
  4. Перадача дадзеных: Дадзеныя не будуць перададзены трэцім асобам, за выключэннем юрыдычных абавязкаў.
  5. Захоўванне дадзеных: База дадзеных, размешчаная Occentus Networks (ЕС)
  6. Правы: у любы час вы можаце абмежаваць, аднавіць і выдаліць сваю інфармацыю.

  1.   Вораг сказаў

    Вельмі добры артыкул пра пачатак працы ў Rasperry

    1.    Ісаак сказаў

      Вялікае дзякуй.