BCM Nedir ve Raspberry Pi'de Neden Kullanılır?

Bcm Nedir Ve Raspberry Pi De Neden Kullanilir



Raspberry Pi projeleri için Python betikleri yazarken birçok kişinin kafası karışır. BCM Ve PANO pin numaralandırma Bir Raspberry Pi kartındaki pimlerin basit bir hizalaması olduğu için insanlar genellikle BOARD numarasını anlama eğilimindedir, ancak çoğu insan Raspberry Pi'nin BCM numarasını karıştırır.

Aynı sorunla karşılaşan sizseniz, bu makale Raspberry Pi'de tam bir BCM anlayışı geliştirmenize yardımcı olacaktır.

BCM Nedir ve Raspberry Pi'de Neden Kullanılır?

BCM kısaltmasıdır” Broadcom SOC kanalı ; Raspberry Pi'de, Raspberry Pi kart pinlerine atıfta bulunmanın iki yolu vardır: BCM ve diğeri PANO . Broadcom çipi tarafından tanımlanan kart üzerindeki alt seviye pinler BCM pinleridir ve BCM numarası kart/çip pin numaralarından farklıdır çünkü Raspberry Pi'nin ilk kartlarında daha az sayıda pin vardı. Yeni kartlar piyasaya çıktıkça, daha fazla pin eklenir ve pin numaralarının genel hizalaması bozulduğu için BCM numarası aynı kalır.







Raspberry Pi Kartının Pin Yapılandırması

Aşağıdaki resim, 40 pinli en yeni Raspberry Pi kartlarının pin konfigürasyonunu göstermektedir. Bahsedilen pin adları renkli dikdörtgenler bunlar BCM numarası Pim sayısı ve içinde belirtilen sayılar daireler temsil etmek PANO numarası iğne sayısı.





Kullanıcıların kolaylığı için, Raspberry Pi hem kullanımını destekler BCM Ve PANO sayılar. Kullanıcıların, pinleri kodlamadan önce kodda bunlara başvurması yeterlidir.





içinde bulunan sayılara başvurmak için daireler (1,2,3,4,…) GPIO.BOARD yapılandırma Python betiğinin içinde kullanılacaktır:

GPIO.BOARD

Oysa, içindeki pimlere atıfta bulunmak için renkli dikdörtgenler (GPIO10, GPIO11, GPIO12,…) GPIO.BCM kullanıldı:



GPIO.BCM

Raspberry Pi'de Python Betiklerinde BCM Nasıl Kullanılır?

Bunu bir örnekle anlayalım, Bir LED'i değiştirmek için kartın (GPIO17, BCM) pin 11'ini kullanmam gerekirse, Python kodunda aşağıda belirtildiği gibi kullanacağım:

RPi.GPIO'yu içe aktar gibi GPIO
içe aktarmak zaman

GPIO.setmode ( GPIO.BCM )

GPIO.setup ( 17 , GPIO.OUT )

için Ben içinde menzil ( onbeş ) :
GPIO.çıktı ( 17 , GPIO.YÜKSEK )
Uyku zamanı ( 2 )
GPIO.çıktı ( 17 , GPIO.LOW )
Uyku zamanı ( 2 )

Pin modunu ayarlama kodunda başlangıçta BCM pin konfigürasyonunu tanımladım, sonrasında 11 (BOARD numarası) yerine GPIO17 pinini kullandım.

Python Kodu İçin Devre

Yukarıdaki kod için donanım devresi, GPIO 17 pinini (BCM) vurguladığım aşağıdaki resimde gösterilmiştir.

LED, her açık ve kapalı durumu arasında 2 saniye gecikmeyle 15 kez yanıp sönecektir.

Çözüm

BCM Raspberry Pi pinlerini Broadcom kanal numaralarını kullanarak yapılandırmak için kullanılan, Raspberry Pi üzerindeki bir Broadcom kanalıdır. bu BCM pin sayısı BOARD numarasından farklıdır. Bu numaralar GPIO pinlerini programlarken kullanılır, kullanıcının tanımlaması gerekir. GPIO.setmode başlangıçta. Bundan sonra pimler kodda buna göre kullanılabilir.