2010.11.16(火)電子工作Ⅱ、今日は、「5・押しボタンスイッチと超音波センサによるDCモータの正転・逆転・停止・ブレーキ回路」です。
丸い大きな超音波センサーを使います。片方が送信用、もう片方が受信用です。超音波センサーの反応に応じてモータが正転・逆転・停止をします。
部品面↑ はんだ面↑
前回同様、うまくいかないときには、テスタだけなく、オシロスコープでパルスの波形や周波数をチェックしたりして原因究明をしていきます。回路(ハードウエア)側で問題がなければ、後はプログラム(ソフトウエア)側の問題です。
今回のプログラムのフローチャートとソースコードはこんな感じです。
フローチャート↑
説明用メモ入りソースコード↑
組込み分野では、while(1)でわざと無限ループを作り、その中でセンサの値やスイッチの状態に応じた処理をさせます。今回は、どのボタンが押されたかに応じてif-elseif文で分岐させました。
処理の中にあるdelay_ms(300)は300ミリ秒だけ処理を止めているのですが、そうしておかないと処理が速すぎて人間の感覚では反応がわかりません。
以下、動画です。
コメント