2015年7月13日月曜日

突発! 技術実証アクリルケースジオラマを作る!(8)ラズパイ熱闘編・プログラムがんばる。

 鎗田区内ジオラマともいう「技術実証ジオラマ」。

 こんなのできますよー、というのを実証したくて作ってます。



 実際には私にはこれまでできないことばっかりだったんですが、

 できるようになっていくのが嬉しいという。


こんな幅280mmの小さなジオラマですが、

ギュッと色々詰め込みます。


目下灯りのギミック作成中。

スイッチめちゃめちゃ多くなりそうなので、

できれば小さな液晶パネルを見ながら、

GUIで制御して、

なおかつスケジュールを組んでの演出もしたいなと。


で、どんな具合に進んでいるかというと。


まず、GPIOというRaspberryPIの出力を制御するために、

wiringPiを導入。

これでgpioコマンドで楽にGPIOというポートに繋いだLEDが簡単に制御できます。

プログラムも組みます。C言語で組みます。

はじめはNetBeansという開発ソフトを、

Windowsの母艦PCでつかってプログラミング、

それをRaspberry Piに転送して、そこでビルドして動かしてました。




動くことは動きますが、

コマンドラインからコマンドで起動してました。

なおかつ、


TFTパネルを使おうとしたら、GPIOのじゃまになってそれが使えず、




なんとかTFTパネルに必要な7ピン分だけの入出力を配線したら、

こんどはメスーオスケーブルが足りない。


しかし!

そこで思った。

GPIOをまとめて延長しちゃえば良くね? と。


で、GPIOは40ピン。

40ピンメスコネクタ付きフラットケーブルを使えば、

今のGPIOみたいにメスーオスケーブルでなくても、

普通のオスーオスケーブルでブレッドボードと配線できるはず。

と思った。


すると、我が家のジャンク箱に、それっぽいケーブルが。

だが。


おしい! さし間違え防ぐために1ピン埋まってる39ピンだった。


というわけで、秋月に40ピンケーブルを発注。


で、とどいた。

ちょっとコネクタの一部が干渉するけど、

そこを削る。こういう工作は慣れたもの。


で、


無事、ブレッドボードとTFTを共存させることが出来ました。


うむ、ラズパイBからは40ピンケーブルは必須だな。教訓であった。


とりあえず、LEDをテスト用のものから、実際に使う建物模型に繋ぎ変えた。



ドリフみたいになった。



で、次は、TFTパネルの活用です。

せっかくのTFTパネルも、

コマンドラインから入力してるんじゃもったいない。

というわけで、X-Window上からGUIで操作できるようにします。


途方に暮れましたが、

GTKというのを使えば何とかできそうです。


もうこうなるとNetBeansのオプションにwiringPiだけでなく、

GTKも設定せねばならず、

オプション設定が複雑で、なおかつ全然うまく行かない。


そこで、結局色々考えたけど、

もともとRaspberryPI上でビルドしてるんだから、

デバッグもRaspberryPIでやっちゃえばいいんだし、

それだったらプログラムソースだけ書ければいいよね。

あとは、Tera Termの画面にソースファイルを突っ込んで転送して、

ビルドかければ、一緒にデバッグもしてくれるよねと。

ただ、単純なミスはいやだけど、

gPadというテキストエディタでけっこうミスを拾ってくれる。

それに、おかしいところをRaspberryPIが何行目の何文字目、って教えてくれるし。


なんだ、これでいいじゃん……。


これで困るようになってから、次のことを考えよう、っと。


というわけで、GTKを使ってみます。

とりあえずラズパイをいじるなら、

「こじ研」さんと「うしこlog」さんをメインにみてればなんとかなると思う。

とりあえず今回もまた「こじ研」さんを見て、勉強。


まあ、仕組みは以前作ったフォームアプリと同じ。

ただ、フォームを事前にGUIでデザインできないのがしんどいけど、

負けるもんかである。

Windowのデザインをなんとか理解しようとして、



結局こんなかんじに。

標準出力に出す処理のところに、

GPIOコマンドを書き加えて、実行。


おおー、なんとか動く。





せっかくのTFTパネルのタッチ機能も使ってみます。

無事、タッチペンで操作出来ました。




で、いろいろ操作しながら考える。


だいたい、こんな順序で点灯させたいのね。


ちなみにバーの灯りはPWM制御になってじわっと点滅するようにしてある。


あとはスケジュールを作って点灯させるのと、

スケジュールを巻き戻したり任意のステップから入り込んだりできたらいいなと。


そんなことを考えつつ、灯りと戯れるのでありました。案外この時点ですでに面白い。



そんな暑い一日でした。ネコたちは今日もぐっすりでした。

0 件のコメント:

コメントを投稿