Raspberry Pi GPIO turu

01/09

Raspberry Pi nin Pinsə Giriş

The Morpberry Pi GPIO. Richard Saville

"GPIO" termini (Ümumi Nasoslu Giriş Çıxışı) Raspberry Pi-ə xüsusi deyildir. Giriş və çıxış pinləri Arduino, Beaglebone və daha çox kimi microcontrollers ən çox tapa bilərsiniz.

GPIO haqqında Raspberry Pi ilə danışarkən, boardun sol üst köşesindəki uzun sancaqlar blokuna istinad edirik. Köhnə modellərdə 26 pin var idi, lakin əksəriyyətimiz 40-a yaxın bir model hazırlayacaq.

Komponentləri və digər avadanlıqları bu pinlərə qoşa və nə etdiklərini nəzarət etmək üçün kodu istifadə edə bilərsiniz. Bu Raspberry Pinin əhəmiyyətli bir hissəsidir və elektronikanın öyrənilməsinin əla bir yoludur.

Bir neçə proqram layihəsindən sonra, ehtimal ki, özünüzü "real həyatda" baş vermək üçün kodunuzu donanma ilə qarışdırmaq istəyən özünüzü bu pinlərlə sınaqdan keçirəcəksiniz.

Səhnəyə yeni baxırsınızsa, bu proses qorxuducu ola bilər və bir yanlış hərəkət Morpberry Pi-yə zərər verə biləcəyini nəzərə alsaq, yeni başlayanlar üçün tədqiq etmək üçün sinir sahəsi var.

Bu yazıda GPIO pinlərinin hər bir növü və onların məhdudiyyətləri barədə məlumat veriləcəkdir.

02/09

GPIO

GPIO pinləri 1-dən 40-a qədər nömrələnir və müxtəlif funksiyalar çərçivəsində qruplaşdırıla bilər. Richard Saville

Birincisi, GPIO-a bütöv bir nəzər salaq. İplər eyni görünə bilər, lakin onların hamısı müxtəlif funksiyaları var. Yuxarıdakı şəkil bu funksiyaları müxtəlif rənglərdə göstərir və aşağıdakı addımlarda izah edəcəyik.

Hər bir pin aşağı soldan başlayaraq 1-dən 40-dək saylıdır. Bunlar fiziki pin nömrələridir, lakin kod yazarkən istifadə edilən "BCM" kimi nömrə / etiketləmə konvensiyaları da var.

03 09

Power & Ground

Raspberry Pi bir çox güc və yer sancağı təklif edir. Richard Saville

Vurgulanan qırmızı, 3.3V və ya 5V üçün '3' və ya '5' etiketli güc siqnallarıdır.

Bu sancaqlar heç bir kodun tələb olunmadan birbaşa bir cihaza güc göndərməyə imkan verir. Onu da buraxmağın bir yolu yoxdur.

2 ədəd elektrik ötürücüsü - 3,3 volt və 5 voltdur. Bu yazıya görə, Pi, lazım olanı aldıqdan sonra, 3.3V dəmir yolu 50mA cari halqası ilə məhdudlaşır, 5V dəmir yolu isə elektrik enerjisindən nə qədər cari potensialı təmin edə bilər.

Vurgulu qəhvəyi yer sancaqlardır (GND). Hər bir elektronik layihənin vacib bir hissəsi olan bu pinlər dəqiq dedikləri - yer sancaqlardır.

(5V GPIO pinləri fiziki nömrə 2 və 4dir. 3.3V GPIO pinləri 1 və 17 fiziki nömrələrdir. Yer GPIO pinləri 6, 9, 14, 20, 25, 30, 34 və 39 fiziki nömrələrdir)

04/09

Giriş / Çıxış pinləri

Giriş və çıxış pinləri sensorlar və açarları kimi birləşdirməyə imkan verir. Richard Saville

Yaşıl pinlər 'ümumi' giriş / çıxış pinləri deyirəm. Bunlar asanlıqla I2C, SPI və ya UART kimi digər funksiyalarla qarşılaşmaqla əlaqədar narahatlıq olmadan giriş və ya çıxış kimi istifadə edilə bilər.

Bunlar bir LED, buzzer və ya digər komponentlərə güc göndərə bilən və ya sensorları, açarları və ya digər giriş cihazlarını oxumaq üçün giriş kimi istifadə edilə bilən sancaqlardır.

Bu iğnelerin çıxış gücü 3.3V'dir. Hər bir pin 16 mA-dan artıq olmamalıdır, batma və ya qaynaqlıdır və bütün GPIO pinləri hər hansı bir zamanda 50mA-dan artıq olmamalıdır. Bu məhdudlaşdırıcı ola bilər, buna görə müəyyən layihələrdə yaradıcılıq əldə etmək məcburiyyətindəsiniz.

