« 「第46回アミューズメントマシンショー」に行ってきました | メイン | GPSロボット・カーの製作(最終回:車体の製作) »

プチロボXケータイ操縦計画 ~その5 ファームウエアの制作(2)~

 前回に続けてプログラムの続きを説明します。

データ解析とコマンド実行

 ird[0]~[10]に赤外線受信データが読み込まれました。このデータをケータイ・リモコンのキーと照らし合わせて、プチロボのモーションを実行できるようにします。

 有効なのはird[6]、[7]、[8]ビットです。3ビットなので、7通りのコマンドが実行可能ですが、実際の操縦を考えて、下のように割り当てました。

携帯電話キー リモコン動作/ird[] ird[ ] プチロボXコマンド
 6   7   8 
2 チャネル"+" 0 1 0 前進
8 チャネル"-" 1 1 0 後退
4 音量"-" 0 0 1
6 音量"+" 1 0 1
1 "電源" 0 0 0 ホーム・ポジション

18_pr_foma.jpg

以上の定義を元にして制作したのが、データ解析とコマンド実行ルーチンです。

   //携帯リモコン・ビット解析、コマンド実行
if(ird[6]==0 && ird[7]==1 && ird[8]==0){//"2" or チャネル"+"
command=FW_F;//前進:
}
else if(ird[6]==1 && ird[7]==1 && ird[8]==0){//"8" or チャネル"-"
command=B;//後退:
}
else if(ird[6]==0 && ird[7]==0 && ird[8]==1){//"4" or 音量"-"
command=L;//左:
}
else if(ird[6]==1 && ird[7]==0 && ird[8]==1){//"6" or 音量"+"
command=R;//右:
}
else if(ird[6]==0 && ird[7]==0 && ird[8]==0){//"1" or "電源"
command=0;//ホームポジション:

}

//ホーム・ポジション設定処理省略

コマンド実行

 データ解析とコマンド実行ルーチンにより、実際に実行されるプチロボXのモーション実行関数をここに記述します。

//プチロボ動作コマンド実行
switch(command){
case FW_F://th Hi
forward_f(1);
break;
case B://th low
back();
break;
case R://right
r_turn();
break;
case L://左
l_turn();
break;
case FW2://el down
forward_f(5);
break;
case B2://el up
back();
break;
case R2://rd right
right();
break;
case L2://rd left
left();
break;
case NOOP:break; //ノーオペレーション
default://ホーム・ポジション
home();
break;
}

}//while()

}//main()

ダウンロード

 プチロボX赤外線モーションコントローラ用C言語ソース・ファイルおよびHEXファイルは【28K08005probo_keitai.lzh】よりダウンロードできます。


 以上でファームウエアの制作は終わりです。次回で、プチロボX操縦計画は完了します。

長野県飯田工業高校 竹内浩一

カテゴリ:

トラックバック

このエントリーのトラックバックURL:
http://www.eleki-jack.com/mt/mt-tb.cgi/1964

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

カテゴリ

会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。

Powered by
Movable Type 4.1