Ahududu Pi GPIO'nun Turu

01/09

Ahududu Pi'nin Pimlerine Giriş

Ahududu Pi GPIO. Richard Saville

'GPIO' (Genel Amaçlı Giriş Çıkışı) terimi Raspberry Pi'ye özel değildir. Giriş ve çıkış pimleri Arduino, Beaglebone ve daha fazlası gibi birçok mikro kontrol cihazında bulunabilir.

Raspberry Pi ile GPIO hakkında konuştuğumuzda, kartın sol üst köşesinde bulunan uzun pim bloğundan söz ediyoruz. Eski modellerin 26 iğnesi vardı, ancak çoğumuz 40'lı bir güncel model kullanıyor olacak.

Bileşenleri ve diğer donanım aygıtlarını bu pinlere bağlayabilir ve yaptıkları şeyi kontrol etmek için kod kullanabilirsiniz. Ahududu Pi'nin önemli bir parçası ve elektronik hakkında bilgi edinmenin mükemmel bir yolu.

Birkaç yazılım projesinden sonra, kendinizi 'gerçek hayatta' bir şeyler yapmak için kodunuzu donanımla karıştırmaya istekli olan bu pimleri deneyebilirsiniz.

Sahnede yeniyseniz bu süreç korkutucu olabilir ve Raspberry Pi'nize yanlış bir hareketin zarar verebileceğini düşünürsek, yeni başlayanların keşfetmesi için bir sinir alanı olduğu anlaşılabilir.

Bu makale, her bir GPIO pininin ne yaptığını ve sınırlamalarını açıklayacaktır.

02/09

GPIO

GPIO pimleri 1 ila 40 arasında numaralandırılmıştır ve farklı işlevler altında gruplanabilir. Richard Saville

Öncelikle, bir bütün olarak GPIO'ya bir bakalım. Pimler aynı görünebilir ancak hepsinin farklı işlevleri vardır. Yukarıdaki görüntü, aşağıdaki işlevleri, aşağıdaki adımlarda açıklayacağımız farklı renklerde göstermektedir.

Her bir pim sol altta başlayarak 1'den 40'a kadar numaralandırılmıştır. Bunlar fiziksel pin numaralarıdır, ancak kod yazarken kullanılan 'BCM' gibi numaralandırma / etiketleme kuralları da vardır.

03/09

Güç ve zemin

Ahududu Pi birden fazla güç ve toprak pimi sunar. Richard Saville

Vurgulanan kırmızı, 3,3V veya 5V için '3' veya '5' etiketli güç pimleridir.

Bu pimler, herhangi bir kod gerekmeden bir cihaza doğrudan güç göndermenizi sağlar. Bunları da kapatma yolu yok.

2 adet güç rayı vardır - 3,3 volt ve 5 volt. Bu makaleye göre, 3.3V rayı 50mA akım çekişi ile sınırlıdır; 5V rayı ise Pi'nin ihtiyaç duyduğu her şeyi aldıktan sonra güç kaynağınızdan ne kadar kapasite kaldığını sağlayabilir.

Vurgulanan kahverengi topraklama pimleridir (GND). Bu pimler tam olarak söyledikleri şeydir - toprak pimleri - herhangi bir elektronik projenin hayati bir parçası.

