超元祖ヨシヲ公式ブログ改β 〜マラビンタの夜明け〜

TESTACH のシクロフレームで組んだロードバイクに乗ってます。メンテナンスとかサイクリング日記とか。
PICマイコンを使った電子工作ネタ、電動ラジコンヘリ、Windowsアプリケーション開発とか気が向いたら何でも乗せる見境なしblog。旧ブログタイトルは ヨシヲたんの日記 。

W-ZERO3

ZERO3でサイコン その3

ZERO3でサイコンですが…
VisualStudio2005でスマートデバイス用の新規プロジェクトが作成できなくなってました…。

VS2005

ステータスバーにこのメッセージが出る以外は何もなし。
ログもないっぽい。ググったけど解決策見当たらず。
修復セットアップしたけど直らず。
アンインストールしようとしたらエラーでできず(死)

これはPC組みなおしてOS再インストールしろというお告げですか?

あと、ラッセルさんの言うとおりですが自転車にZERO3を固定する方法が一苦労と思われます。
ミノウラのボトルケージホルダーが使えそうなので買ってきたけど、どうだろうか…。
あとは屋外で画面が見えるかが問題。←致命的かも

シリアル(中略)サイクルコンピュータ その2

ZERO3をサイクルコンピュータとして使う妄想その2。
つーかもはや妄想じゃなくなってきた。

金曜の夜に、秋月電子通販にDSUB9ピンのコネクタを注文したら日曜なのに届きますた…。
土日は発送業務してないんじゃなかったっけ?

まあ気にせずさっくり配線。

シリアル→CC-RD200コンバータ

コネクタ部分のアップ。

きみまろズーム

20KΩの抵抗なかったから10KΩにしたよ!
まあ電流が2倍流れちゃうだけだから大したことないです。
適当に絶縁してからホットボンドでモリモリ固めちゃう。

あとはソフトですが…
めんどかったけどなんとかコア部分は完成。かな?

Cyclocomputer

表示の更新を100msおきにしてみたけど早すぎるとかえって見づらいですね。
センサーの上で磁石をシャカシャカする分には期待通りの動作をしているように見える。
ケイデンスセンサーに1秒おきに磁石を通せばケイデンス60くらいが表示されるし、速度センサーに対して同様にすれば、タイヤ周長2096mm×1時間=7,545,600mm=7.546Km/hが表示されます。
推定ギア比の表示については実際に自転車に付けて走ってみないと試せないのでなんとも。

コア部分はクラス化してあるので、これをWindowsMobileに移植して期待通りに動けばバンザイ。

ただ、プログラム終了してもセンサー読み取りスレッドが終了してくれない。
なんでかっていうとWaitCommEventでシリアルポートの状態変化待ちをしている間、センサー読み取りスレッドがそこで止まってしまうのであります。
なんかよくわからんから使ってなかったオーバーラップドI/Oモードを使う必要が出てくるかも…。
センサー上をマグネットが通過すればプログラム終了するんですけどね。

あとはチャタリング対策を全然やってないんだけどこれでいいんだろうかという不安が。

シリアルポートにCATEYEのサイコンのセンサーを接続する実験

いきなりですがW-ZERO3をサイクルコンピュータとして使えたら面白そうだなという妄想は以前からあったのでございます。
ただ、ZERO3とセンサー間のインタフェースが問題。
USBホストがあるので色々とやり方はあるかと思うわけですが…

パラレルかシリアルポートが原始的なのでやりやすいかなと。
で、手元にちょうどUSB→シリアル変換もあるし。

まずハード的なインタフェースですが。
シリアルポートはデータのやり取りを行う信号線のほかに、お互いの状況をやり取りするための信号線も何本か持ってます。
PC側からモデム側への信号:DTR (Data Terminal Ready), RTS(Request To Send)
モデム側からPC側への信号:DSR (Data Set Ready), CTS(Clear To Send), Ring, RLSD(Receive Line Signal Detect)
これらはWin32APIでビットのON/OFF状態を設定・取得できるくさいので是非使いたい。

