Ce este BCM și de ce este utilizat într-un Raspberry Pi

Ce Este Bcm Si De Ce Este Utilizat Intr Un Raspberry Pi



În timp ce scriu scripturi Python pentru proiecte Raspberry Pi, mulți oameni devin confuzi cu privire la BCM și BORD numerotarea pinului. Oamenii tind de obicei să înțeleagă numărul BOARD, deoarece este o simplă aliniere a pinii pe o placă Raspberry Pi, dar majoritatea oamenilor confundă numărul BCM al Raspberry Pi.

Dacă sunteți cel care se confruntă cu aceeași problemă, atunci acest articol vă va ajuta să dezvoltați o înțelegere completă a BCM în Raspberry Pi.

Ce este BCM și de ce este utilizat în Raspberry Pi

BCM este o abreviere pentru „ Canalul Broadcom SOC ; În Raspberry Pi, există două moduri de a vă referi la pinii plăcii Raspberry Pi: unul este BCM iar celălalt este BORD . Pinii de nivel inferior de pe placă care sunt definiți de cipul Broadcom sunt pinii BCM, iar numărul BCM este diferit de numerele pinului plăcii/cipului, deoarece în plăcile inițiale ale Raspberry Pi, a existat un număr mai mic de pini. Pe măsură ce au fost lansate plăci noi, se adaugă mai mulți pini, iar numărul BCM rămâne același, din cauza căreia alinierea generală a numerelor de pini este perturbată.







Configurația pinii plăcii Raspberry Pi

Imaginea de mai jos arată configurația pinului celor mai recente plăci Raspberry Pi care are 40 de pini. Numele de pin menționate în dreptunghiuri colorate sunt cele numărul BCM de ace și numerele menționate în interiorul cercuri reprezintă numărul CONSILIULUI de ace.





Pentru ușurința utilizatorilor, Raspberry Pi acceptă atât utilizarea BCM și BORD numere. Utilizatorii trebuie doar să le consulte în cod înainte de a codifica pinii.





Pentru a face referire la numerele prezente în interiorul cercuri (1,2,3,4,…) cel GPIO.BOARD configurația va fi folosită în interiorul scriptului Python:

GPIO.BOARD

Întrucât, pentru a se referi la ace din interior dreptunghiuri colorate (GPIO10, GPIO11, GPIO12,…) the GPIO.BCM este folosit:



GPIO.BCM

Cum să utilizați BCM în scripturile Python în Raspberry Pi?

Să înțelegem acest lucru cu un exemplu, dacă trebuie să folosesc pinul 11 ​​al plăcii (GPIO17, BCM), pentru a comuta un LED, atunci îl voi folosi în codul Python, așa cum se arată mai jos:

import RPi.GPIO la fel de GPIO
import timp

GPIO.setmode ( GPIO.BCM )

GPIO.setare ( 17 , GPIO.OUT )

pentru i în gamă ( cincisprezece ) :
GPIO.ieșire ( 17 , GPIO.HIGH )
timp.somn ( 2 )
GPIO.ieșire ( 17 , GPIO.LOW )
timp.somn ( 2 )

În codul pentru setarea modului pin, am definit configurația pinului BCM la început, după care am folosit pinul GPIO17 în loc de 11 (număr BOARD).

Circuit pentru codul Python

Circuitul hardware pentru codul de mai sus este prezentat în imaginea de mai jos, unde am evidențiat GPIO 17 pin (BCM).

LED-ul va clipi de 15 ori cu o întârziere de 2 secunde între fiecare stare de pornire și oprire.

Concluzie

BCM este un canal Broadcom pe Raspberry Pi, care este folosit pentru a configura pinii Raspberry Pi folosind numerele canalului Broadcom. The BCM numărul de pini este diferit de numărul BOARD. Aceste numere sunt folosite în timpul programării pinii GPIO, utilizatorul trebuie să definească GPIO.setmode la inceput. După care pinii pot fi folosiți corespunzător în cod.