おまけ,タイム自動計測マイクロマウスのタイム自動計測用回路を作製します.始めに,シリアル通信の実験. 可能な限り簡単にシリアル通信で外部基板からPCに信号を取り込みたいと思って,PICを使ったシリアル通信をやってみました. 使用したのは,PIC16F84A,USARTは付いてません. なので,シリアル通信のパターンをプログラムで作成して送信します. 回路図は,こんな感じ. レベル変換用のMAX232などは使用せず,トランジスタと抵抗分割で,0±約5V(電源電圧に依存)の信号をつくりましたが,PC側がうまく受信してくれました. (なぜなら,手持ちが無かったし安くすませたいから) ![]() 回路をブレッドボードで作成したところ. ![]() 信号の波形例 ![]() PCに接続して,ターミナルアプリを起動します. ![]() 通信速度は,19200bps,バイナリモードで信号を取り込むと,このように,スイッチのON-OFFで読み込まれるデータが変化しました. ![]() プログラムはこの位です. MPLAB上でC言語による開発,コンパイラはPICC-LITEです. ![]() マイクロマウス大会の時間計測に使うのですが,PCでストップウォッチのプログラムを組んで,シリアルポートからスタート・ストップの信号を取り込むとして,どの位の精度で計測できるのか・・・? やってみないとわからないので,とりあえずやってみます. 次は赤外線センサの実験. 指向性のある赤外線フォトダイオードとフォトトランジスタでは 長距離まで検出可能なようですが,調整が難しそうなので, 指向性があまりないフォトダイオードを使ってみました. 最初は感度調整のボリュームを入れていましたが,固定倍率でも ON-OFFだけなら検出できそうです. 別に迷路をライトで照らすつもりもないですし. あとは,ON-OFFを昨日作ったシリアル通信でPCに送って, VBでプログラムを組めば,低コストで自動計測ができそうです. 問題は,応答速度と時間の確度ですが,相対的に不公平がなければ 問題ないのでは,と思っています. たぶん,人がストップウォッチで測るよりはましでしょう. ![]() センサを支柱に仕込みます. こんな感じで支柱の加工とセンサ取り付けをしました. 注文した卓上ボール盤がくるまでは,手回しドリルでがんばります. ![]() 横から穴を開けて, ![]() 下からも穴を開けて, ![]() こんな風に配線を通して, ![]() 先に赤外線LEDを取り付けます. ![]() 表面の赤外LED. ![]() 裏面は紙を貼って穴を塞ぎ, ![]() 赤外線フォトトランジスタも仕込んでワンペア完成. ![]() 3ペア作っておけば,スタートとゴール2箇所はセンスできます. ![]() 心配なのは,赤外LEDの光軸の広がりと裏からのわずかな漏れがマウスの走行に悪影響を与えないか? 回路の製作 とりあえずテスト用に,9V電池とセンサ1ペアを直付け. ![]() シリアル信号が出ていることを確認. ![]() 光を受けると1ビット分反転してます. ![]() こんな感じでプログラムを組んでみました. あと2日くらいかければ完成しそうです. 持ち時間内で5回走行して,タイムを記録し,ランキングを出すプログラム. ![]() その後いろいろ手直しして動作しました. あとは,迷路の組み込んで,プログラムの作り込みと, 計測に失敗したときの対処をすれば完成. 最後まで行かないうちに本業の論文の修正を要求されたので, 次はそっちにかかりっきりになりそうです... 初期画面 ![]() スタートセンサを横切ったところ. ![]() ゴールセンサを横切ったところ. ![]() 一度スタート・ゴールしたら,また自動計測を再セットしないといけないように つくってあります. 動画はこちら ジャンル別一覧
人気のクチコミテーマ
|