Se você está enfrentando o mesmo problema, este artigo o ajudará a desenvolver uma compreensão completa do BCM no Raspberry Pi.
O que é BCM e por que é usado no Raspberry Pi
BCM é uma abreviação de “ canal Broadcom SOC ; No Raspberry Pi, há duas maneiras de se referir aos pinos da placa do Raspberry Pi: uma é o BCM e o outro é QUADRO . Os pinos de nível inferior na placa que são definidos pelo chip Broadcom são os pinos BCM, e o número do BCM é diferente dos números dos pinos da placa/chip porque nas placas iniciais do Raspberry Pi, havia um número menor de pinos. À medida que novas placas são lançadas, mais pinos são adicionados e o número do BCM permanece o mesmo, devido ao qual o alinhamento geral dos números dos pinos é perturbado.
Configuração de pinos da placa Raspberry Pi
A imagem abaixo mostra a configuração de pinos das placas Raspberry Pi mais recentes, que possuem 40 pinos. Os nomes dos pinos mencionados no retângulos coloridos são as número BCM de pinos e os números mencionados dentro do círculos representam o número da PLACA de pinos.
Para facilitar os usuários, o Raspberry Pi suporta tanto o uso de BCM e QUADRO números. Os usuários apenas devem se referir a eles no código antes de codificar os pinos.
Para se referir aos números presentes dentro do círculos (1,2,3,4,…) o GPIO.BOARD configuração será usada dentro do script Python:
GPIO.BOARDConsiderando que, para se referir aos pinos dentro retângulos coloridos (GPIO10, GPIO11, GPIO12,…) GPIO.BCM é usado:
GPIO.BCM
Como usar o BCM em scripts Python no Raspberry Pi?
Vamos entender isso com um exemplo, se eu tiver que usar o pino 11 da placa (GPIO17, BCM), para alternar um LED então vou usar no código Python conforme abaixo:
importar RPi.GPIO como GPIOimportar tempo
GPIO.setmode ( GPIO.BCM )
GPIO.setup ( 17 , GPIO.OUT )
para eu em faixa ( quinze ) :
GPIO.output ( 17 , GPIO.HIGH )
hora de dormir ( 2 )
GPIO.output ( 17 , GPIO.LOW )
hora de dormir ( 2 )
No código para definir o modo de pino, defini a configuração do pino BCM no início, após o qual usei o pino GPIO17 em vez de 11 (número da PLACA).
Circuito para código Python
O circuito de hardware para o código acima é mostrado na imagem abaixo, onde destaquei o pino GPIO 17 (BCM).
O LED piscará 15 vezes com 2 segundos de atraso entre cada estado ligado e desligado.
Conclusão
BCM é um canal Broadcom no Raspberry Pi, que é usado para configurar os pinos do Raspberry Pi usando os números do canal Broadcom. O BCM número de pinos é diferente do número da PLACA. Esses números são usados durante a programação dos pinos GPIO, o usuário deve definir o GPIO.setmode no começo. Depois disso, os pinos podem ser usados de acordo com o código.