2015.05.07
【Raspbarry Pi】GPIOを使って遊ぼう
ここを使ってこそRaspbarry Piをいじっている感じがします。
通常はここを使ってLEDとかを光らせて遊ぶってのが
普通なのですが自分はちょっと違う。
目標としてはパチスロカウンタの無線化。
そのためにピン情報が変更されたらデータをどこかへ
送信するハードとしてRaspbarry Piを使う感じです。
a-slotとかでは無線化ツール一式で販売しているが高すぎる。
1セットで2万5千円もするので買う気にならない。
Link:【即日出荷】A-カウンター 【ワイヤレスで便利。これ1つでパチンコ・パチスロどちらにも使えます。】
なら自分で作ればいいやんということでRaspbarry Piで
作ってみようという感じです。
そういうことをもやっているひとがいるので頑張ればできるはず。
信号を送るのではなく信号を受け取る感じなので
信号変更でコールバックを登録できるものが理想的。
そんなものがないか探します。
・C言語 WiringPi
まず、一番理解しているC言語でライブラリがないか探してみる。
その中では、WiringPiがよいみたい。
Link:WiringPi
この中のwiringPiISR関数を使えばピン情報の変更で
コールバックとして呼び出される用にできるらしい。
使ってみた結果としてはコールバックとしては正しいのかも
しれないけど信号の安定力が全くない。
さらにコールバックとして変化したよくらいしか送られてこないので
ONなのかOFFなのかはさらに調べ直す必要があるみたい。
そのタイミングでさらに値が変化しているらしく正確な値がとれない。
他言語でもWiringPiライブラリが出ているみたいですが
C言語でこんな状況ではほかライブラリもだめでしょうということで諦めます。
・PHP php-gpio
Web側でよく使うPHPでできないかと探したらそいういうものもあるみたい。
Link:ronanguilloux/php-gpio · GitHub
しかし、これの割り込みをとる方法がわからない。
てことで、これも使う気にならない。
・Ruby pi_piper
次はRubyのpi_piperを試します。
使い方についてはこの辺りを参照。
Link:橋本商会
Link:メガネの縁: pi_piperのインストールに失敗する
Rubyは触ったことがないのでサンプルを適当に書き直して
テストしてみたと所、自分の思った通りの動きをします。
そして、使い勝手がいいように前の値と今の値を両方保持している構造をしています。
素晴らしい出来なのでこれを使っていこうと思います。
だけど、Rubyは触ったとこがないので構文とかもまったくわからず。
がんばって、これからおぼえてきますか。
そんな感じで順調に作業が進んでいます。
まだまだ先が長いですががんばりましょう。
[aws asin="4797372273"]
関連記事