だいぶいい感じになってきたので微調整中です。
主な問題点は以下の通りでした。
・プログラムにBUGがあった。
これでかなり混乱してしまった、
判断文のところをきれいに消して組みなおすと
結構いい感じで動作していました。
・組みなおしをする時にプロジェクトを名前を付けて保存すると
色んな設定が初期の状態になり、
CONFIGの設定が変わり、動作自体が出来なくなった。
作り直す時にコピーしてから作業すべきでした。
・動作タイミングの問題
前回の書き込みでは2個センサーをつけてと
思っていましたが、45度の角度をつけて1つのセンサーに
することにしました。
これで、車が向いている方向の明るさで判断できるように
なり、自分的には満足しています。
以上ですが、まだまだ問題が出てきそうです。
納得できる物が出来たらソース、回路図を作成したいと思います。
2006-10-23
2006-10-20
オートライトは奥が深い!!
MOVEにオートライトをつけよう!ということで試作品を作っているところです。
実際に試作品を作ってライトの替わりにLEDで試してみたのですが、色々問題が発生です。
PIC(12F675)を使用したので調整はプログラムの定数になっていますが、意外と調整が難しい。
部屋の明かりと運転をしている時の感覚ではだいぶ違うようです。
PICで作るのでスモールライトとヘッドライトを違うタイミングで点くようにしてみました。
このタイミングが難しい!! オートライトの一番の問題は点いてほしい時に点いて、消えてほしい時に消えるというあたりまえの機能が難しいのです。
実際に試すと分かるのですが、昼間にトンネルに入ると当然、自動で点くのですが、トンネル内の照明が間隔を置いてつけてあるので反応を良くすると常にパッシングをしている状態になります。
反応を鈍くするとトンネルに入って少し時間が経たないと点かない、トンネルから出てもすぐに消えない、となってしまいます。
点く明るさと消える明るさを変えて一度点いたらちょっとの変化では消えないようにしていますが、これも差をつけすぎると点かない、消えない物になってしまいます。
曇りの時に森林を通ると木の陰に反応してしまいます。
こちらはスモールがパッシング状態!
ちょっとしたガードをくぐってもパッシング状態(これは良く見かけますよね) メーカー純正でもある程度はなるのですが、なんとかならないかと思っています。
今回はPICのメモリーがかなりあまっているので、オートライトごときなのですが複雑なロジックを組んでみようかと思っています。
センサーを複数つけるといいかも、現在はセンサーを上に向けているのですが、センサーを前方に向けた物をつけて複合的に判断させてはどうかと思っています。
実際に試作品を作ってライトの替わりにLEDで試してみたのですが、色々問題が発生です。
PIC(12F675)を使用したので調整はプログラムの定数になっていますが、意外と調整が難しい。
部屋の明かりと運転をしている時の感覚ではだいぶ違うようです。
PICで作るのでスモールライトとヘッドライトを違うタイミングで点くようにしてみました。
このタイミングが難しい!! オートライトの一番の問題は点いてほしい時に点いて、消えてほしい時に消えるというあたりまえの機能が難しいのです。
実際に試すと分かるのですが、昼間にトンネルに入ると当然、自動で点くのですが、トンネル内の照明が間隔を置いてつけてあるので反応を良くすると常にパッシングをしている状態になります。
反応を鈍くするとトンネルに入って少し時間が経たないと点かない、トンネルから出てもすぐに消えない、となってしまいます。
点く明るさと消える明るさを変えて一度点いたらちょっとの変化では消えないようにしていますが、これも差をつけすぎると点かない、消えない物になってしまいます。
曇りの時に森林を通ると木の陰に反応してしまいます。
こちらはスモールがパッシング状態!
ちょっとしたガードをくぐってもパッシング状態(これは良く見かけますよね) メーカー純正でもある程度はなるのですが、なんとかならないかと思っています。
今回はPICのメモリーがかなりあまっているので、オートライトごときなのですが複雑なロジックを組んでみようかと思っています。
センサーを複数つけるといいかも、現在はセンサーを上に向けているのですが、センサーを前方に向けた物をつけて複合的に判断させてはどうかと思っています。
2006-10-18
いまどきの車
新型MOVEが出たので見に行って来ました。(結局、注文してしまいました)
標準装備も充実しているのですが、
オプションも時代にあわせて色々ありました。
LEDのルームランプ、フットライト、室内照明、キーレスエントリ連動ミラー格納機能、オートライトなど、
でもオプションをつけてしまうと電子工作ネタがなくなってしまうのでつけませんでした。
現在、手始めにオートライトを作成しています。
配線図はもらえるようにお願いしたので安心です。
でも、納車は12月中旬(CVTがついているXLimittedにしたため)なので、取り合えず今乗っている古いMOVEでテストになりそうです。
試作品ができたらまたUPします。
標準装備も充実しているのですが、
オプションも時代にあわせて色々ありました。
LEDのルームランプ、フットライト、室内照明、キーレスエントリ連動ミラー格納機能、オートライトなど、
でもオプションをつけてしまうと電子工作ネタがなくなってしまうのでつけませんでした。
現在、手始めにオートライトを作成しています。
配線図はもらえるようにお願いしたので安心です。
でも、納車は12月中旬(CVTがついているXLimittedにしたため)なので、取り合えず今乗っている古いMOVEでテストになりそうです。
試作品ができたらまたUPします。
2006-10-12
PIC:電子メトロノーム第2弾 改造中
PIC:電子メトロノーム第2弾の電源を乾電池3本ので使っていたのですが、
SLEEP機能も使って省電力になっているはずなので、太陽電池で動作させようと考えました。
そこでジャンクセンターで購入したソーラーラジオからNiCd電池と太陽電池を取り出しそのまま取り付けました。
上手く出来たと思ったのですが、1日充電してSLEEP状態で放置しておくと1日でほとんど残っていません。
おかしい!!、どうも充電が上手く出来ていないのではと思います。
電池も完全放電しているのでまずいのかも、充電器で充電して様子を見ているところです。
SLEEP状態で0.2mA、動作中で0.7mAから数mA(ピッとなって瞬間的にLEDがつくので計れていません)なのでかなり電池ももつはずなのです。
回路設計上一度OFFになりONするとONしっぱなしになります。
リセットがかからず、正常にプログラムが動かないとLEDがついたままになります。
回路の見直しも必要かもしれません。
ボタン1つで電源をON/OFFしたかったのですが、結構難しいのですね。
SLEEPもPICをはじめてから今回やっとまともに動作しています。
まだまだ勉強中です、長い目で見てください。
回路図は見直しをしているのでまだUPできていません、すみません。
SLEEP機能も使って省電力になっているはずなので、太陽電池で動作させようと考えました。
そこでジャンクセンターで購入したソーラーラジオからNiCd電池と太陽電池を取り出しそのまま取り付けました。
上手く出来たと思ったのですが、1日充電してSLEEP状態で放置しておくと1日でほとんど残っていません。
おかしい!!、どうも充電が上手く出来ていないのではと思います。
電池も完全放電しているのでまずいのかも、充電器で充電して様子を見ているところです。
SLEEP状態で0.2mA、動作中で0.7mAから数mA(ピッとなって瞬間的にLEDがつくので計れていません)なのでかなり電池ももつはずなのです。
回路設計上一度OFFになりONするとONしっぱなしになります。
リセットがかからず、正常にプログラムが動かないとLEDがついたままになります。
回路の見直しも必要かもしれません。
ボタン1つで電源をON/OFFしたかったのですが、結構難しいのですね。
SLEEPもPICをはじめてから今回やっとまともに動作しています。
まだまだ勉強中です、長い目で見てください。
回路図は見直しをしているのでまだUPできていません、すみません。
2006-10-02
PIC:電子メトロノーム第2弾完成
スピードの設定をLCDの表示を見ながらUP/DOWNのボタンで設定する方式がLCD有りバージョンだったのですが、ロータリーSW?、数字を合わせることによりBCDコードでON/OFFされるものを使い設定値を読取る方式にしました。
LCD表示の処理ルーチンで結構メモリーを食われていたようで、LCDを使わないバージョンはメモリーを半分しか使用していません。
SLEEPの機能、n拍子毎に音の高さを変える機能、3LED対応も追加しています。
回路図は作成中で出来たらまた更新します。
ソースはかなり汚いですが以下の通りです。
--------------------
--------------------
2006-09-28
PIC:メトロノームを作成しました
久しぶりに電子工作らしいことをしました。

