Qual é a diferença entre BOARD e BCM para numeração de pinos GPIO?

130

Ao usar a biblioteca RPi.GPIO em Python, você deve chamar

import RPi.GPIO as GPIO

e depois

GPIO.setmode(GPIO.BOARD)

ou

GPIO.setmode(GPIO.BCM)

Qual é a diferença entre essas duas opções?

mirams
fonte

Respostas:

151

Eu tenho as informações abaixo daqui .

A opção GPIO.BOARD especifica que você está se referindo aos pinos pelo número de pinos do plugue - ou seja, os números impressos na placa (por exemplo, P1) e no meio dos diagramas abaixo.

A opção GPIO.BCM significa que você está se referindo aos pinos pelo número "Broadcom SOC channel". Esses são os números após "GPIO" nos retângulos verdes ao redor dos diagramas abaixo:

Infelizmente, os números do BCM mudaram entre as versões do Pi1 Modelo B, e você precisará descobrir qual deles tem aqui . Portanto, pode ser mais seguro usar os números da PLACA se você usar mais de um Raspberry Pi em um projeto.

  • O Modelo B + usa a mesma numeração que o Modelo B r2.0 e adiciona novos pinos (números de placa 27-40).
  • O Raspberry Pi Zero, Pi 2B e Pi 3B usam a mesma numeração que o B +.

Pi1 Modelo B +, Pi 2B, Pi Zero e Pi 3B: Diagrama de numeração de pinos GPIO


Revisão 2.0 do Pi 1 Modelo B:

Diagrama de numeração de pinos GPIO


Pi 1 Modelo B Revisão 1.0: Diagrama de numeração de pinos GPIO

mirams
fonte
1
E, para completar, o A é o mesmo que as placas modelo B posteriores e o A + é o mesmo que o B +.
Peter Green
1
É irritante. Basta colocar dois números pequenos por cada pino. Sério @LadyAda
user2497