¿Qué es BCM y por qué se usa en una Raspberry Pi?

¿Qué es BCM y por qué se usa en una Raspberry Pi?
Mientras escribe guiones de Python para proyectos de Raspberry Pi, muchas personas se confunden sobre el BCM y JUNTA numeración de alfileres. Las personas generalmente tienden a comprender el número de la junta, ya que es una simple alineación de los pasadores en una tabla de frambuesa Pi, pero la mayoría de las personas confunden el número BCM de Raspberry Pi.

Si usted es el que enfrenta el mismo problema, este artículo lo ayudará a desarrollar una comprensión completa de BCM en Raspberry Pi.

¿Qué es BCM y por qué se usa en Raspberry Pi?

BCM es una abreviatura del "Broadcom SoC Channel; En Raspberry Pi, hay dos formas de referirse a los pasadores de la placa de Raspberry Pi: uno es el BCM y el otro es JUNTA. Los pines de nivel inferior en el tablero que están definidos por el chip Broadcom son los pines BCM, y el número BCM es diferente de los números de pin de tablero/chip porque en las placas iniciales de Raspberry Pi, había una menor cantidad de pines. A medida que se han lanzado nuevos tableros, se agregan más pines y el número BCM sigue siendo el mismo debido a que la alineación general de los números de PIN se perturbe.

Configuración de pines de la placa Raspberry Pi

La imagen a continuación muestra la configuración de PIN de las últimas tablas de Raspberry Pi que tiene 40 alfileres. Los nombres de pin mencionados en el rectángulos de colores son los Número de BCM de alfileres y los números mencionados dentro del círculos representar el Número de tablero de alfileres.

Para la facilidad de los usuarios, Raspberry Pi admite tanto el uso de BCM y JUNTA números. Los usuarios solo deben referirse a ellos en el código antes de codificar los pines.

Para referirse a los números presentes dentro del círculos (1,2,3,4, ...) el GPIO.JUNTA La configuración se utilizará dentro del script de Python:

GPIO.JUNTA

Mientras que, para referirse a los alfileres en el interior rectángulos de colores (GPIO10, GPIO11, GPIO12, ...) El GPIO.BCM se usa:

GPIO.BCM

Cómo usar BCM en scripts de Python en Raspberry Pi?

Entendamos esto con un ejemplo, si tengo que usar el pin 11 de la placa (GPIO17, BCM), para alternar un LED, entonces lo usaré en el código de Python como se indica a continuación:

importar RPI.GPIO como GPIO
tiempo de importación
GPIO.setMode (GPIO.BCM)
GPIO.Configuración (17, GPIO.AFUERA)
para i en el rango (15):
GPIO.salida (17, GPIO.ALTO)
tiempo.dormir (2)
GPIO.salida (17, GPIO.BAJO)
tiempo.dormir (2)

En el código para establecer el modo PIN, he definido la configuración del PIN BCM al inicio, después de lo cual he usado el pin GPIO17 en lugar de 11 (número de placa).

Circuito para el código Python

El circuito de hardware para el código anterior se muestra en la imagen a continuación, donde he resaltado el pin GPIO 17 (BCM).

El LED parpadeará 15 veces con 2 segundos de retraso entre cada estado de encendido y fuera.

Conclusión

BCM es un canal de Broadcom en Raspberry Pi, que se utiliza para configurar pines Raspberry Pi mediante el uso de números de canal de Broadcom. El BCM El número de alfileres es diferente del número de la placa. Estos números se utilizan mientras se programan los pines GPIO, el usuario debe definir el GPIO.modo de ajuste al principio. Después de lo cual los pines se pueden usar en consecuencia en el código.