電子メトロノームをPICで作成です。
PICは16F84Aを使用して、PICの開発にはMikroBASICを使いました。
UP/DOWNのSWでスピードを変更できてスピードはLCDに表示させるようにしました。
スピードに合わせてLEDの点滅と圧電素子で音を鳴らしてみました。
LCDのルーチンが結構メモリを食ってしまうらしく、もうほとんどあまりがありません。
本当はまだ色々機能をつけたかったのですが 無理のようです。
LCDを使わないように工夫をして機能UPを考えています。
電子メトロノーム第2弾考案中!!
とりあえず今回の回路図は MTRO.gif 。
ソース は以下の通りです。
-----------------------------------------
-----------------------------------------
電子メトロノームをPICで作成です。
PICは16F84Aを使用して、PICの開発にはMikroBASICを使いました。
UP/DOWNのSWでスピードを変更できてスピードはLCDに表示させるようにしました。
スピードに合わせてLEDの点滅と圧電素子で音を鳴らしてみました。
LCDのルーチンが結構メモリを食ってしまうらしく、もうほとんどあまりがありません。
本当はまだ色々機能をつけたかったのですが 無理のようです。
LCDを使わないように工夫をして機能UPを考えています。
電子メトロノーム第2弾考案中!!
とりあえず今回の回路図は MTRO.gif 。
ソース は以下の通りです。
-----------------------------------------
-----------------------------------------
2006-09-16
汎用USB-IOをブレッドボードで試す!
汎用USB-IOのテストが手軽に出来るようにブレッドボードに接続できるように考えてみました。上の写真はテクノキットの汎用USB-IO用です。
テクノキットのHPのUSB-IO関連基盤で紹介されているコネクタBを直接取り付けています。
足が短いので、足を押し付けて確実に差し込めるようにしています。
下の写真はKm2Netの汎用USB-IO用です。こちらは2列のコネクターがついているので1列になるようにしています。
そのままの順番ではピンの順番が123456・・・とならず、
214365・・・ となり使いにくいので正し順番になるように2本ごとにクロスさせています。
写真をクリックすると少し大きくなるので確認してみてください。
このブレッドボードを使って説明をして行きたいと思っています。
2006-09-12
本:手作りUSB機器
本拠地で公開している 汎用USB-IOをVB、AB、Excelなどで簡単にコントロールできるようにするDll(vbausbio.dll)を使った記事が載っている本です。
アマゾンの書評をみると結構きびしいことがかかれてありました。
-- アマゾンの書評から抜粋 --
本の中で何回もvbausbio.dllというネットにある個人が作ったファイルから関数を引き出して使います。その度に筆者はその関数を説明してくれるのですが、他にどういった関数があるのだとか教えてくれない。つまりこの本だけだと応用しようにもできないのです。
-----------------------------
自分のHPでも解説を入れないといけませんね。
サンプルも何本かあるのですが、記事を付け足しで更新しているので読みづらくなっていると思います。
ちょっと、見直しをして更新をしたいと思います。
また
-- アマゾンの書評から抜粋 --
無理にオリジナルを作らずに、たとえばUSB-IO販売会社のひとつであるテクノキットの出しているボードについて解説、応用などにしてもらったほうが親切だったと思う。
-----------------------------
こんな書評もありました。
テクノキットさんから汎用USB-IO関係の新製品も出る予定なので、取り寄せて試用レポートを書けるといいですね、こちらもこれからのHP更新ねたにしたいと思っています。
アマゾンの書評をみると結構きびしいことがかかれてありました。
-- アマゾンの書評から抜粋 --
本の中で何回もvbausbio.dllというネットにある個人が作ったファイルから関数を引き出して使います。その度に筆者はその関数を説明してくれるのですが、他にどういった関数があるのだとか教えてくれない。つまりこの本だけだと応用しようにもできないのです。
-----------------------------
自分のHPでも解説を入れないといけませんね。
サンプルも何本かあるのですが、記事を付け足しで更新しているので読みづらくなっていると思います。
ちょっと、見直しをして更新をしたいと思います。
また
-- アマゾンの書評から抜粋 --
無理にオリジナルを作らずに、たとえばUSB-IO販売会社のひとつであるテクノキットの出しているボードについて解説、応用などにしてもらったほうが親切だったと思う。
-----------------------------
こんな書評もありました。
テクノキットさんから汎用USB-IO関係の新製品も出る予定なので、取り寄せて試用レポートを書けるといいですね、こちらもこれからのHP更新ねたにしたいと思っています。
2006-08-11
安物買いの銭失い!
「トラックのウインカーを流す」で実車で試したらすぐ壊れてしまいました。
その原因がほぼわかりました。
回路設計は大丈夫でしたが、部品の選択が悪かったようです。
リレーをいつも安いものを購入していたのですが、やっぱり安いものはそれなりですぐだめになるようです。
車は思っているより悪条件なので性能に余裕が必要な気がします。
HPには載せていないのですが、自分が乗っているMOVEは集中ドアロックのアンサーバックがハザードではなくルームランプになっていて使いにくいのでハザードがつくように改造をしました。
その時も同じリレーを使ったのですが、1年程度で壊れてしまいました。
今は、リレーを使わすパワーMOS-FETを使っています。
FETを使うと回路設計は大変ですけど、耐久性はよくなりますね。
トラックのウインカーを流すもFETで見直しが必要ですね。ですが、
先日運ちゃんの友達に聞くとウインカーはもういいのでLEDをいっぱいつけたいといっていました。
そろそろ新しい話題で作りたいと思っていたので、よく聞いてチャレンジの予定です。
その原因がほぼわかりました。
回路設計は大丈夫でしたが、部品の選択が悪かったようです。
リレーをいつも安いものを購入していたのですが、やっぱり安いものはそれなりですぐだめになるようです。
車は思っているより悪条件なので性能に余裕が必要な気がします。
HPには載せていないのですが、自分が乗っているMOVEは集中ドアロックのアンサーバックがハザードではなくルームランプになっていて使いにくいのでハザードがつくように改造をしました。
その時も同じリレーを使ったのですが、1年程度で壊れてしまいました。
今は、リレーを使わすパワーMOS-FETを使っています。
FETを使うと回路設計は大変ですけど、耐久性はよくなりますね。
トラックのウインカーを流すもFETで見直しが必要ですね。ですが、
先日運ちゃんの友達に聞くとウインカーはもういいのでLEDをいっぱいつけたいといっていました。
そろそろ新しい話題で作りたいと思っていたので、よく聞いてチャレンジの予定です。
2006-06-29
Linuxで汎用USB-IO
HPを更新してUSB-IOをFC5(Linux)で使用するを公開しているのですが、Linuxを使ってUSB-IOを使おうとされている方が増えているのを実感しました。
自分のHP内のアクセスランキングでは第3位までUPし、メールや掲示板での問い合わせが増えてきました。
今回、公開しているサンプルソースはFC5だけではなく他のディストリビューションでも動作するようです。
Vine Linux 3.2でも動作ができたと報告や、
NAS製品のDebian GNU/Linuxでも動作させようと頑張られている話も聞きました。
NAS製品は気になっており、自分でもいつかはトライしたいと思っています。
サンプルソースももう少し充実させねばと思っています。
今は時間が取れていないのですが、時間を作ってやりたいと思っています。
自分のHP内のアクセスランキングでは第3位までUPし、メールや掲示板での問い合わせが増えてきました。
今回、公開しているサンプルソースはFC5だけではなく他のディストリビューションでも動作するようです。
Vine Linux 3.2でも動作ができたと報告や、
NAS製品のDebian GNU/Linuxでも動作させようと頑張られている話も聞きました。
NAS製品は気になっており、自分でもいつかはトライしたいと思っています。
サンプルソースももう少し充実させねばと思っています。
今は時間が取れていないのですが、時間を作ってやりたいと思っています。
2006-05-20
Linux、始めてのXプログラミング

