前回で改造と解説は大体済みました

快調です

早速親父に奪われ、実家のサブカーで活躍中



さて、

前回の最後に少し書きましたが、今回使った機種は、

電源が入っても、ナビアイコンをタップしないとナビが始まりません。

国産機種と比べると、少し不便

ここも自動化したかったけど、ハードウェア的な改造では無理そうでした。




しかしこのナビ、調べてみたらWindowsCEで動いているようです

もしかしてソフト的なハックができるのでは?と思い検索すると、

他機種ですが実際に試みてる先人がいるようです↓↓

http://poly-tank.jp:81/trash/malor/ (いしのなかにいる / ぽりごん氏)

すごいですね



これをヒントに自分も自動起動にチャレンジしてみました。

しかし、一部は成功しましたが完全には無理でした。残念

とりあえず色々試したので、分かった事をダラっとメモします

誰かのヒントになれば幸いです


・最初に起動するメニューアプリは、\Windows\GPS_MAINっぽい(ショートカット?)

・しかし\Windows内は書き換えても再起動で元に戻るので、いじっても意味なかった。

・レジストリはCeRegEditorで書き換え可能(テスト済み)。でも下手にいじって起動不能になるのが嫌だったのでこれ以上作業せず保留。

・最初のメニューの「ナビ」を押した時に呼ばれるのは、\SDMMC\NaviOne\NaviOne.exe

・Malorは動作したが、MayonnaiserやMayopushは動作しない(画面タップしない)。

・画面タップは、こちらのkeyinputが動作した(ARM系を使用)

・NaviOne.exeをMalor&keyinputに置き換え、ナビをタップ後の「OK」ボタンを自動タップする事には成功。


レジストリをいじればもっと何かできそうな気もします。

いつか時間ができたらチャレンジしたいです

前回の続きです

回路や制御プログラムについての説明・補足など



マイコンの動作フローは、

 スリープ(省電力化のため)
    ↓
 144ms毎にスリープから目覚める
    ↓
 USB5V端子をチェック
 (同じ入力が3回連続したら、それを正しい出力とみなす)

    ↓
 端子の出力が前の状態と違ってたら、電源スイッチを5秒間押す

…という処理の繰り返しです(ソースのコメント文をご覧ください)

また省電力化のため、動作クロックは31kHzと低くしました

実際に消費電流を測ってみると、数μA程度で済んでいます


マイコンはナビ本体のバッテリーから直接電力を取ってますが、これくらいだとあまり影響しないと思います

USB5V端子の監視について、連続した値で判定しているのはノイズ対策です。

スイッチを押す長さは3秒ちょっとで大丈夫でしたが、とりあえず5秒にしてあります。
(もし他機種で流用する時、そのまま使えるように)




次は回路について↓


USB5Vの監視 (マイコンの4番ピン/GP3)
 →マイコンの動作電圧(4V前後)を越えないように5Vを抵抗分割

電源スイッチ制御 (マイコンの2番ピン/GP5)
 →スイッチOFFする時は出力High、スイッチONする時は出力Low

 出力Lowでプルアップをシンクし、GNDに落とします。(=スイッチONとなる)
 電源とプルアップに電位差があったので、ダイオードを挟みました。


なお、この回路は他のナビの基板に使える保証は全くありません。

簡略化した回路なので、全く動作しない(もしくはナビを壊す)可能性アリ

ご注意ください





あ、それと今回使ったナビについてですが、

改造によって電源ON/OFFの自動化には成功しました

が、しかし…

この機種TNK-501DTは、電源ON時は最初に必ずメニュー画面になります。

そしてナビを開始するには、そこから画面をタッチ操作する必要があります

本当はここも自動化したかったですが、さすがにハード的に無理でした

昨日→カーナビ改造 エンジン連動で電源ON/OFF(1)
の続きです


前回は、ナビ本体の基板について部分的に調べました↓ (詳細は前記事参照)


これを元に、電源スイッチを制御する回路を設計します



制御用マイコンとしてPIC12F683 を使用

USB5Vを監視し、0V→5Vまたは5V→0Vとなった時に電源スイッチを押す

という仕組みをプログラミングしました

そのCソースとHEXはこちら↓

 ・Cソース  NaviSW.c  (CCS-Cを使用)

 ・Hexファイル  NaviSW.hex



回路図はこんな感じです↓

…手抜き回路です

ナビ本体内部が狭かったので、小型化のため回路を簡素化(という言い訳)

本当はリレーとかトランジスタとか使って電気的にしっかり設計するべきです。壊れます。

今回は俺用なので




では、いざ実装作業

基板に載せて実装するスペースが無いので、マイコンの足に部品を直付け



絶縁テープを巻き、わずかなスペースに押し込みました(↓丸枠部分)


部品が密集してるので、ショートしないよう注意が必要でした

とりあえずこれで完成

車のエンジンを入り切りすると、ナビの電源スイッチが押されます

(スイッチを押すだけなので、状態が逆転する事があるかもしれませんがその時は手動で