(Generic GPIO pinləri 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 və 40)

05/09

I2C Pins

I2C, siqnalizasiya aparan bir neçə cihazla Pi-yə digər cihazları birləşdirməyə imkan verir. Richard Saville

Sarı rəngdə I2C pinləri var. I2C sadə bir şəkildə cihazların Raspberry Pi ilə ünsiyyət qurmasına imkan verən bir rabitə protokolu. Bu pinlər 'ümumi' GPIO pinləri kimi də istifadə edilə bilər.

I2C-dən istifadə etmək üçün yaxşı bir nümunə bu I2C protokolu ilə daha çox giriş / çıxış pinlərini verə biləcək çox məşhur MCP23017 port genişləndirici çipdir.

(I2C GPIO pinləri fiziki pin nömrələri 3 və 5)

06-dan 09-dək

UART (Serial) Pins

UART sancaqlar ilə serial bağlantısı üzərində Pi-yə qoşulun. Richard Saville

Bozda, UART sancaqlardır. Bu pinlər serial əlaqələri təklif edən və həmçinin "ümumi" GPIO girişləri / çıxışları kimi istifadə edilə bilən digər bir kommunikasiya protokudur.

UART üçün mənim sevimli istifadə etdiyim, Pi-dən mənim dizüstümə USB-də bir sıra keçid təmin etməkdir. Bu əlavə lövhələr və ya sadə kabellər vasitəsilə əldə edilə bilər və Pi-ə daxil olmaq üçün ekran və ya internet bağlantısı ehtiyacını aradan qaldırır.

(UART GPIO pinləri fiziki pin nömrələri 8 və 10)

07-də ​​09

SPI Pins

SPI Pins - başqa faydalı kommunikasiya protokolu. Richard Saville

Çəhrayı , SPİ sancaqlar var. SPI, Pi və digər hardware / çevre birimleri arasında məlumatlar göndərən bir interfeys avtobusu. Tez-tez bir LED matrisi və ya ekran kimi qurğulara zəncirləmə üçün istifadə olunur.

Digərləri kimi, bu pinlər də "ümumi" GPIO giriş və çıxışları kimi istifadə edilə bilər.

(SPI GPIO pinləri fiziki pin nömrələri 19, 21, 23, 24 və 26)

08-də 09

DNC Pins

Burada görmək üçün heç bir şey yoxdur - DNC pinləri heç bir funksiya vermir. Richard Saville

Son olaraq, mavi olan iki pin var ki, hazırda DNC olaraq "Bağlanmayın" deyilir. Raspberry Pi Fondu lövhələri / proqramını dəyişdirsə, bu gələcəkdə dəyişə bilər.

(DNC GPIO pinləri fiziki pin sayıları 27 və 28)

09/09

GPIO Numaralandırma Konvensiyaları

Portsplus, GPIO pin nömrələrini yoxlamaq üçün lazımlı bir vasitədir. Richard Saville

GPIO ilə kodlaşdırdıqda, GPIO kitabxanasını İki yoldan birini - BCM və ya BOARD-dan idxal etmək seçkiniz var.

Tercih etdiyim seçim GPIO BCM'dir. Bu, Broadcom numaralandırma konvensiyasıdır və mən bunu layihələr və hardware əlavələri arasında daha çox istifadə etdiyini görürəm.

İkinci variant - GPIO BOARD. Bu üsul, əvəzinə pin sayı sayarkən əlverişli fiziki pin nömrələrini istifadə edir, ancaq bunun layihənin nümunələrində daha az istifadə etdiyini tapa bilərsiniz.

GPIO rejimi GPIO kitabxanasını idxal edərkən müəyyən edilir:

BCM kimi idxal etmək üçün:

GPIO GPIO.setmode (GPIO.BCM) kimi idxal RPi.GPIO

BOARD kimi idxal etmək üçün:

GPIO GPIO.setmode (GPIO.BOARD) kimi idxal RPi.GPIO

Bu üsulların hər ikisi də eyni işi edir, yalnız ədədin üstünlük məsələsi.

Mən mütəmadi olaraq RasPiO Portsplus (təsvir) kimi lazımlı GPIO etiket plitələrindən də istifadə edirəm ki, mən də telləri bağlayan pinləri yoxlayıram. Bir tərəf BCM numaralandırma konvensiyasını, digəri BOARD'ı göstərir - beləliklə siz tapdığınız hər hansı bir layihə üçün əhatə olundu.