Raspberry PiのGPIOの配置図と基本的な説明

毎回Raspberry PiのGPIOの配置を確認するのにGoogleで検索しているのがばからしくなってきたので、ここにRaspberry PiのModel AとModel BとModel B+のGPIOの配置を載せておきます。

ついでにGPIOの基本的な説明も載せておきます。

Raspberry PiのGPIOはほとんどの人が下記の配置になります。
Pin01~Pin26までがRaspberry Pi Model AとModel B用です。Pin27~Pin40はModel B+で追加されたGPIOです。

Pin01: 3.3VPin02: 5V(基盤上で一番隅にあるPIN)
Pin03: GPIO2/SDA1 I2CPin04: 5V
Pin05: GPIO3/SCL1 I2CPin06: Gnd
Pin07: GPIO4/GPCLK0 1 WirePin08: GPIO14/UART0_TXD
Pin09: GndPin10: GPIO15/UART0_RXD
Pin11: GPIO17Pin12: GPIO18/PWM_CLK
Pin13: GPIO27/PCM_DOUTPin14: Gnd
Pin15: GPIO22Pin16: GPIO23
Pin17: 3.3VPin18: GPIO24
Pin19: GPIO10/SPI0_MOSIPin20: Gnd
Pin21: GPIO9/SPI0_MISOPin22: GPIO25
Pin23: GPIO11/SPI0_SCLKPin24: GPIO8/SPI0_CEO
Pin25: GndPin26: GPIO7/SPI0_CE1
Pin27: GPIO0/ID SDPin28: GPIO1/ID SC
Pin29: GPIO5Pin30: Gnd
Pin31: GPIO6Pin32: GPIO12
Pin33: GPIO13Pin34: Gnd
Pin35: GPIO19Pin36: GPIO16
Pin37: GPIO26Pin38: GPIO20
Pin40: GndPin41: GPIO21

Pin2が起点になります。Raspberry Piの基板上の一番隅っこにあるPinがPin2です。



GPIOの最大出力電流は50mAまでです。
GPIOの入出力電圧は3.3Vです。

GPIOに3.3Vを超える電圧を入力した場合、壊れる可能性が高いです。

Raspberry Pi ModelAとModelBには別にP5というコネクタがありますが、ここでは無視します。ModelAとModelBでGPIOが足りなくなった場合は、調べてみてください。GPIOが4つ手に入ります。

5V電源から取れる最大電流はUSB電源の最大電流-(700mA Model B or 500mA Model A)になります。USB電源の最大電流が1Aの場合でUSBポートを使っていなければ、Model Bの場合300mA、Model Aの場合500mA使うことができます。Model B+は600mA使っているのでUSB電源の最大電流-600mAの電流を5V電源で使うことができます。

Raspberry PiのGPIOには内部に50kオーム程度のプルアップとプルダウン抵抗があるので、わざわざ抵抗をつけてプルアップやプルダウンをする必要はないです。

プルダウンの仕方(プルアップはPUD_UP)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)


プログラムでGPIOを呼び出すときにBCMとBOARDという2つのモードがあるけど、BCMを使ったほうがわかりやすい。

GPIO.setmode(GPIO.BCM) #私の推奨
GPIO.setmode(GPIO.BOARD)

hoge = 23
こういうとき、BCMだとGPIO23を呼び出してくれる。
BOARDだとPin23→GPIO11/SPI0_SCLKを呼び出す。

単純な入出力にGPIOを使いたい場合は、特殊能力が何も付いていないGPIOを使うと幸せかもしれない。

平凡なGPIO
GPIO17, GPIO22, GPIO23, GPIO24, GPIO25
Model B+: 上記に加えて、GPIO5, GPIO6, GPIO12, GPIO13, GPIO16, GPIO19, GPIO20, GPIO21, GPIO26

例えばGPIO18(Pin12)の場合は、平凡なGPIOとしても使えるけど、モーターをコントロールするPWMとしても使えます。平凡なGPIOが余っている場合、平凡な用途にはわざわざ特殊なPin(この場合Pin12)を使わずに平凡なGPIOを使いましょう。

GPIOの古い配置図

Raspberry PiのModel AとModel Bを販売開始時に買った人は、古い配置になっている可能性があります。古い配置はPinの配置が3つ異なります。

GPIO2→GPIO0
GPIO3→GPIO1
GPIO27→GPIO21

ほとんどの人が新しい配置に該当しますが見分け方は下記になります。

Raspberry Piから
cat /proc/cpuinfo
Revisionの項目が0002または0003の場合は古い配置になって、それ以外は新しい配置になります。

古い配置
Pin01: 3.3VPin02: 5V(基盤上で隅にあるPIN)
Pin03: GPIO0/SDA1 I2CPin04: 5V
Pin05: GPIO1/SCL1 I2CPin06: Gnd
Pin07: GPIO4/GPCLK0 1 WirePin08: GPIO14/UART0_TXD
Pin09: GndPin10: GPIO15/UART0_RXD
Pin11: GPIO17Pin12: GPIO18/PWM_CLK
Pin13: GPIO21/PCM_DOUTPin14: Gnd
Pin15: GPIO22Pin16: GPIO23
Pin17: 3.3VPin18: GPIO24
Pin19: GPIO10/SPI0_MOSIPin20: Gnd
Pin21: GPIO9/SPI0_MISOPin22: GPIO25
Pin23: GPIO11/SPI0_SCLKPin24: GPIO8/SPI0_CEO
Pin25: GndPin26: GPIO7/SPI0_CE1

Raspberry PiのGPIOの配置図と基本的な説明” への1件のコメント
  1. 芦田 より:

    ちょっとした間違いだと思いますが,Pin40⇒Pin39,Pin41⇒Pin40だと思います.

コメントを残す

メールアドレスが公開されることはありません。