で、RS-232Cの信号線の電圧って-10V/+10Vとかそんななんですよね…。
こうなると電池で作り出すのはちょっとめんどい。(9V電池2個使うという手はありますが)
なので、電源使わずにPC側からの出力をうまく使う方法はないか。
うーん。

テスタで測ってみたところ、CC-RD200のセンサーは磁石が近くにないときは絶縁状態、あるときは100Ω以下とかそんな感じでした。
なので、まあこうすればいいんじゃないかなとか。

かいろず

RTSとDTRへはそれぞれプログラムから+10Vと-10Vを出すようにしておきます。
スイッチが入ってなければ20KΩの抵抗を介してDTRに繋がるのでCTSへはー10Vが供給される。
スイッチが入ればRTSとショートするので+10VがCTSに供給される。
ただしスイッチ入ってる間、抵抗に電流が流れるので電力消費しますね。
まあサイコンとして使うならセンサーを磁石が通過するなんて一瞬だし、20mWしか消費しませんけど。

というわけで実験。

まずは適当にテスト用ソフトを作成。

テストプログラム

DTRとRTSはチェック入れると+10Vが出ます。
テスター繋いでおくと、画面でチェック入れたときにテスターから音が出ますw
なかなか愉快。
あとはDTR,RTSと、センサー入力として今回はDSRを選んで接続。

実験風景

で、試してみたら、ちゃんとセンサーに磁石を近づけたときだけテストアプリのDSRのボタンがへこみましたよ!

というわけで、最大4ビットまでのON/OFFの入力が特別なハードウェアなしに可能そうなことが分かりました。
ただ、これ実際自転車に付けて走ったとして、ZERO3のCPU速度でパルスを取りこぼさないようにすることが可能かどうかが不安。
やるとしたらパルス計測用に優先度の高い別スレッド作ってWaitCommEventとかで拾うのがいいのかなと思っています。

あと、今回使ったシリアル変換ケーブルがZERO3で使えるか検証しておりません(だめじゃん)

WILLCOMからなんかキタ━━━━ヽ(゚∀゚ )ノ━━━━!!!!

仕事中ですが(ぉ

RSSリーダーになんか見えたので。

http://journal.mycom.co.jp/news/2008/04/14/007/index.html

13万…でもこれ…Bluetoothついてるし…うわぁ…

YTaskMgr on Advanced [es]

対応遅くなりましてすみませんm(__)m

ぶっちゃけると新ZERO3よりR3いじってる方が楽しいという感じです(ぉ

YTaskMgrですが、使ってみた感じ&各所の意見を眺めた限りでは…

  • ランチャへの登録のファイル選択で「上へ」とかが効かないというか文字が出ない
  • リセットのときに2回ダイアログが出る

くらいしか不具合なさそうです。

で、ランチャのファイル選択に関しては、「参照」ボタンを押してから元の画面に戻ってくるまでは gsGetFile.dll の中の処理なのでこちらではどうしようもありません。
というか、ホーミンさんの修正版のgsGetFile.dllを入れるとちゃんと動くようになります。

リセットの時のダイアログ問題についてはおとといくらいにふと解決策を思いついたので、今日試してみたら直ったっぽいので明日丸一日使ってみて問題なかったらUPします。
原因としてはなんとも言えないんですが…。
WM6で動作が変わったから、だと思うんですがWM5での動作とWM6での動作、どっちが正しいとしても不思議ではない感じ。

このblogについて
このblogは、私のホームページ内の日記コンテンツ…でしたが、もう何年もこっちがメインです。
ホームページはこちら。
http://www31.ocn.ne.jp/~yoshio2/
2ちゃん系掲示板に書き込むときのトリップは ◆GBrDo4K0i. を使用しています。
GoogleAds
最新コメント
ついったー
リンク
すなけ日記
なんて言ったらいいかよく分からないお友達、すなけさんのblog(ぉ
自転車メンテとかマニアドリンクとかトラベラーズノートとか。
hazimelog
湘南のガチムチおにぎり、はじめちゃんのblog。SCOTT FOIL Team Issueとか買っちゃってとどまる事を知らない。
不器用工房
自転車で通勤しているアニメ大好きなギタリスト、S木さんのHP。
月別アーカイブ
livedoor プロフィール

ヨシヲ

  • ライブドアブログ