はじめに
Raspberry Pi 4 の GPIO ピン配置(ピンマッピング)についてまとめてみました。GPIO について軽く説明しておきます。GPIO を構成するピンは、主に4つの機能に分類できます。
- 電源ピン:電源を供給するピン。3.3V と 5V があります
- GNDピン:グランドピン。電位の基準を決めている回路のこと
- DNC:ユーザが使用できないピン。古いタイプの Raspberry Pi に存在しましたが、現在では I/Oとして使用できるように改良されています
- I/O:汎用入出力ピン
概要
Raspberry Pi 4 の GPIO ピン配置(ピンマッピング)は以下のようになっています(代替機能については全て表示していません)。
GPIO ピン配置について説明していきましょう。
- GPIO(General Purpose Input/Output):最も基本的な機能であり、ピンをデジタル入力または出力として使用できます。入力として使用すると、ピンの状態(通常は高電圧('High' または'1')または低電圧('Low' または'0'))を読み取ることができます。出力として使用すると、ピンの状態を制御して外部デバイスを駆動することができます。
- PWM(Pulse Width Modulation):デジタル出力を用いてアナログ信号を模倣するためのテクニックです。出力は高(通常は 3.3V または 5V)と低(0V)の間を切り替えますが、'High' 状態と 'Low' 状態が持続する時間(つまりパルスの幅)を変更することで、平均的な出力電圧を制御できます。
- SPI(Serial Peripheral Interface):短距離通信で広く使用される同期式シリアル通信プロトコルです。これは、マスターデバイスと一つまたはそれ以上のスレーブデバイス間のフルデュプレックス通信を可能にします。
- I2C(Inter-Integrated Circuit):I2C もまた、短距離通信に使われる同期式シリアル通信プロトコルです。一つのバス上に多数のスレーブデバイスを接続できるため、接続の複雑さを大幅に減らすことができます。
- 1-Wire:1-Wireプロトコルは、低速度で小規模なデータ通信に最適であり、特にテンプレチャーセンサーやシリアルメモリなどの単純なデバイスによく使用されます。Raspberry Pi の GPIO ピンは、1-Wire デバイスを直接接続するために設定できます。
- Clock Function(GPCLK, General Purpose CLocK):いくつかの GPIO ピンは、任意の周波数でクロック信号を生成するためのハードウェアクロックジェネレータを内蔵しています。これは GPCLK と呼ばれています。GPIO 4(物理ピン7)は、GPCLK0 としても使用できます。これは、特定の周波数の正確なクロック信号が必要な回路やデバイスに利用できます。
- UART((Universal Asynchronous Receiver/Transmitter):非同期式シリアル通信を可能にするためのハードウェアデバイスまたはチップです。この通信は、パソコンやマイクロコントローラが他のデバイスやコンピュータと通信するための主要な手段でした。
- I2S(Inter-IC Sound):デジタルオーディオデバイス間の通信に使用されるシリアルバスインターフェースです。I2S は、左と右のオーディオチャンネル用のデータライン、クロック信号、およびフレーム同期信号の3つの線を使用します。I2S は、デジタルオーディオデータの送受信に特化しており、Raspberry Pi では外部オーディオデバイスとの高品質なオーディオ通信に利用できます。
- I2C ID EEPROM:I2C バス上の特別なデバイスで、ハードウェア情報を保存しています。これにより、Raspberry Pi は接続されたデバイスの種類や機能を自動的に認識することができます。Raspberry Pi の HAT(Hardware Attached on Top)という拡張ボードは、ID EEPROM を使用して自動的に設定を行うように設計されています。
デバイスによっては、代替機能が利用されている場合があり、競合する可能性があります。そのため、代替機能がある GPIO ピンの利用は避けた方がいいかもしれません。また、GPIO ピンによっては接触不良なのかきちんとデータの読み書きができないことがあります。その時は GPIO ピンを差し替えたりしてみて下さい。
最後に
Raspberry Pi 4 の GPIO ピン配置(ピンマッピング)についてまとめてみました。参考にしてみて下さい。