Apa perbedaan antara BOARD dan BCM untuk penomoran pin GPIO?

130

Saat menggunakan perpustakaan RPi.GPIO dengan Python, Anda harus menelepon

import RPi.GPIO as GPIO

lalu

GPIO.setmode(GPIO.BOARD)

atau

GPIO.setmode(GPIO.BCM)

Apa perbedaan antara kedua opsi ini?

keajaiban
sumber

Jawaban:

151

Saya mendapat informasi di bawah ini dari sini .

The GPIO.BOARD pilihan menentukan bahwa Anda mengacu pada pin dengan jumlah pin plug - yaitu angka tercetak pada papan (misalnya P1) dan di tengah-tengah diagram di bawah ini.

The GPIO.BCM pilihan berarti bahwa Anda mengacu pada pin dengan jumlah "channel Broadcom SOC", ini adalah angka setelah "GPIO" di persegi panjang hijau di sekitar bagian luar di bawah diagram:

Sayangnya nomor BCM berubah di antara versi Pi1 Model B, dan Anda harus mencari tahu mana yang Anda punya panduan di sini . Jadi mungkin lebih aman menggunakan nomor PAPAN jika Anda akan menggunakan lebih dari satu Raspberry Pi dalam suatu proyek.

  • Model B + menggunakan penomoran yang sama dengan Model B r2.0, dan menambahkan pin baru (nomor papan 27-40).
  • Raspberry Pi Zero, Pi 2B dan Pi 3B menggunakan penomoran yang sama dengan B +.

Model Pi1 B +, Pi 2B, Pi Zero dan Pi 3B: Diagram penomoran pin GPIO


Pi 1 Model B Revisi 2.0:

Diagram penomoran pin GPIO


Pi 1 Model B Revisi 1.0: Diagram penomoran pin GPIO

keajaiban
sumber
1
Dan untuk kelengkapan A sama dengan papan B model kemudian dan A + sama dengan B +.
Peter Green
1
Itu menyebalkan. Masukkan dua angka kecil di setiap pin. Seriously @LadyAda
user2497