- 公開日:2018年12月28日
- | 更新日:2022年10月27日
新人FAEの「人感リモートレリーズ」作成への道(4)
- ライター:やっとも
- その他
あらすじ
基本動作②、③を行いました。接続のミス、ジャンパーの断線、電圧の測定、全てテスターを使って切り抜けました笑。
今回はいよいよリモートレリーズのソフト作成に取り掛かっていきます。
プログラミングの設計
ハード作成と同じように、プログラミングも設計をします。処理の流れをフローチャートにして示します。プログラミングの内容と流れがとてもわかり易くなりました。以降のプログラミングでは、このフローチャートを元に製作していきます。
処理フローチャート
製作① センシング値を表示
基本動作①でもお話ししたように、センサが人を感知して生じた電圧は、マイコンの10ビットアナログ・デジタルコンバータで0~5Vを0~1023までの値に変換して表されます(10ビット=10進数で1023)。この値をディスプレイに表示しようと思います。
Arduinoの開発環境にはシリアル通信とLCDモジュールを操作するライブラリが用意されています。この2つを組み合わせることで表示ができるはずです。
センシング値を表示
うまく表示することが出来ました。これは思ったとおりのプログラミングで正解でした。モニタの値は、非検知時は0で検知時は1023を示しました。中間の値はほとんど示さずHighかLowか、デジタル的な検知をしていると分かりました。
製作② センシング回数を表示
センサが検知した回数を示します。
カウントが正しく表示されない
しかし、様々な組み合わせを試しましたが、どれも表示出来ません。一度ハマってしまうと、なかなか抜けません。まさに底なし沼です。新たなアイデアが思いつくまで悶々としながらも地道に修正していきます。
センシング値とセンシング回数を表示
ようやく表示が出来ました。この表示に必要なプログラムは、自分がはじめに考えていたものよりもとてもシンプルに作ることができました。この沼から抜け出すのに時間がかかってしまいましたが、うまくいって本当に良かったです。いいトレーニングになったと思います。
製作③ センサでカメラ操作
センサとカメラを接続
センサでカメラ操作を行えるようにしていきます。センサが人感をしたときに、フォーカスに信号を送り、一定時間が経過した後にフォーカスに信号を送るようにします。
かざした手にしっかり反応
写真が撮れました!
少しブレがあったので、フォーカスとシャッターの間の時間を調節して、カメラが十分ピントを合わせてから撮影するように設定をしました。
これで機能は全て実現することが出来ました。後は実装するのみです。
全てのプログラミングを考えて正しく動かすのにデバックを重ねて一週間位はかかったと思います。それでも少しずつ自由にプログラミングが出来ている実感があって、取り組んだ甲斐があったと思っています。
次回はいよいよ人感リモートレリーズが完成するのでしょうか。。。?