ラズベリーパイの端子についてGPIO?SPI?
最近ラズベリーパイを購入してあそびはじめた超初心者である筆者が、端子の種類について疑問を持ちました。
下の写真の赤で囲まれた部分が、その端子です。
端子は、調べてみると下の図のような配置になっていることがわかりました。
全て同じに見える端子ですが、目的によって接続する端子の位置を選択する必要があります。それぞれについて、ざっくりとまとめてみました。
GPIOとは?
GPIO = General Purpose Input/Output(直訳:一般用途 入力/出力)
GPIOピンは、プログラム制御により、電圧を3.3Vか0Vを選択することができます。
「On/Offスイッチ」のようなものです。
また、電圧値を読み取ることもできます。
通信方式について-I2C/SPI/UARTとは?-
シリアル通信とパラレル通信
シリアル通信:1ビットずつ順番にデータを転送する方式をシリアル(Serial:連続)通信と呼びます。1本の通信回線で通信を行います。
パラレル通信:複数のデータを同時に転送する方式をパラレル(Parallel:並行)通信と呼びます。複数の通信回線で通信を行います。
現在は、シリアル通信方式が主流です。理由は以下になります。
- 通信技術の発達により、通信速度が向上したこと
- 配線コストが低いこと
- 機器同士の同期が簡単なこと
ラズベリーパイで使用できる3つのシリアル通信方式
ラズベリーパイの端子には、3つのシリアル通信方式用の端子が備え付けられています。
3つのシリアル通信方式は次になります。
- I2C
- SPI
- UART
大きな違いは
「同期式(クロック同期式)/非同期式(調歩同期式)」です。
同期式には、クロック通信用の配線が必要です。
方式 | 同期式(クロック同期式) | 非同期式 |
種類 | I2C、SPI | UART |
クロック通信線 | あり | なし |
I2C(アイ スクエア シー)とは?
I2C = Inter Integrated Circuit(直訳:相互間集積回路)
I2C(アイ スクエア シー)はフィリップス社が開発した、電子機器向けの同期式シリアルバス通信方式です。
シリアルデータ(SDA:Serial Data)とシリアルクロック(SCL:Serial Clock)の2本の信号線からなります。
バスは、コンピュータ内部や外部の電子機器がデータを交換するための共通の回路を差します。
筆者が製作にチャレンジしている、カムプログラミングロボットのモーター制御で使う「モータードライバ」はI2Cに対応しています。
下の写真の黒い部品がモータードライバです。
SPIとは?
SPI = Serial Peripheral Interface(直訳:連続的周辺機器接続)
SPIは電子機器同士を接続するのによく利用される同期式シリアルバス通信方式のひとつです。
シリアルクロック(SCKL:Serial Clock)、マスタ出力-スレーブ入力(MOSI:Master Out Slave In)とマスタ入力-スレーブ出力(MISO:Master In Slave Out)の3本の信号線からなります。
UARTとは?
UART = Universal Asynchronous Receiver/Transfer(直訳:汎用非同期式受信器/送信器)
UART(ユーアート)は電子機器同士を接続するのによく利用される非同期式シリアルバス通信方式のひとつです。
送信データ(TXD:Transmit Data)と受信データ(RXD:Receive Data)の2本の信号線からなります。
非同期式のため、クロック通信用の信号線はありません。
GND(グランド)とは?
ラズベリーパイの端子には、3.3Vと5Vの電源供給が2本ずつあります。
GND(グランド)=0Vの端子が8本あります。
例えば、LEDには+/-の向きがあります。3.3V/5Vの電源供給側を+、GND側を-にして回路をつくると、電流が流れ、LEDが点灯します。
HATとは?
HAT = Hardware Attached on Top(直訳:上部に取り付けられたハードウェア)ラズベリーパイにさらに基盤を追加する時に使用する端子です。具体的には「Sense HAT」という製品をラズベリーパイに接続することで、さまざまなセンサの制御が行えるそうです。
今回の記事は以上です。ラズベリーパイの端子について超初心者の筆者が備忘録的にまとめたので、お気づきの点がある方は、コメントをお願いいたします!