(5V GPIO pinleri fiziksel numaralar 2 ve 4'tür. 3.3V GPIO pinleri fiziksel numaralar 1 ve 17'dir. Toprak GPIO pinleri fiziksel numaralar 6, 9, 14, 20, 25, 30, 34 ve 39'dur)

04/09

Giriş / Çıkış Pimleri

Giriş ve Çıkış pimleri, sensörler ve anahtarlar gibi donanımı bağlamanızı sağlar. Richard Saville

Yeşil pimler 'jenerik' giriş / çıkış pimleri dediğim şeydir. Bunlar, I2C, SPI veya UART gibi diğer işlevlerle çakışmaktan endişe duymadan girişler veya çıkışlar olarak kolayca kullanılabilir.

Bunlar bir LED'e, zile veya başka bileşenlere güç gönderebilen veya sensörleri, anahtarları veya diğer giriş cihazlarını okumak için bir giriş olarak kullanılabilen pimlerdir.

Bu pinlerin çıkış gücü 3,3V'dur. Her bir pim 16mA'lik akımı aşmamalı, batar ya da kaynak kullanmalıdır ve tüm GPIO pimleri seti herhangi bir zamanda 50mA'dan fazla olmamalıdır. Bu kısıtlayıcı olabilir, bu yüzden bazı projelerde yaratıcı olmanız gerekebilir.

(Genel GPIO pinleri 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 ve 40 numaralı fiziksel numaralardır)

05/09

I2C Pimleri

I2C, Pi'nize sadece birkaç iğne ile diğer cihazları bağlamanızı sağlar. Richard Saville

Sarı renkte I2C pinlerine sahibiz. I2C, basit anlamda cihazların Raspberry Pi ile iletişim kurmasına izin veren bir iletişim protokolüdür. Bu pimler 'jenerik' GPIO pimleri olarak da kullanılabilir.

I2C'yi kullanmanın iyi bir örneği, bu I2C protokolü üzerinden size daha fazla giriş / çıkış pimi verebilir, çok popüler MCP23017 port genişletici çiptir.

(I2C GPIO pimleri fiziksel pin numaraları 3 ve 5'dir)

06/09

UART (Seri) Pimler

UART pinleriyle seri bağlantınız üzerinden Pi'nize bağlanın. Richard Saville

Gri renkte UART pimleri vardır. Bu pimler, seri bağlantılar sunan başka bir iletişim protokolüdür ve aynı zamanda 'genel' GPIO giriş / çıkışları olarak da kullanılabilir.

UART için en sevdiğim kullanım, Pi'mden dizüstü bilgisayarımdan USB üzerinden seri bağlantıyı sağlamak. Bu, eklenti kartlar veya basit kablolar kullanılarak elde edilebilir ve Pi'nize erişmek için bir ekran veya internet bağlantısına olan ihtiyacı ortadan kaldırır.

(UART GPIO pimleri fiziksel pin numaraları 8 ve 10'dur)

07/09

SPI Pimleri

SPI Pimleri - başka kullanışlı iletişim protokolü. Richard Saville

Pembe renkte , SPI iğnelerimiz var. SPI, Pi ve diğer donanım / çevre birimleri arasında veri gönderen bir arabirim veri yoludur. Genellikle bir LED matris veya ekran gibi cihazların zincirlenmesi için kullanılır.

Diğerleri gibi, bu pimler de 'jenerik' GPIO giriş / çıkışları olarak da kullanılabilir.

(SPI GPIO pimleri, 19, 21, 23, 24 ve 26 numaralı fiziksel iğnelerdir)

08/09

DNC Pimleri

Burada görülecek hiçbir şey yok - DNC pimleri hiçbir işleve hizmet etmiyor. Richard Saville

Son olarak, şu anda, 'Bağlanmayın' anlamına gelen DNC olarak etiketlenen mavi iki pin vardır. Ahududu Pi Vakfı kurulları / yazılımı değiştirirse, bu gelecekte değişebilir.

(DNC GPIO pinleri fiziksel pin numaraları 27 ve 28'dir)

09/09

GPIO Numaralandırma Kuralları

Portsplus, GPIO pin numaralarını kontrol etmek için kullanışlı bir araçtır. Richard Saville

GPIO ile kodlarken, GPIO kütüphanesini iki yoldan birini - BCM veya BOARD - içe aktarma seçeneğiniz vardır.

Tercih ettiğim seçenek GPIO BCM. Bu, Broadcom numaralandırma sözleşmesidir ve projelerin ve donanım eklentilerinde daha yaygın kullanıldığını görüyorum.

İkinci seçenek GPIO KURULU'dur. Bu yöntem, iğneleri sayarken kullanışlı olan fiziksel iğne numaralarını kullanır, ancak proje örneklerinde daha az kullanıldığını görürsünüz.

GPIO kütüphanesi içe aktarılırken GPIO modu ayarlanır:

BCM olarak içe aktarmak için:

GPIO GPIO.setmode (GPIO.BCM) olarak RPi.GPIO alın

YÖNETİCİ olarak içe aktarmak için:

GPIO GPIO.setmode (GPIO.BOARD) olarak RPi.GPIO alın

Bu yöntemlerin ikisi de tam olarak aynı işi yapıyor, sadece numaralandırma tercih meselesi.

Ben de hangi pinleri kabloları bağladığımı kontrol etmek için RasPiO Portsplus (resimde) gibi kullanışlı GPIO etiket panolarını kullanırım. Bir taraf BCM numaralandırma kuralını gösterir, diğeri BOARD'u gösterir - böylece bulduğunuz herhangi bir proje için kapsanırsınız.