• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

ジロハチの愛車 [トヨタ エスティマハイブリッド]

ステアリングパッドスイッチを赤外線リモコンにする【ソフト編】

カテゴリ : オーディオビジュアル > カーオーディオ、ビジュアル > 自作・加工
目的チューニング・カスタム
作業DIY
難易度★★★
作業時間12時間以上

作業日 : 2017年07月08日
1
「ステアリングパッドスイッチを赤外線リモコンにする」を【ハード編】【加工編】【取付け編】で紹介しましたが、最終章の【ソフト編】になります。
今回、この赤外線リモコンを作成するのに、一番時間が掛かった部分でもあり、これなくして赤外線リモコンは絶対完成できません。また多くの方が挫折する部分がこの【ソフト編】になるかと思います。

今回、PIC12F1822を使ってプログラム開発しましたが、他のマイコンにも流用できると思います。マイコン自体は100円ぐらいで手に入ります。
http://akizukidenshi.com/catalog/g/gI-04557/
だた、プログラムを開発する為の環境構築には些か費用がかかります。
特に、PIC用プログラムソフト(当方はCCS-Cを利用)や作ったプログラムを書き込む為のPICライターが必要になります(写真はPICライター PICkit3)。
※最低でもPICライターは必要になります。当方はAliExpressより1400円ぐらいで入手しましたが、国内で買うと5000円ぐらいで入手できます。

PICkit3入手に関する情報はブログで紹介していますので、興味のある方はどうぞ
http://minkara.carview.co.jp/userid/2424459/blog/39776791/
2
全プログラムを掲載するのは無理なので、ファイルをアップロードしましたので、興味のある方は下記よりダウンロードして下さい。言語はCCS-Cを使って開発しています。

【ESTIMA_IR_Transmitter_for_Degizo.c】がメインのプログラムになるファイルです。
https://drive.google.com/file/d/0B5H8Dnl0JtNWczl4bmM2RmVsZWs/view?usp=sharing
【IR_Degizo.h】デジ像用のヘッダーファイルになります。※メインプログラムでIR_Degizo.hを参照していますので、必ず必要になります。
https://drive.google.com/file/d/0B5H8Dnl0JtNWNVFra0tOaFBSdTg/view?usp=sharing
3
CCS-Cにてコンパイルすると、2個ほど警告が表示されますが、一応HEXファイルまでは作成できます(長押し判定用のルーチン処理で怒られますが、動作的には問題なかったので、そのまま放置しました)。
4
IR_Degizo.hは、デジ像の赤外線コードをまとめたヘッダーファイルになります(リモコンで使われている全キーを記載しました)。
#define i_*****という表記になっていますが、「i」はIR(赤外線)の頭文字を意味しています。
*****の部分はコード内容を英語で表現しており、プログラム中でi_powerとかi_resoluと書けば、0x40BFB847、0x40BF58A7のコードとして代用できます。
※メインプログラムのコード変更をサポートする為に作りました。

またデジ像のリモコン解析に関する詳しい情報は当方のブログに掲載していますので、興味のある方はどうぞ
http://minkara.carview.co.jp/userid/2424459/blog/39673454/
5
ESTIMA_IR_Transmitter_for_Degizo.c
がメインのプログラムになりますが、全てを説明すると膨大な時間がかかるので、主要部分だけ説明します。また、コメントをなるべく多く入れていますので、コメントも参考にして頂けると幸いです。

【赤外線送信】
send_signal(赤外線コード)
にて赤外線送信ができます。赤外線コードの部分に上記で書いたi_powerとかi_resoluと書けば、電源、解像度の赤外線コードが送信されます。
例:send_signal(i_power);

【赤外線リピート信号送信】
repeat_signal();
にてリピート信号が送信できます。

