Raspberry Pi GPIO-ийн аялал

01 - 09

Raspberry Pi's Pins-ийн танилцуулга

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

'GPIO' (Ердийн Зорилго Оролт Гаралтын) гэдэг үг нь Raspberry Pi-д хамаарахгүй. Оролт, гаралтын тээглүүрийг Arduino, Beaglebone гэх мэт ихэнх микрокомпьютер дээр олж болно.

GPIO-ийн талаар ярихдаа Raspberry Pi дээр бид зүүн дээд буланд байгаа урт блокуудын уртыг заана. Хуучин загварууд нь 26 голтой байсан ч бидний ихэнх нь одоогийн загварыг 40-тэй ашиглаж байна.

Та эдгээр эд ангиудын бүрэлдэхүүн хэсгүүд болон бусад тоног төхөөрөмжийн төхөөрөмжүүдийг холбож, юу хийж байгаагаа хянахын тулд код ашиглах боломжтой. Энэ нь Raspberry Pi-ийн чухал хэсэг бөгөөд электроникийн талаар сурах хамгийн сайн арга юм.

Хэд хэдэн програмын төслүүд хийсний дараа та тэдгээрийг "бодит амьдрал дээр" хийхэд тоног төхөөрөмжөөр кодоо холихыг хүсэх болно.

Хэрэв та шинэ дүр төрхтэй байгаа бол энэ үйл явц нь сүрдүүлэг байх болно, нэг хуурамч алхам таны Raspberry Pi гэмтээж болно гэж үздэг, энэ нь эхлэн судлах нь мэдрэлийн талбай нь ойлгомжтой юм.

Энэ нийтлэлд GPIO-ийн зүү бүрийн төрөл, хязгаарлалтууд юу болохыг тайлбарлах болно.

09 сарын 02

GPIO

GPIO тээглүүд нь 1-ээс 40 хүртэл дугаарлагдсан бөгөөд өөр өөр функцүүдэд бүлэглэж болно. Ричард Сэвилл

Эхлээд GPIO-ийг бүхэлд нь авч үзье. Торууд ижил байж болох боловч бүгд өөр өөр функцтэй байна. Дээрх зургуудыг эдгээр функцуудыг дараах алхмуудаар тайлбарлаж өгч байна.

Пин бүр нь доод талаас эхлэн 1-ээс 40 хүртэл дугаарлагдсан. Эдгээр нь физик тэмдэглэгээнүүд боловч, код бичихэд ашиглагддаг 'BCM' гэх мэт дугаарлах / шошготой конвенцууд байдаг.

03 - 09

Эрчим хүч ба Газар

Raspberry Pi олон тооны цахилгаан болон газрын тээглүүрийг санал болгодог. Ричард Сэвилл

Улаан өнгийн онцлон тэмдэглэсэн бол 3.3V эсвэл 5V-ийн хувьд '3' эсвэл '5' шошготой байна.

Эдгээр тээглүүр нь ямар ч кодын шаардлагагүйгээр төхөөрөмж рүү шууд цахилгааныг илгээх боломжийг танд олгодог. Эдгээрийг бүгдийг нь арилгах арга байхгүй.

2 вольтын цахилгаан үүсгүүртэй - 3.3 вольт ба 5 вольт. Энэ өгүүлэлд дурдсанаар, 3.3V төмөр зам нь 50mA гүйдлийн хөшүүрэгээр хязгаарлагддаг бол 5V төмөр зам нь Pi хэрэгцээгээ авсаны дараа ямар ч чадал нь үлдэж чаддаг.

Хүрэн хүрэн хөрс нь (GND) юм. Эдгээр тээглүүрүүд нь тэд ямар нэгэн электроникийн төслийн амин чухал хэсэг юм.

(5V GPIO тээглүүр нь физик тоо 2 ба 4). 3.3V GPIO тээглүүр нь 1, 17 гэсэн физик тоонууд юм. Газар GPIO тээглүүр нь 6, 9, 14, 20, 25, 30, 34 ба 39 тоонууд)

04-р сарын 09

Оруулах / Гаралтын Pins

Оролт болон гаралтын тээглүүр нь танд мэдрэгч, унтраалга зэрэг техник хангамжийг холбох боломжийг олгодог. Ричард Сэвилл

Ногоон тээглүүрүүд нь "ерөнхий" оролт / гаралтын холбоос гэж нэрлэдэг. Эдгээр нь I2C, SPI эсвэл UART зэрэг бусад функцуудтай зөрчилдөх талаар санаа зовохгүйгээр оролт, гаралтын хэлбэрээр хялбархан ашиглах боломжтой.

Эдгээр нь LED, дуугаралт, бусад бүрдэл хэсгүүдийг хүч дамжуулах чадвартай, эсвэл мэдрэгч, унтраалга эсвэл бусад оролтын төхөөрөмжийг унших оролт болгон ашиглаж болно.

