Co to jest BCM i dlaczego jest używany w Raspberry Pi

Co To Jest Bcm I Dlaczego Jest Uzywany W Raspberry Pi



Podczas pisania skryptów w Pythonie dla projektów Raspberry Pi wiele osób jest zdezorientowanych BCM I TABLICA numeracja pinów. Ludzie zwykle rozumieją numer BOARD, ponieważ jest to proste ustawienie pinów na płycie Raspberry Pi, ale większość ludzi myli numer BCM Raspberry Pi.

Jeśli masz ten sam problem, ten artykuł pomoże ci w pełni zrozumieć BCM w Raspberry Pi.

Co to jest BCM i dlaczego jest używany w Raspberry Pi

BCM jest skrótem od „ Kanał Broadcom SOC ; W Raspberry Pi istnieją dwa sposoby odwoływania się do pinów płyty Raspberry Pi: jeden to BCM a drugi jest TABLICA . Piny niższego poziomu na płytce, które są zdefiniowane przez układ Broadcom, to piny BCM, a numer BCM różni się od numerów pinów płyty/chipu, ponieważ w początkowych płytach Raspberry Pi liczba pinów była mniejsza. W miarę pojawiania się nowych płyt, dodawanych jest więcej pinów, a numer BCM pozostaje taki sam, co powoduje zakłócenie ogólnego wyrównania numerów pinów.







Konfiguracja pinów płytki Raspberry Pi

Poniższy obraz pokazuje konfigurację pinów najnowszych płyt Raspberry Pi, które mają 40 pinów. Nazwy pinów wymienione w kolorowe prostokąty Numer BCM pinów i numery wymienione wewnątrz kręgi reprezentować Numer ZARZĄDU szpilek.





Dla ułatwienia użytkownikom Raspberry Pi obsługuje zarówno korzystanie z BCM I TABLICA liczby. Użytkownicy muszą po prostu odnieść się do nich w kodzie przed zakodowaniem pinów.





Aby odnieść się do liczb obecnych wewnątrz kręgi (1,2,3,4,…) PŁYTA GPIO konfiguracja zostanie użyta w skrypcie Pythona:

PŁYTA GPIO

Natomiast, aby odnieść się do szpilek w środku kolorowe prostokąty (GPIO10, GPIO11, GPIO12,…) GPIO.BCM Jest używane:



GPIO.BCM

Jak używać BCM w skryptach Pythona w Raspberry Pi?

Zrozummy to na przykładzie, jeśli muszę użyć styku 11 płyty (GPIO17, BCM), aby przełączyć diodę LED, użyję jej w kodzie Pythona, jak podano poniżej:

zaimportuj RPi.GPIO Jak GPIO
import czas

GPIO.ustaw tryb ( GPIO.BCM )

Konfiguracja GPIO ( 17 , GPIO.WYJ )

Do I W zakres ( piętnaście ) :
GPIO.wyjście ( 17 , GPIO.WYSOKI )
czas spać ( 2 )
GPIO.wyjście ( 17 , GPIO.NISKI )
czas spać ( 2 )

W kodzie ustawiania trybu pinów zdefiniowałem na początku konfigurację pinów BCM, po czym użyłem pinu GPIO17 zamiast 11 (numer BOARD).

Obwód dla kodu Pythona

Obwód sprzętowy dla powyższego kodu pokazano na poniższym obrazku, gdzie zaznaczyłem pin GPIO 17 (BCM).

Dioda LED zamiga 15 razy z 2-sekundowym opóźnieniem między każdym stanem włączenia i wyłączenia.

Wniosek

BCM to kanał Broadcom na Raspberry Pi, który służy do konfigurowania pinów Raspberry Pi przy użyciu numerów kanałów Broadcom. The BCM liczba pinów różni się od numeru PŁYTY. Numery te są wykorzystywane podczas programowania pinów GPIO, użytkownik musi zdefiniować GPIO.ustaw tryb Na początku. Po czym szpilki można odpowiednio wykorzystać w kodzie.