やっと、AVRマイコンでモーター制御がなんとかできる目処が付きました。
いろいろな方から、マイコンとモーターの電源は分けたほうが良いとの意見をいただきました。 ご指摘ありがとうございます。
ここまで、なんと長い道のりであったことでしょう。
出力側の目処が立ったので、今度は入力側の研究です。
レスキューの基本は
黒ラインをたどる ⇒ 光センサー
障害物の回避 ⇒ タッチセンサー(まあ、単純にスイッチ)
傾斜路の検知 ⇒ 水銀スイッチや加速度センサー
といったところだと思います。
まあ、どれもこれまでに実験したものばかりなので、簡単だ・・・などと思っていたのですが・・・あれっ、光センサーの値ってどうやって計るの?(どうやって知るの?)
「AVRマイコン活用ブック」に掲載されているロボットなどでは、シリアルケーブルでパソコンと接続して、光センサーの値をパソコン上に表示して値を計測するみたいです。(TJ3とかと同じですね。)
やっぱり、そういう仕組みが必要なのか。
今考えている案は
案1 王道?の通り。 パソコンとシリアルケーブルで接続してパソコンの画面で確認する。
⇒TJ3もこの方法ですね。 できればやりたくないなぁ。 単にパソコン側にプログラムを用意するのが面倒なだけですが・・・
案2 AVRマイコンにLEDをたくさん付けて、光センサーで読み取った値を2進数で表示する。
⇒これならできるかもしれないなぁ。 でもポートがもったいない。
案3 AVRマイコンにブザーを付けて、モールス信号とかで表現する。
⇒これもできるかも! でも、不便。
案4 AVRマイコンにLCDを付けて光センサーの値を表示する。
⇒やっぱりこれが一番現実的か? LEGO方式ですね。
あと、もうひとつ。
案5 光センサーの値をEEPROMに格納する。
⇒これも、実現可能かも? EEPROMに格納しておいて、あとでパソコンに接続したときにISP経由で読み込めば値が分かるのではないでしょうか。
まだまだ先は長そうだ・・・ふぅ~っ。