赤外線コードはNECフォーマットになっています。
6
AU1、AU2を判別する為のA/D変換処理
[ADCによるスイッチ判別]に関して、【ハード編】にて説明した様に、A/D変換の値は計算である程度求められますが、誤差等も考慮して、基準値よりもさらに大きい範囲を設定しています。
---ステアリングパッドスイッチのAU1を判別---にて
if(AU1>750 && AU1<790 && CodeChange==0){steering_sw=1;}
と書いています。
計算上では
if(AU1>764 && AU1<783 && CodeChange==0){steering_sw=1;}
と書くのが正しいのですが、厳密にここまできっちり正確に設定する必要がないので、ADC値が750以上で790以内であればSEEK-と判定させています。

※CodeChangeでは赤外線コード1・2の判別をさせています。
7
【ステアリングパッドスイッチ キー判定及び赤外線送信ルーチン】
key_enter();
にてステアリングスイッチの何が押されたか判定させ→赤外線コード・リピートコードを送信させるルーチンになります。
ここのルーチンには先ほど説明したsend_signal(赤外線コード)
が使われており、ADCにて判定したキーに対する赤外線コードを送信させています。i_*****を変更する事で、別のコードへ変更できるので、ある程度使って気に入らなかったら、コードを簡単に変更できます。

8
【メインルーチン】
サブルーチン化しているので、メインはさほど長くないです。

昔PIC16F84Aで作ったTimer0を使った長押し判定ルーチンがどうも合わない様ですが、先に書いたように警告は放置しました。また、落とし穴?的トラブルとして、
【MOP⇔赤外線切替用スイッチにてモーメンタリ型→オルタネイト型にする為のルーチン】の
----------------
DC5vRelay=0;
Delay_ms(1);
ModeLED=1;
----------------
当初は
----------------
DC5vRelay=0;
ModeLED=1;
----------------
と書いていました。1回目のリレーONは問題なく動くのですが、2回目以降、リレーがOFFにならない症状が発生。原因が分からず、リレー、LED回路を何度も見直しました。その為、確認用LEDに2SA1015を入れたのも、その為です。
ただ、delayにて処理を遅らせる事で問題が解決する事が分かり、これが分かるまでにかなりの時間と労力が必要となりました(CCSのバグなんでしょうか?)。

プログラムの個人利用は自由ですが、トラブルに関しては自己責任でお願いします。

イイね!0件




 

入札多数の人気商品!

 

タグ

関連整備ピックアップ

ラジオアンテナ増設

難易度: ★★

ステアリングパッドスイッチを赤外線リモコンにする【加工編】

難易度: ★★

ステアリングパッドスイッチを赤外線リモコンにする【ハード編】

難易度: ★★★

HI-LOコンバーター取付

難易度: ★★

ステアリングパッドスイッチを赤外線リモコンにする【取付け編】

難易度: ★★

ステアリングパッドスイッチを赤外線リモコンにする【最終調整版】

難易度: ★★

関連リンク

この記事へのコメント

コメントはありません。

プロフィール

「[整備] #エスティマハイブリッド ステアリングパッドスイッチを赤外線リモコンにする【調整版】 http://minkara.carview.co.jp/userid/2424459/car/1938973/4423816/note.aspx
何シテル?   09/11 23:34
初代エスティマハイブリッド(AHR10W 8人乗)からエスティマハイブリッド アエラス レザーパッケージ(中古車)に乗り換えました。 元々はスポーツカー好...
みんカラ新規会員登録

ユーザー内検索

リンク・クリップ

MotorPower ドアミラー 自動格納キット 
カテゴリ:その他(カテゴリ未設定)
2015/08/23 08:21:53

ファン

3 人のファンがいます

愛車一覧

トヨタ エスティマハイブリッド トヨタ エスティマハイブリッド
トヨタ エスティマハイブリッド アエラス レザーパッケージ 7人乗(2万Km走行)を20 ...
日産 フェアレディZ ロードスター 日産 フェアレディZ ロードスター
父親が所有していたフェアレディZ ロードスターを譲り受けました。2人乗なので、ファミリー ...

QRコード

QRコード
このブログを携帯でご覧になれます
ヘルプ利用規約サイトマップ
©2017 Carview Corporation All Rights Reserved.