ラズベリー・パイGPIOのツアー

01の09

ラズベリーパイのピンの紹介

ラズベリーパイGPIO リチャードサヴィル

「GPIO」(汎用入力出力)という用語は、ラズベリーパイ専用の用語ではありません。 入力ピンと出力ピンは、Arduino、Beagleboneなどのほとんどのマイクロコントローラで見つけることができます。

ラズベリーパイとGPIOについて話すとき、ボードの左上隅にあるピンの長いブロックを参照しています。 古いモデルは26ピンを持っていましたが、私たちのほとんどは現在のモデルで40を使用しています。

コンポーネントや他のハードウェアデバイスをこれらのピンに接続し、コードを使用してコンポーネントの動作を制御することができます。 これはラズベリーパイの重要な部分であり、エレクトロニクスについて学ぶ優れた方法です。

いくつかのソフトウェアプロジェクトが終わった後で、あなたのコードをハードウェアとミックスして「実生活」を起こすことを熱望している可能性があります。

このプロセスは、あなたが新しいシーンであれば脅威になる可能性があります。誤った移動がラズベリーパイを傷つける可能性があることを考慮すると、初心者のための神経質な領域です。

この記事では、GPIOピンの種類と制限について説明します。

02の09

GPIO

GPIOピンには1〜40の番号が付けられ、異なる機能の下でグループ化できます。 リチャードサヴィル

まず、GPIO全体を見てみましょう。 ピンは同じように見えるかもしれませんが、ピンはすべて異なった機能を持っています。 上記の画像は、これらの機能をさまざまな色で示しています。これらの機能については、次の手順で説明します。

各ピンは左下から1〜40の番号が付けられています。 これらは物理的なピン番号ですが、コードを記述する際に使用される「BCM」などの番号付け/ラベリング規則もあります。

03の09

電源&グラウンド

ラズベリーパイは、複数の電源ピンとグランドピンを備えています。 リチャードサヴィル

赤色で強調表示されているのは、3.3Vまたは5Vに対して '3'または '5'とラベルされた電源ピンです。

これらのピンを使用すると、コードを必要とせずにデバイスに直接電力を送ることができます。 これらをオフにする方法はありません。

3.3ボルトと5ボルトの2つの電源レールがあります。 この記事では、3.3Vのレールは50mAの電流に制限されていますが、5Vのレールは、Piが必要とする電流を消費した後に電源から残っている容量を提供します。

グラウンドピン(GND)は茶色で強調表示されています。 これらのピンは、まさに彼らが言うことです - グラウンドピン - どの電子工学プロジェクトの重要な部分です。

(5V GPIOピンはフィジカルナンバー2と4です.3.3V GPIOピンは物理ナンバー1と17です。グラウンドGPIOピンは物理的な番号6,9,14,20,25,30,34,39です)

04/09

入出力ピン

InputピンとOutputピンを使用すると、センサやスイッチなどのハードウェアを接続できます。 リチャードサヴィル

緑のピンは、私が「汎用」の入出力ピンと呼ぶものです。 これらは、I2C、SPI、UARTなどの他の機能との衝突を心配することなく、入力または出力として簡単に使用できます。

これらは、LED、ブザー、または他のコンポーネントに電力を送ることができ、センサ、スイッチまたは他の入力デバイスを読み取るための入力として使用することができるピンです。

これらのピンの出力電力は3.3Vです。 各ピンは、シンクまたはソーシングのいずれかの電流が16mAを超えてはならず、一度にGPIOピンのセット全体が50mAを超えないようにしてください。 これは制限的なものになる可能性がありますので、特定のプロジェクトでクリエイティブになる必要があります。

(汎用GPIOピンは物理的な番号7,11,12,13,15,16,18,22,29,31,32,33,35,36,37,38および40である)

05の09

I2Cピン

I2Cを使用すると、わずか2本のピンで他のデバイスをPiに接続することができます。 リチャードサヴィル

イエローではI2Cピンがあります。 I2Cは、デバイスがRaspberry Piと簡単に通信できる通信プロトコルです。 これらのピンは「汎用」GPIOピンとしても使用できます。

I2Cを使用する良い例は、非常に普及しているMCP23017ポート拡張チップです。このI2Cプロトコルを使用すると、より多くの入出力ピンを提供できます。

(I2C GPIOピンは物理ピン番号3と5です)

06の06

UART(シリアル)ピン

UARTピンとシリアル接続でPiに接続します。 リチャードサヴィル

灰色で、UARTピンです。 これらのピンは、シリアル接続を提供する別の通信プロトコルであり、「汎用」GPIO入出力としても使用できます。

私の好きなUARTの用途は、USB経由で私のPiからラップトップへのシリアル接続を可能にすることです。 これは、アドオンボードやシンプルなケーブルを使用して実現でき、Piにアクセスするための画面やインターネット接続の必要性を排除します。

(UART GPIOピンは物理ピン番号8と10です)

07の09

SPIピン

SPIピン - もう一つの有用な通信プロトコル。 リチャードサヴィル

ピンクで私たちはSPIピンを持っています。 SPIは、Piバスと他のハードウェア/ペリフェラル間でデータを送信するインターフェイスバスです。 これは、LEDマトリックスやディスプレイなどのデバイスの連鎖によく使用されます。

他のものと同様に、これらのピンは汎用のGPIO入出力としても使用できます。

(SPI GPIOピンは物理的ピン番号19,21,23,24、および26です)

08の09

DNCピン

DNCピンは機能しません。 リチャードサヴィル

最後に、青色の2つのピンがあり、現在は「接続しない」という意味のDNCというラベルが付けられています。 Raspberry Pi Foundationがボード/ソフトウェアを変更した場合、これは将来変更される可能性があります。

(DNC GPIOピンは物理ピン番号27と28です)

09 09

GPIO番号付け規則

Portsplusは、GPIOピン番号をチェックするための便利なツールです。 リチャードサヴィル

GPIOでコーディングする場合、GPIOライブラリをBCMまたはBOARDのいずれかの方法でインポートすることができます。

私が好むオプションはGPIO BCMです。 これはBroadcomのナンバリング規約であり、プロジェクトやハードウェアのアドオンでより一般的に使用されています。

2番目のオプションはGPIO BOARDです。 この方法では物理ピン番号を使用しますが、これはピンを数えるときに便利ですが、プロジェクトの例ではあまり使われていません。

GPIOモードは、GPIOライブラリをインポートするときに設定されます。

BCMとしてインポートするには:

RPIO.GPIOをGPIO GPIO.setmode(GPIO.BCM)としてインポートします。

ボードとしてインポートするには:

RPIO.GPIOをGPIO GPIO.setmode(GPIO.BOARD)としてインポートします。

これらの方法はまったく同じ仕事をしますが、それは単なる番号付けの問題です。

私は、RasPiO Portsplus(写真)などの便利なGPIOラベルボードを定期的に利用して、どのピンを私がワイヤに接続しているかをチェックします。 片側にBCMナンバリング規約が表示され、もう片方にボードが表示されます。