Эдгээр голуудын гаралтын чадал нь 3.3V. Бүх зүү нь гүйдлийн 16mA -ээс хэтрэхгүй, залгих эсвэл эх үүсвэрээс гарна. Бүх GPIO тээглүүр нь ямар ч үед 50мА-аас ихгүй байна. Энэ нь хязгаарлагдмал байж болох тул та тодорхой төсөлд бүтээлч байх хэрэгтэй.

(GMIO тээглүүр нь 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-ийн хэрэглээний сайн жишээ бол хамгийн түгээмэл MCP23017 порт өргөтгөгч чип бөгөөд энэ нь I2C протоколоор дамжуулан илүү оролт / гаралтын тээгчийг өгөх болно.

(I2C GPIO тээглүүр нь физик зүү тоо 3, 5)

06-р сарын 09

UART (Цуваа)

Таны Pi-д UART тээглүүртэй цуваа холболтоор холбогдоно уу. Ричард Сэвилл

Саарал нь UART тээглүүр юм. Эдгээр тээглүүр нь цуваа холболтыг санал болгодог өөр ерөнхий протоколын протокол бөгөөд бас 'ерөнхий' GPIO оролт / гарцууд бас ашиглаж болно.

UART-д зориулсан миний дуртай хэрэглээ нь миний Pi-аас цуваа холболтыг USB-ээр дамжуулан миний зөөврийн компьютерийг идэвхжүүлэх явдал юм. Үүнийг нэмэлтээр самбар эсвэл энгийн кабелиар хангаж, таны Pi-д хандахын тулд дэлгэц эсвэл интернетийн холболт хийх хэрэгцээг арилгаж болно.

(UART GPIO тээглүүр нь физик зүү тоо 8 ба 10)

09-р сарын 07

ТПИ зүү

SPI Pins - өөр нэг ашигтай холбооны протокол. Ричард Сэвилл

Ягаан өнгийн , бид SPI-ийн зүү байдаг. SPI нь Pi болон бусад техник хангамж / захын хооронд өгөгдөл илгээдэг интерфэйс шугам юм. Энэ нь LED матриц эсвэл дэлгэц зэрэг төхөөрөмжүүдийг гинжлэхэд хэрэглэгддэг.

Бусадтай адил эдгээр тээглүүр нь 'ердийн' GPIO оролт / гарцыг бас ашиглаж болно.

(SPI GPIO тээглүүр нь 19, 21, 23, 24 ба 26 гэсэн физик зүү тоо)

08-ийн 08

DNC Pins

Энд харах зүйл байхгүй - DNC тээглүүр нь ямар ч функцээр үйлчилдэггүй. Ричард Сэвилл

Эцэст нь хөх хоёр хошуу нь одоогоор DNC гэж тэмдэглэгдсэн бөгөөд 'Do not Connect' гэсэн нэртэй байдаг. Raspberry Pi сан нь самбар / програм хангамжийг өөрчлөхөд ирээдүйд өөрчлөгдөж болно.

(DNC GPIO тээглүүр нь физик зүү тоо 27 ба 28)

09-р сарын 09

GPIO дугаарлах конвенцууд

Portsplus нь GPIO pin тоог шалгахад тохиромжтой хэрэгсэл юм. Ричард Сэвилл

GPIO-тай кодолж байхдаа GPIO санг импортлож авах сонголт нь BCM эсвэл BOARD гэсэн хоёр аргын аль нэгээр шийдэж болно.

Миний таалагдах сонголт бол GPIO BCM юм. Энэ бол Broadcom дугаарлалтын конвенц бөгөөд энэ нь төслүүд болон тоног төхөөрөмжийн нэмэгдлүүдийн хооронд өргөн хэрэглэгддэг болохыг олж мэднэ.

Хоёр дахь хувилбар бол GPIO BOARD. Энэ арга нь физик пин дугааруудыг ашигладаг, энэ нь зүгээр л тоолох үед амархан байдаг, гэхдээ энэ нь төслийн жишээн дээр бага ашиглагддаг болохыг олж мэднэ.

GPIO горимыг GPIO сангаас импорт хийх үед тохируулсан:

МБЗ-ээр импорт хийх:

импортын RPi.GPIO нь GPIO GPIO.setmode (GPIO.BCM)

BOARD хэлбэрээр импорт хийх:

импортын RPi.GPIO GPIO GPIO.setmode (GPIO.BOARD)

Эдгээр хоёр арга нь яг ижил ажил хийдэг, энэ нь зүгээр л дугаарлах давуу эрхийн асуудал юм.

Би яг одоо RasPiO Portsplus (зурган дээр байгаа) GPIO шошготой хавтангуудыг тогтмол ашигладаг. Нэг тал нь МБЗ-ийн дугаарлалтын концепцийг харуулж байгаа бөгөөд бусад нь BOARD-г харуулж байгаа тул та олсон аливаа төсөлтэй танилцах болно.