GPIO とは
この記事は
Raspberry Pi 勉強会
の一部です。
GPIO
は、General Purpose Input/Output(汎用入出力)の略語である。
入力として動作した場合は電気回路のほかの部分からのデジタル信号を読み取り、出力として動作した場合は他デバイスの制御や信号の通知を行う。
GPIO: MODELS A+, B+, RASPBERRY PI 2 B AND RASPBERRY PI 3 B
ラズパイのGPIO
ラズパイのGPIOは、デジタル入力とデジタル出力の他に、
PWM
、
シリアル
、
I2C
、
SPI
などの機能があります。
アナログ入力はありません。
MCP3208
などの I2C や SPI などのインターフェイスを有するAD変換器を使います。
シリアルは、初期状態では、
シリアルコンソール
になっていますが。
プログラムから使うこともできます。
参考
GPIO: MODELS A+, B+, RASPBERRY PI 2 B AND RASPBERRY PI 3 B
GETTING STARTED WITH PHYSICAL COMPUTING ON THE RASPBERRY PI
ピン配置
図は、ラズパイ 2B のものです。
ピン番号の呼び方には、物理ピン、BCM_GPIOピン、WiringPi ピンなどがあります。
プログラムでは BCM_GPIOピンを使うことは多いです。
GPIOの電流制限
1ピンあたり 3.3V 16mA
複数本が同時に流せる電流 50mA
参考
Arduino は、1ピンあたり 5V 40mA
POWER SUPPLY - Raspberry Pi
発光ダイオード LED
発光ダイオード
(LED : Light Emitting Diode)はダイオードの一種で、順方向に電圧を加えた際に発光する半導体素子である。
電気特性
順方向電圧 (Forward Vias) と呼ばれる一定の電圧を境に、電流が流れない状態 (LED消灯) から、電流が流れる状態 (LED点灯) に変化します。
電流が流れる状態では、無限に電流が流れるので、ドライブ側の半導体やマイコンの端子が焼き切れることがあります。
それを防止するため位、電流値を制限する制限抵抗を挿入します。
LEDの制限抵抗
GPIOの電流制限に留意して、抵抗値を決めます。
例えば、LEDに10mA 流したときは
180Ω = 3.3V - 1.5V(LEDの順方向電圧) / 10mA
参考
LEDの基本 - マルツ
LEDの接続
P11(GPIO17)とP6(GND)の間に、LEDと330Ωの抵抗を直列に入れます。
CONNECTING AN LED WITHOUT A BREADBOARD
抵抗器
抵抗器
(resistor)とは、一定の電気抵抗値を得る目的で使用される電子部品であり受動素子である。
カラーコード
小型の抵抗器には色の帯により抵抗値と誤差を表現するカラーコードが使われています。
参考
抵抗のカラーコードとE系列
タクトスイッチ
タクトスイッチは、
タクタイルスイッチ
(Tactile switch) の略で、「感触のあるスイッチ」という意味です。
人が操作部を押し込むことで電気回路を通電させます。
具体的には、操作部を押すとオンに、離すとオフになる「モーメンタリ」といわれる動作になります。
通電できる電圧および電流は、小さい領域に限定されます。
回路図
スイッチをP1(+3.3V)とP13(GPIO 27)の間に入れます。
スイッチには縦横があるので注意してください。
10KΩの抵抗をP13(GPIO 27)とP9(GND)の間に入れます。
抵抗は、スイッチがオンしたときに、+3.3V と GND が短絡されて、無限に電流が流れるのを防止するためです。
通常は、GPIO 27入力は Low ですが、 Hスイッチを押すと High になります。
ブレッドボード
ブレッドボード
(breadboard)とは、電子回路の試作・実験用の基板のことである。
各種電子部品やジャンパ線を差し込むだけで電子回路を組むことの出来る、はんだ付けが不要な基板である。
ブレッドボードの配線
図のように、内部で配線されている。
ブレッドボード接続キット
ラズパイのGPIOのピン数が多くて、間違えやすいです。
ブレッドボード接続キット
がお勧めです。
ブレッドボード接続キットのハンダ付け
ハンダ付けの際には、注意してください。
ピンヘッダが2種類あります。
基板に対して、表裏からはさみ込むようになります。
ブレッドボードに刺したときに、ピン番号が見えるようにします。
I2Cデバイス
ラズパイと接続できる3.3V対応のI2Cデバイスです
小型LCDモジュール AQM0802
温度センサ ADT7410
温度センサ TMP102
大気圧センサー MPL115A2
気圧/高度センサ LPS331
3軸加速度センサ LIS3DH
3軸加速度センサ ADXL345
3軸ジャイロセンサー L3GD20
ディジタル・コンパス HMC6352