LoginSignup
21
25

More than 5 years have passed since last update.

Raspberry PiのGPIOを試してみた(LEDピカ版)

Last updated at Posted at 2016-01-07

Goal

  • 初心者であり、ハードを触り始め、色々知らないので、調べてまとめてみたい!
  • Raspberry Pi 2 からGPIO信号を操作できるようになるといいです!
  • できれば、NodeJSでやりたい。

まずは、GPIOとは?

  • Wikipedia により、GPIOはGeneral Purpose Input/Output(汎用入出力)の略語である。入力として動作した場合は電気回路のほかの部分からのデジタル信号を読み取り、出力として動作した場合は他デバイスの制御や信号の通知を行う。
  • できること
    • GPIO pins can be configured to be input or output
    • GPIO pins can be enabled/disabled
    • Input values are readable (typically high=1, low=0)
    • Output values are writable/readable
    • Input values can often be used as IRQs (typically for wakeup events)
  • デジタル出力のセンサの値やスイッチのON/OFFをマイコンに伝える入力や、マイコンの演算結果をLEDで表示したり、モータを動かす信号を出力したりする時などに利用します。
  • GPIOの内部では、CPUと外部装置でデータの受け渡しをするために、プログラムで扱うデジタル値(0または1)と信号(電圧のLOWレベルまたはHIGHレベル)の変換を相互に行います。 GPIO

(src: http://japan.renesas.com/edge_ol/engineer/16/index.jsp )

Raspberry Pi 2のGPIOは?

  • 正式サイト からのドキュメントにより、以下となります。

GPIO

分かりやすい図:

GPIO

もっと見やすい図:

GPIO

out機能を試す

簡単なLEDをON OFFやってみる

  • 回路を準備

LED

POINT:
- 抵抗を利用し、信号と電流を調整する
- LEDは(+)は3.3V側

  • 回路をテスト 電源を付けて、LEDが光ることを確認
  • GPIO回路を準備 ブレッドボードの配線はそのままで、Raspberry PiのGPIOポートのプラス側を、 1番の3.3V電源からとなりの3番「GPIO2」に差し替えます。
  • ON OFF コマンドからやってみる
// GPIO24 を使うためのコマンド 
$ echo 2 > /sys/class/gpio/export 

// IN/OUTの設定 出力する場合はout 
$ echo out > /sys/class/gpio/gpio2/direction 

// 信号のON/OFFの切り替え ONは1 OFFは0 
$ echo 1 > /sys/class/gpio/gpio2/value 

// OFFにする 

$ echo 0 > /sys/class/gpio/gpio2/value 
// unexport 

$ echo 2 > /sys/class/gpio/unexport

NodeJSでやる場合

こちらのnodeモジュールを利用します


var gpio = require('rpi-gpio');
gpio.setup(2, gpio.DIR_OUT, write);

function write() {
    gpio.write(2, true, function(err) {
        if (err) throw err;
        console.log('Written to pin');
    });
}

NODE-REDだと持って楽です、次はこちらで試したことを書く予定!

参考

21
25
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
25