きっかけ
- Raspberry Piが余っていたから
- クリスマスまでに何かしたかったから
- 外で見た自転車を漕ぐと点灯するイルミネーションを見たから
- 友達に「工学部だからキーボードで点灯するようにしたら」と言われたから
本屋で見たイケメンが「Raspberry Piで何か作りてーな」っていう意識高いことを言っていたのがムカついたから
参考にしたもの
やりたいことはLチカ(LEDをチカチカ点灯させること)だったので、以下を参考にしました。
さっそく
できました。
キーボードを叩くと、
点滅します。
仕組み
まず、OSの準備からですが、第8回「2皿目のラズベリーパイ!Model B+のスピード調理に書いてあるので割愛します。
次に、ブレッドボードにLEDと抵抗、導線を次のように置きます。
ちなみに置きかたについても、第9回「ラズベリーパイで電子工作!Lチカ…の前にLピカ!」に書いてあるので割愛します。
LEDを光らせる電源として利用するのはRaspberry PiのGPIOです。
GPIOはRaspberry Piからの命令を電気信号で送る部分のことです。
LEDは次のようにつなぎます。抵抗を反対につなげると光りません。
GPIOのピンは次のような配置になっています。
黄色丸は命令が来るピンで、黒丸はアース(接地)のピンです。ちなみに、濃い黄色丸や赤丸は安定して電気が流れているピンです。
使用しているのはRaspberry Pi B+なのでA+と比べ、ピンの本数が違いますが、左から26本目までは同じらしいです。
今回は、3、6、14を利用します。(14番は本当は必要ないんだけど、接地まで導線が届かなかった...。)
さて、この3番のGPIOに電気信号を流す方法です。
Raspberry Piのターミナルを開いて、次のコマンドを打ちます。
Raspberry Piのターミナルを開いて、次のコマンドを打ちます。
すると、
ここで、次のコマンドを打ちましょう。
/sys/class/gpio/
内に、gpio2へのエイリアスが作られます。ここで、次のコマンドを打ちましょう。
これで点灯テストは終了です。
次に、点灯させるためにキーボード入力の検出をしましょう。
とは言っても、調べてみると、キーボード入力のイベントハンドラ(キーボードで打ち込んだら動くプログラム)を検出しないといけないので、ちょっと面倒くさい。
なので、標準入力を使いましょう。
OSには標準でPython2と3が入っているので、2を使います。(3を使ったほうがいいことはわかりますが、調べた方法では3が使えなかった...。)
次にこのコードを書きます。text editerが使いやすいかも。
そして、
これでキーボードをカタカタすると光るはずです。
次に、点灯させるためにキーボード入力の検出をしましょう。
とは言っても、調べてみると、キーボード入力のイベントハンドラ(キーボードで打ち込んだら動くプログラム)を検出しないといけないので、ちょっと面倒くさい。
なので、標準入力を使いましょう。
OSには標準でPython2と3が入っているので、2を使います。(3を使ったほうがいいことはわかりますが、調べた方法では3が使えなかった...。)
次にこのコードを書きます。text editerが使いやすいかも。
そして、
python2 getch_test.py
で実行しましょう。(実行する前にgetchをインストールしておきましょう。pip install py-getch
でできます。)これでキーボードをカタカタすると光るはずです。
感想
目的は一応達成しました。とにかく、
「クリスマスの光は僕らのタイピングでできているんだ...。」がやりたかった。
反省点としては、
確かに光るんだけども、消えたりしないでほしい。交互に光ってほしい。反転するようにしたら良いかも。GPIOピンを2つ使えばいいかな。
あと、LEDの数が少なくてしょぼい。悲しい。
くらいです。来年もやりたいな。修論...。
0 件のコメント:
コメントを投稿