Hvis du er den som står overfor det samme problemet, vil denne artikkelen hjelpe deg med å utvikle en fullstendig forståelse av BCM i Raspberry Pi.
Hva er BCM, og hvorfor brukes det i Raspberry Pi
BCM er en forkortelse for "Broadcom Soc Channel; I Raspberry Pi er det to måter å referere til Raspberry Pi -brettpinnene: en er den BCM Og den andre er BORDE. Pinnene på lavere nivå på brettet som er definert av Broadcom-brikken er BCM-pinnene, og BCM-nummeret er forskjellig fra tavlen/chip-pin-numrene fordi det i de første brettene til Raspberry Pi var et mindre antall pinner. Etter hvert som nye tavler har lansert, blir flere pinner lagt til, og BCM -nummeret forblir det samme som den totale innretting av pinnetall blir forstyrret.
Pins konfigurasjon av Raspberry Pi Board
Bildet nedenfor viser PIN -konfigurasjonen av de nyeste Raspberry Pi -tavlene som har 40 pinner. Pin -navnene som er nevnt i Fargede rektangler er BCM -nummer av pinner og tallene som er nevnt inne i sirkler Representere Styretall av pinner.
For brukervennligheten støtter Raspberry Pi både bruken av BCM og BORDE tall. Brukere må bare henvise til dem i koden før de koder pinnene.
For å referere til tallene som er til stede i sirkler (1,2,3,4, ...) GPIO.BORDE Konfigurasjon vil bli brukt inne i Python -skriptet:
GPIO.BORDE
Mens for å referere til pinnene inni Fargede rektangler (GPIO10, GPIO11, GPIO12, ...) The GPIO.BCM benyttes:
GPIO.BCM
Hvordan bruke BCM i Python -skript i Raspberry Pi?
La oss forstå dette med et eksempel, hvis jeg må bruke tappen 11 i styret (GPIO17, BCM), for å veksle en LED, så vil jeg bruke den i Python -koden som angitt nedenfor:
Importer RPI.GPIO som GPIO
Importer tid
GPIO.SetMode (GPIO.BCM)
GPIO.Oppsett (17, GPIO.UTE)
for jeg i rekkevidde (15):
GPIO.utgang (17, GPIO.HØY)
tid.søvn (2)
GPIO.utgang (17, GPIO.LAV)
tid.søvn (2)
I koden for å angi PIN -modus, har jeg definert BCM PIN -konfigurasjonen i starten, hvoretter jeg har brukt GPIO17 -pin i stedet for 11 (tavlnummer).
Krets for python -kode
Maskinvarekretsen for ovennevnte kode vises i bildet nedenfor, der jeg har fremhevet GPIO 17 PIN (BCM).
LED vil blinke 15 ganger med 2 sekunders forsinkelse mellom hver av og på tilstand.
Konklusjon
BCM er en Broadcom -kanal på Raspberry Pi, som brukes til å konfigurere Raspberry Pi -pinner ved å bruke Broadcom Channel Numbers. De BCM antall pinner er forskjellig fra brettnummeret. Disse tallene brukes mens du programmerer GPIO -pinnene, brukeren må definere GPIO.setMode i begynnelsen. Hvoretter pinnene kan brukes deretter i koden.