USB-IOを使うことができたのですが、コマンドライン端末でprintfの出力ではプログラムを作った気分にならなかったのでGUIな画面に挑戦してみました。
Gladeで簡単Xプログラミングを参考にさせていただきました。
数分でGUIなプログラムができてしまいました。
こんなに簡単にできてしまうとは思っていなかったので感動しました。
と言ってもウインドウが表示されただけですけどね。
本来の中身を記述するにはGTKと言うものを勉強しないといけないようです。
Windows上のC++と雰囲気がにていて、画面を作っていく過程はJAVAのようでもあるしなんだかいけそう。
Linuxは難しいと思い込んでいたので、先が明るくなった気分です。
クライアントプログラムができたら、今度はサーバープログラムに挑戦しないといけませんね。
Linuxはどちらかと言うと、サーバーの方が得意な気がしますので。
2006-05-17
Linux(FC5)で汎用USB-IOを使うための環境
汎用USB-IOをFC5で使うためには開発環境を作成し公開しているソースを自分なりに修正してコンパイルする必要があります。
コンパイルするためには開発ツールとlibusb用の開発ファイルが必要です。
そのため、インストール時に開発ツールを選択しておきます。
インストールができたらlibusbを使うための設定をします。
GNOMEを使っている場合はアプリケーションの「Add/Remove Softwear」を選択しパッケージマネージャを起動します。
Listを選択するなどして一覧を表示させます。
その中でlibusb-devel - 0.1.11-2.i386 - Libusb用の開発ファイルにチェックをつけて適用させます。
環境やUPDATEの状態でバージョンは変わるかも知れません。
これで開発環境は出来ました。
自分の場合はインストール時にLibusb用の開発ファイルも指定しましたが、後でも先でも大丈夫だと思います。
しかし、バージョンが違うとコンパイルが出来ても動かせないので良く確認しましょう。
パッケージマネージャのListで確認するとlibusbとlibusb-develがあると思います。
libusbのバージョンとlibusb-develのバージョンが同じになるようにします。
次はコンパイルの手順です。
コマンドライン端末を起動し、ソースのあるフォルダーに移動します。
ソースをコンパイルします。
cc -o usbio_test usbio_test.c -lusb
と入力すればコンパイルできるはずです。
(ソースファイル名、オブジェクトファイル名は読み替えてください)
インクルードファイルやライブラリの場所が違う場合は
usb.hなどを検索しフォルダーを確認します。
フォルダーを指定してコンパイルしてみてください。
cc -o usbio_test usbio_test.c -I/usr/include/ -L/usr/lib/ -lusb
次は実行です。
./usbio_test
最初の./はカレントフォルダーを示します、これが無いと実行ファイルがあるフォルダーで起動をかけても動きません、この辺はWindowと違うところですね。
もし、root権限がないユーザーで上手く動かない場合はsuでルート権限にして実行してください。
ルート権限が無いと動かせないのは現在調査中です、すみません。
カーネルの再構築とかは必要ないので比較的簡単に出来るのではと思います。
特殊なことはしていないのでおそらくバージョンが変わってもコンパイルしなおせば動くのではと思います。
色々教えていただいたくまさんのおかげでFC5で汎用USB-IO、USB-Anが使えるようになりました。
いまだに詳しいことはほとんど分かっていません、くまさんのHP「熊の巣」でFC4,FC5でUSB-Anを使っている記事があります、いろんな事が詳しく説明されてありますので参考になると思います。
最後に、ここで公開しているソース等は自由に使っていただいて結構ですが、自己責任でお願いします。
コンパイルするためには開発ツールとlibusb用の開発ファイルが必要です。
そのため、インストール時に開発ツールを選択しておきます。
インストールができたらlibusbを使うための設定をします。
GNOMEを使っている場合はアプリケーションの「Add/Remove Softwear」を選択しパッケージマネージャを起動します。
Listを選択するなどして一覧を表示させます。
その中でlibusb-devel - 0.1.11-2.i386 - Libusb用の開発ファイルにチェックをつけて適用させます。
環境やUPDATEの状態でバージョンは変わるかも知れません。
これで開発環境は出来ました。
自分の場合はインストール時にLibusb用の開発ファイルも指定しましたが、後でも先でも大丈夫だと思います。
しかし、バージョンが違うとコンパイルが出来ても動かせないので良く確認しましょう。
パッケージマネージャのListで確認するとlibusbとlibusb-develがあると思います。
libusbのバージョンとlibusb-develのバージョンが同じになるようにします。
次はコンパイルの手順です。
コマンドライン端末を起動し、ソースのあるフォルダーに移動します。
ソースをコンパイルします。
cc -o usbio_test usbio_test.c -lusb
と入力すればコンパイルできるはずです。
(ソースファイル名、オブジェクトファイル名は読み替えてください)
インクルードファイルやライブラリの場所が違う場合は
usb.hなどを検索しフォルダーを確認します。
フォルダーを指定してコンパイルしてみてください。
cc -o usbio_test usbio_test.c -I/usr/include/ -L/usr/lib/ -lusb
次は実行です。
./usbio_test
最初の./はカレントフォルダーを示します、これが無いと実行ファイルがあるフォルダーで起動をかけても動きません、この辺はWindowと違うところですね。
もし、root権限がないユーザーで上手く動かない場合はsuでルート権限にして実行してください。
ルート権限が無いと動かせないのは現在調査中です、すみません。
カーネルの再構築とかは必要ないので比較的簡単に出来るのではと思います。
特殊なことはしていないのでおそらくバージョンが変わってもコンパイルしなおせば動くのではと思います。
色々教えていただいたくまさんのおかげでFC5で汎用USB-IO、USB-Anが使えるようになりました。
いまだに詳しいことはほとんど分かっていません、くまさんのHP「熊の巣」でFC4,FC5でUSB-Anを使っている記事があります、いろんな事が詳しく説明されてありますので参考になると思います。
最後に、ここで公開しているソース等は自由に使っていただいて結構ですが、自己責任でお願いします。
Linux(FC5)でUSB-Anを使う
FC5で今度はUSB-Anを使うサンプルです。
開発環境は別で載せます(libusbの開発モジュールが必要)
ヘッダーファイルは先の書き込みの musbiobase.hを使います。
10bitAD変換で4ポート取得する例を作成しました。
usban.c
開発環境は別で載せます(libusbの開発モジュールが必要)
ヘッダーファイルは先の書き込みの musbiobase.hを使います。
10bitAD変換で4ポート取得する例を作成しました。
usban.c
Linux(FC5)で汎用USB-IOを使う
開発環境の作成に苦労しましたが、最新のFC5で汎用USB-IO及びUSB-Anを動作させることができたのでお知らせします。
まだroot権限が無いと動かないのは調査中ですが、動いているサンプルソースを載せておきます。
開発環境とUSB-Anのサンプルは別で載せます。
汎用USB-IOを動作させるための基本的な関数が入っているヘッダーファイルとそれを使ったサンプルソースになります。
まず、ヘッダーファイル msubiobase.h の内容です。
musbiobase.h
次にサンプルソースです、これは簡単な出力と入力を行っています。
usbio_test.c
まだroot権限が無いと動かないのは調査中ですが、動いているサンプルソースを載せておきます。
開発環境とUSB-Anのサンプルは別で載せます。
汎用USB-IOを動作させるための基本的な関数が入っているヘッダーファイルとそれを使ったサンプルソースになります。
まず、ヘッダーファイル msubiobase.h の内容です。
musbiobase.h
次にサンプルソースです、これは簡単な出力と入力を行っています。
usbio_test.c
2006-05-08
Linuxで汎用USB-IOその2
良く探して見たら、Linux標準のHIDを使用してUSB-IOをコントロールしている例がありました。
こちらの内容はWindowsでVBによりコントロールしているパターンと良く似ています。
まだ、試していないのでなんともいえないのですが、標準のHIDを使用しているので
最新のFC5にも対応可能なのではと思っています。
以下のブログを参照してください。
USB-IO その3
USB-IOその4
時間を作って試して見たいと思っています。
こちらの内容はWindowsでVBによりコントロールしているパターンと良く似ています。
まだ、試していないのでなんともいえないのですが、標準のHIDを使用しているので
最新のFC5にも対応可能なのではと思っています。
以下のブログを参照してください。
USB-IO その3
USB-IOその4
時間を作って試して見たいと思っています。
2006-05-01
Linuxで汎用USB-IO
Linux(FC4)用のドライバーは今まで伊藤さんのサイトでダウンロードできていたのですが、現在はリンク切れになっているようです。
困ったなと思っていたら、
ブログ(g26a345の日記)のUSB-IO その2にFC4の汎用USB-IOのドライバーの事が書かれてありました。
どうも、カーネルの再構築(パッチをあてる)はしなくてもコンパイルしたmorphy-usbio.koってのを、パッチとは別に作成し、それをinsmodすればそのままで動くようです。
ただし、rio500に取られているらしい。
echo 010101010101 >/dev/usb/rio500
とかやったら動いた。
とあります。
面倒なことをしなくても、rio500で動くようです。
これから試される方はこの方法でも可能なのではと思っています。
ただし、UPDATEはしないほうがいいのではと思います。
困ったなと思っていたら、
ブログ(g26a345の日記)のUSB-IO その2にFC4の汎用USB-IOのドライバーの事が書かれてありました。
どうも、カーネルの再構築(パッチをあてる)はしなくてもコンパイルしたmorphy-usbio.koってのを、パッチとは別に作成し、それをinsmodすればそのままで動くようです。
ただし、rio500に取られているらしい。
echo 010101010101 >/dev/usb/rio500
とかやったら動いた。
とあります。
面倒なことをしなくても、rio500で動くようです。
これから試される方はこの方法でも可能なのではと思っています。
ただし、UPDATEはしないほうがいいのではと思います。
2006-04-27
本:光で遊ぼう!LED電飾&蛍光灯
先日本屋で買ってきて、現在は読んで見ているところです。
自分が電子工作でやっている事とかなり内容がいっしょだったので「トランジスタ技術」の本を買いに行った時に思わず買ってしまった本です。
これから電子工作をはじめよう!、まずLEDを使って何かをしたい。というような人にはとても参考になるのではと思います。
図や写真を上手に使い分かりやすい内容になっています。
LED、抵抗、CRDなどの事も詳しく書かれています。
CRDは不明な点が多かったのですが、これで安心して使うことが出来ます。
自分が電子工作でやっている事とかなり内容がいっしょだったので「トランジスタ技術」の本を買いに行った時に思わず買ってしまった本です。
これから電子工作をはじめよう!、まずLEDを使って何かをしたい。というような人にはとても参考になるのではと思います。
図や写真を上手に使い分かりやすい内容になっています。
LED、抵抗、CRDなどの事も詳しく書かれています。
CRDは不明な点が多かったのですが、これで安心して使うことが出来ます。
電子工作のためのR8C/Tinyスタートアップ
『電子工作のためのR8C/Tinyスタートアップ 』という本を先ほど注文してきました。
PICマイコンもマスターできていないのにまた新しいマイコンに手をつけようとしています。
R8C/Tinyはどんなマイコンなのでしょう、試用レポートを書いて行きたいと思っています。
PICマイコンもマスターできていないのにまた新しいマイコンに手をつけようとしています。
R8C/Tinyはどんなマイコンなのでしょう、試用レポートを書いて行きたいと思っています。
2006-02-21
フリーのPIC用BASIC
mikroElektronikaでダウンロードできるPIC用のBASIC、mikroBasicを使ってみています。
各PIC毎に色んなサンプルもいっしょにインストールされます。
HELPは英文(日本語版が無いので英語版を使用しています)のため、ちょっと大変ですが、しっかり書かれていてサンプルが無い命令なども大丈夫そうです。
全ての命令が使えるのですが、作成できるプログラムのサイズに制限があって、2Kを超えるHEX出力が出来ないようです。(自分にはこれで十分かなと思います)
試しに昔の定番のPIC16F84Aで作成してみました。
LEDのON/OFF、LCDへの表示、SW入力、ここまでは簡単に出来ました。
PICと他の機器(XPort、PC、他のPIC)をつなげる練習のために UART (シリアル通信)から文字を受け取ってその文字をLCDに表示させてみました。
本来PIC16F84AはUARTをサポートしていないのですが、mikroBasicの命令にSoftware UART があり全く苦労をせずに実現できました。
ただし、基本的な事ではまって3日もかかってしまいました。
通信以外の処理をしている時は受信出来ないという当たり前の事に気づかず苦労しました。
最初は、スピードの誤差とかノイズとか疑っていましたが、原因がわかって直すときれいに受信できています。(すばらしい)
1つ難点を見つけました。
色んな関数を使えば使うほどメモリーを使用してしまい、シリアルからLCDを表示させるプログラムでメモリー(RAM)がぎりぎりの状態です。(使い方が悪いのかな?)
PCとPICの接続テストは出来たので次は本来の目的のXPortや他のPICとつなげてみたいと思います。(アナログ入力も合わせてテストの予定です)
今回使用したテストプログラムや回路は時間をみてHPにUPする予定です。
各PIC毎に色んなサンプルもいっしょにインストールされます。
HELPは英文(日本語版が無いので英語版を使用しています)のため、ちょっと大変ですが、しっかり書かれていてサンプルが無い命令なども大丈夫そうです。
全ての命令が使えるのですが、作成できるプログラムのサイズに制限があって、2Kを超えるHEX出力が出来ないようです。(自分にはこれで十分かなと思います)
試しに昔の定番のPIC16F84Aで作成してみました。
LEDのON/OFF、LCDへの表示、SW入力、ここまでは簡単に出来ました。
PICと他の機器(XPort、PC、他のPIC)をつなげる練習のために UART (シリアル通信)から文字を受け取ってその文字をLCDに表示させてみました。
本来PIC16F84AはUARTをサポートしていないのですが、mikroBasicの命令にSoftware UART があり全く苦労をせずに実現できました。
ただし、基本的な事ではまって3日もかかってしまいました。
通信以外の処理をしている時は受信出来ないという当たり前の事に気づかず苦労しました。
最初は、スピードの誤差とかノイズとか疑っていましたが、原因がわかって直すときれいに受信できています。(すばらしい)
1つ難点を見つけました。
色んな関数を使えば使うほどメモリーを使用してしまい、シリアルからLCDを表示させるプログラムでメモリー(RAM)がぎりぎりの状態です。(使い方が悪いのかな?)
PCとPICの接続テストは出来たので次は本来の目的のXPortや他のPICとつなげてみたいと思います。(アナログ入力も合わせてテストの予定です)
今回使用したテストプログラムや回路は時間をみてHPにUPする予定です。
2005-12-08
USB-An(アナログ入力)テストPG
現在試用中のUSB-Anの動作確認をした時に実際にコーディングした内容を載せておきます。
言語はActiveBasicで
vbausbio.dll(本拠地で公開している汎用USB-IOをコントロールするためのもの)を使用しています。
USB-Anに対しては入力ができるように初期値を設定し、
入力するアナログポートを指定後、
データを取得といった手順になります。
取得後値を換算して温度表示させています。
ログ出力を含めてもこの程度のコーディングでOKです。
言語はActiveBasicで
vbausbio.dll(本拠地で公開している汎用USB-IOをコントロールするためのもの)を使用しています。
USB-Anに対しては入力ができるように初期値を設定し、
入力するアナログポートを指定後、
データを取得といった手順になります。
取得後値を換算して温度表示させています。
ログ出力を含めてもこの程度のコーディングでOKです。
'---------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
'--------------------------------------
' Main画面が閉じられた時の処理
'--------------------------------------
Sub MainWnd_Destroy()
USBANTEST_DestroyObjects()
PostQuitMessage(0)
End Sub
'--------------------------------------
' ボタンが押された時の処理
'--------------------------------------
Sub MainWnd_CommandButton1_Click()
'USB-An初期処理
AnInit()
'1分毎のインターバルタイマーを起動する
SetTimer(hMainWnd,1,60000,0)
'Logタイトルを出力する
LogTitle()
'データ収集
AnGet()
End Sub
'--------------------------------------
' タイマー割り込みが発生した時の処理
'--------------------------------------
Sub MainWnd_Timer(TimerID As DWord)
'データ収集
AnGet()
End Sub
'--------------------------------------------------------
' ここから下は、ユーザー定義関数を記述するための領域になります。
'======================================
' Anポート初期処理
'======================================
Sub AnInit()
Dim lngRet As Long
'ポート0 READ設定(読み込みが可能なようにOFFを出力)
'全ピンread
lngRet =uio_out(0,&HFF,0)
'ポート1
'An3入力 (上位2ビット:Anポート 下位2ビット:下位2ビット入力値)
'3(0011):An0 7(0111):An1 11(1011):Pin2-An2 15(1111):An-3
lngRet =uio_out(1,&H0F,0)
'AD変換が落ち着くまで待つ
Sleep(500)
End Sub
'======================================
' データ収集処理
'======================================
Sub AnGet()
Dim lngRet As Long
Dim lAnPinNo As Long
Dim byRData As Byte
Dim sglData As Single
Dim strData as String
'An入力ピン切替
lAnPinNo = 0
lngRet =uio_out(1, lAnPinNo * &H4 + &H3, 0)
'8Bit入力
lngRet =uio_inp(byRData,0,0)
'8Bit(0-255)の値を温度(0-50)に変換する
sglData = byRData*50/255
'EditBoxに値を表示
SetWindowText(GetDlgItem(hMainWnd,EditBox1),Str$(sglData))
'ログファイルに出力する
LogWrite(sglData)
End Sub
'======================================
' ログ初期処理(タイトル出力)
'======================================
Sub LogTitle()
Open "log.csv" As #1
'最初(ファイルが空)の時にタイトルを出力
If Eof(1) Then
Print #1, "日付,時間,温度"
End If
Close #1
End Sub
'======================================
' ログ出力処理
'======================================
Sub LogWrite(sglData as Single)
Dim strData As String
strData = Date$()+","+Time$()+","+Str$(sglData)
Open "log.csv" For Append as #1
Print #1, strData
Close #1
End Sub
登録:
投稿 (Atom)