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

Co to jest BCM i dlaczego jest używany w Raspberry Pi
Pisząc skrypty Python do projektów Raspberry Pi, wiele osób jest zdezorientowane BCM I TABLICA Numeracja pinów. Ludzie zwykle rozumieją numer planszy, ponieważ jest to proste wyrównanie szpin na płycie Raspberry Pi, ale większość ludzi myli liczbę Raspberry Pi BCM.

Jeśli jesteś tym samym problemem, ten artykuł pomoże Ci rozwinąć pełne zrozumienie BCM w Raspberry Pi.

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

BCM jest skrótem dla „Broadcom SOC Channel; W Raspberry Pi istnieją dwa sposoby odniesienia się do pinów tablicy Raspberry Pi: jeden to BCM a drugi jest TABLICA. Piny niższego poziomu na płycie zdefiniowanej przez układ BroadCom to piny BCM, a liczba BCM różni się od numerów pinów płyty/układu, ponieważ na początkowych płytach Raspberry Pi było mniejszą liczbę pinów. W miarę uruchomienia nowych płyt dodaje się więcej pinów, a liczba BCM pozostaje taka sama ze względu.

Konfiguracja pin

Poniższy obraz pokazuje konfigurację PIN najnowszych płyt Raspberry Pi, która ma 40 pinów. Nazwy pinów wymienione w kolorowe prostokątyNumer BCM pinów i liczby wymienionych w środku Kręgi reprezentują Numer planszy pinów.

Dla łatwości użytkowników Raspberry Pi obsługuje zarówno użycie BCM I TABLICA liczby. Użytkownicy muszą po prostu odwołać się do nich w kodzie przed kodowaniem pinów.

Aby odnieść się do liczb obecnych w Kręgi (1,2,3,4,…) GPIO.TABLICA Konfiguracja będzie używana w skrypcie Python:

GPIO.TABLICA

Podczas gdy w odniesieniu do szpilki w środku kolorowe prostokąty (GPIO10, GPIO11, GPIO12,…) GPIO.BCM Jest używane:

GPIO.BCM

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

Zrozummy to przykładem, jeśli muszę użyć PIN 11 płyty (GPIO17, BCM), aby przełączyć diodę LED, a następnie użyję go w kodzie Python, jak podano poniżej:

Importuj RPI.GPIO jako GPIO
czas importu
GPIO.setMode (GPIO.BCM)
GPIO.konfiguracja (17, GPIO.NA ZEWNĄTRZ)
bo w zakresie (15):
GPIO.Wyjście (17, GPIO.WYSOKI)
czas.sen (2)
GPIO.Wyjście (17, GPIO.NISKI)
czas.sen (2)

W kodzie, aby ustawić tryb PIN, na początku zdefiniowałem konfigurację PIN BCM, po czym użyłem pinu GPIO17 zamiast 11 (numer płyty).

Obwód kodu Pythona

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

LED będzie mrugnąć 15 razy z 2 sekundami opóźnionymi między każdym stanem włączonym i wyłączonym.

Wniosek

BCM to kanał Broadcom na Raspberry Pi, który służy do konfigurowania pin Raspberry Pi za pomocą numerów kanałów Broadcom. BCM Liczba pinów różni się od numeru planszy. Liczby te są używane podczas programowania pinów GPIO, użytkownik musi zdefiniować GPIO.Ustaw tryb Na początku. Po czym piny można odpowiednio używać w kodzie.