車載PC計画
・ステアリングリモコン+ロータリーコマンダー 接続
社外HUでステアリングリモコンを使えるようにする回路でロータリーコマンダーも接続するようにしました。
新しい回路は通信速度を4倍速くしたので、車載PCのレスポンスも良くなってより快適です。
また以前は中途半端にボタンを押すと別のボタンと間違って入力されていましたが、マイコンの測定処理のチェックを厳しくしたのでそれも無くなりました。
ただ、新しい回路は常にRS−232cにデータを垂れ流すようになっています。
そのため、WindowsXPがRS−232cポートにシリアルマウスが接続されていると誤認識してしまい、シャットダウン監視プログラムがRS−232cポートを使えなくなってしまいました。
対策は、デバイスマネージャーから[Microsoft Intellipoint serial mouse]を「無効」に設定すればOK。
・SONY ロータリーコマンダー 接続
バッテリを上げて電源スイッチが問題になったのと、やっぱりテンキーは見た目がいまいちなので、どうにかしようといろいろ考えました。
で、やはりSONYのロータリーコマンダーが一番だろうということになりました。
前車ではSONYの2DIN CD/MDユニットでロータリーコマンダーを使っていたのですが、一度使うとあの操作性はやみつきになります。
インターネットをいろいろ調べてみたところ、Empegにロータリーコマンダーを付けた方がいらっしゃいました。
http://www.armory.com/~charlie/empeg1/
この回路を参考にして私も作ってみることにしました。
余談ですが、この Empeg って本当に欲しかったんです。
ただ以前はちょっと高価だったのでどうしようか迷っていたところにMPireが出たのでそちらにしましたが、そうでなければEmpegを買っていたかもしれません。
ソニーのロータリーコマンダー RM-X4S (\3,000)です。 以前のものはヘッドユニットと一緒に譲ってしまったので、新しく購入しました。 このユニットは、ボタン押すとそのボタンに対応した抵抗値が得られるようになっています。 (アヴァンシアのステアリングリモコンも同じ方式です) あと、シフト(ボリュームを押し込む)の判定が出来る線があります。 |
|
右の小さいのが今回使用したPICマイコン PIC12C509A です。 たった8pinのICですが、これでもちゃんとしたCPUです。 クロック:4MHz (400MHzでも4GHzでもありません) ROM:1024word RAM:41byte (41MByteではありません、ただの41です) |
|
ブレッドボード上でテスト中の写真です。 先のリンクの回路を参考にちょっとアレンジしました。 ・電源は自動シャットダウンの監視もかねてACC電源からとるようにしました。 ・ボタンの判定はパソコン側のソフトで行うので、ロータリーコマンダーの抵抗値に相当する生のデータをRS-232cで送信するようにしました。 ・ただしPowerボタンだけはマイコン側で判定し、ボタンが押されている間外付けのリレーをONするようにしました。このリレーをパソコンの電源スイッチに繋ぎます。 このマイコンは一度プログラムを書き込むと二度と変更できないので、バグが無いように気を付けたつもりですが、それでも2個無駄にしてしまいました。 |
|
バグが取れたところで本番の回路を組みます。 RS232cのコネクタにリレー以外の部品を詰め込みました。(上にあるのは10円玉です) 回路図とソースはとても人様には見せられないような恥ずかしいものなのでカンベンして下さい^_^; |
|
こちらはパソコンに接続するケーブルのコネクタのところです。 ACC電源を取る線と、リレーを制御する線を引き出してあります。 コネクタの上に乗っているのが電源スイッチ用のリレーで、そこからのびる手前の配線をPCケースの電源スイッチとマザーボードの配線に割り込ませます。 リレーをここに持ってきたのは、マザーボードの電源スイッチ線を延長するのが不安だったからです。 5mも延長するとノイズがのって知らないうちに電源が入ったりするとまずいので。 |
|
全体の配線はこんな感じになります。 4mのRS-232cクロスケーブル(改)でラゲッジからハンドルまで引っ張ります。 |
|
シャットダウン監視プログラムもバージョンアップです。 PICマイコンから抵抗値データを受信してボタンに変換し、Winampへコマンドを送ります。 ACC電源を監視して、OFFになったら休止状態にするのは相変わらずです。 |
|
車に取り付けたところです。 |
ロータリーコマンダーのボタンと動作の割り当ては次のようにしました。
SOURCE | ... | 再生開始 |
MODE | ... | 停止 |
ATT | ... | 一時停止/解除 |
SEEK UP | ... | 1曲進める |
SEEK DOWN | ... | 1曲戻す |
Vol. UP | ... | 5秒送り |
Vol. DOWN | ... | 5秒戻し |
SOUND | ... | シャッフルモード切替 |
あと、POWERボタンですが、このボタンを押すとパソコンの電源スイッチにつながっているリレーがONします。
・パソコンの電源がOFFのとき
シャットダウン・スタンバイ・休止のどの状態で電源がOFFになっていてもボタンを押せばパソコンの電源が入ります。
・パソコンの電源がONのとき
WindowsXPの設定で、電源スイッチを押した時に「なにもしない」ようにしておいて、シャットダウン監視プログラムで制御します。
POWERボタンだけを押した時 ... スタンバイ状態になります。すぐ車に戻ってくる時に使います。
SHIFT+POWERボタンを押した時 ... Windowsを再起動します。これでWindowsが変になっても復旧できます(たぶん)
やっぱりロータリーコマンダーはいいですねー、キーで制御していた時より反応も良くなりました。
このロータリーコマンダー+PICマイコンの組み合わせは結構使えそうです。
先のリンクの回路通りにすれば、汎用のコマンダー -> RS232c 変換器になりますし、赤外線LEDをつけてプログラムを組めば、他社のヘッドユニットをロータリーコマンダーで制御することも出来そうです。
逆にアヴァンシアのステアリングリモコンを入力に使えば、ヘッドユニットを換装してもステアリングリモコンで制御ということも可能です。
電源スイッチの問題もこれで解決したし、あとはノイズ対策をしなくては。
戻る