ユビキタス鉄道模型
赤外線リモコン戦車
├ 赤外線送信側
├ 開発ソフト
├ 戦車受信側
├ 受信側ソフト
└ 終わりに
レーザ・グラフィックス
USB加速度センサマウス
ビジョンシステム
リアルタイムOS
LCD表示パネル
相撲ロボット
多自由度ロボット
 開発事例 TOPへ
 HOMEへ
イエローナビ
 ページTOPへ
 開発事例 TOPへ
 HOMEへ
YellowSoft.com
製品紹介 Q&A ダウンロード 開発事例 ユーザ ご購入 価格表 お問合せ
 赤外線リモコン戦車


  H8/3664Fを用いた赤外線リモコン戦車の製作
    前田博志


  受信側ソフト

  プログラムリスト

始めにbuff_ck()という関数を呼んでいます。この関数はまず、SIOのRXD端子より受信したデータがオーバーランエラー、フレーミングエラー、パリティエラーの3エラーがあるかないか判断しています。どれか1つでもエラービットが立っている場合、エラーコード0を返し、関数を抜けます。


今回使用した赤外線受光モジュールSPS−443−1はこのパッケージにさらに可視光カットフイルタなどを付けるタイプなのか、けっこう蛍光灯の商用電源によるちらつきの影響を受けます。他に購入した素子を評価していないのでなんともいえませんが、一応外乱光対策として3エラーの対策は必要です。
エラーがない場合、受信済みのデータがあるか無いか判断し、ある場合のみ1を返します。データがある場合、char_in()関数で1文字受信します。ポートを初期化しモータ、LEDをOFFします。50msec程度待ってからデータの種類を判断しています。
それぞれ受信アスキーコードデータ A〜Fを以下の動作に割り振りました。


A=前進(両モータ前方回転)
B=後退(両モータ後方回転)
C=右後退(右モータのみ後方回転)
D=右前進(左モータのみ前方回転)
E=左後退(左モータのみ後方回転)
F=左前進(右モータのみ前方回転)


受信データ応じたデータをP80〜P83に出力し、2つのTA7257Pを制御しています。
データが上記以外の場合、ポートをOFFさせてモータを停止します。データがA〜Fであったことさえわかればいいので50msecまってLEDをOFFさせています。数メートル離れた地点からでもこの程度の時間で確認できました。
1秒動作したらP8ポートすべてをOFFし、また入力まちとなります。
全体の動作はアルカリ電池が新品の時に5m離れた場所から制御できる程度の実力でした。



← 戦車受信側 5/6 終わりに →