そんな電子工作をやってみたいとおもったのがRaspberry Piを買った理由のひとつでもあります。
Raspberry Piで電子工作をするには、ブレッドボードがあるとお手軽にはじめられます。
ブレッドボードとRasberry Piをつなぐには、ジャンパワイヤー(オスーメス)が必要です。
LEDとかブレッドボードを持っていないならば以下があるとよさげです。
まずは、GPIOのシンプルな使い方でLEDを光らせてみます。
Raspberry PiとLEDは以下のように接続します。
今回は27番PINを利用しています。
Raspberry PiのPINに関する情報は、以下が参考になります。
http://blog.livedoor.jp/victory7com/archives/25716142.html
以下のようにすれば、ルート権限のシェルでLEDを光らせることができます。
sudo su echo 27 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio27/direction echo 1 > /sys/class/gpio/gpio27/value echo 0 > /sys/class/gpio/gpio27/value echo 27 > /sys/class/gpio/unexport
上から順にざっくり説明すると
27番PINを利用することを宣言して、
27番PINを出力でりようすることを宣言して
27番PINの出力をHIGHにして
27番PINの出力をLOWにして
27番PINの利用を終了する
という感じです。
以下が参考になります。
とりあえず、上記でやっていたことをRubyでやってみます。
exp = open("/sys/class/gpio/export", "w") exp.write(27) exp.close dir = open("/sys/class/gpio/gpio27/direction", "w") dir.write("out") dir.close out = 1 20.times do val = open("/sys/class/gpio/gpio27/value", "w") val.write(out) val.close out = out == 1 ? 0 : 1 sleep 0.5 end uexp = open("/sys/class/gpio/unexport", "w") uexp.write(27) uexp.close
これをled.rbとでもして保存してrootで実行するとLEDがチカチカします。
きっと便利なgemがあると思って探してみたところ
pi_piper
というものがありました。
gem install pi_piper
でインストールできます。
でpi_piperを利用すると以下のような感じです。
require 'pi_piper' pin = PiPiper::Pin.new(:pin => 27, :direction => :out) 10.times do pin.on sleep 0.5 pin.off sleep 0.5 end uexp = open("/sys/class/gpio/unexport", "w") uexp.write(27) uexp.close
これをled2.rbとでもして保存してrootで実行するとLEDがチカチカします。
すっきりしたような気がします。
最後の27番PINの利用をやめる部分はpi_piperでは対応してなかったので、led.rbのときと同じです。
Lチカだけで終わらないようにしたいなぁと思います。
0 件のコメント:
コメントを投稿