最近仕事が本当に忙しくてブログも当分書き込みをしていません、すみません。
今は時間を見つけてFC8を入れてみようとがんばっているところです。
FC7では何も問題なくVMwareで動作したのですが、FC8は簡単に行きそうにないですね。
サウンドはうまく認識できなかった、現在はサウンドを殺して使用しています。
何とかインストールができたもののまだ不安定な状態です。
汎用USB-IOの動作テストまでは道のりが遠い感じがします。
汎用USB-IOとは関係ないですが、自動車の自動ミラー格納をする回路を試しているところです。
簡単な回路でできるのでうまく出来ればこちらもまた報告をいたします。
2007-11-23
2007-09-28
↑↑ブログの内容が検索できます
左上の「ブログ検索」からバケさんの電子工作のブログの内容が検索ができます。
たとえば「USB-IO」で検索すると過去のUSB-IOに関する書き込みが一覧で表示されます。
テスト運用のようですが、活用してみてください。
2007-09-20
「USBで電子制御」の書評を書きました。
2007-09-18
FC7でRoot権限が無くても汎用USB-IOの動作OK!!
現在最新のFC7での汎用USB-IOの動作確認OKの報告と
掲示板にご報告をいただいたkosugettiさんの方法でRoot権限が無くても作成したプログラムを正常動作させる方法の動作確認OKの2点を合わせてご報告をいたします。
まず、FC7での汎用USB-IOの動作確認
開発ツールのインストールだけではlibusb(開発用)がインストールされないのでyumで追加インストールします。(suでルート権限を与えてインストールします)
# yum install libusb libusb-devel
このブログで書き込みしたテストプログラムソースをusb-testフォルダーにダウンロードし、コンパイルをします。
$ mkdir usb-test
$ cd usb-test
$ wget http://bake-san.com/bdenshi/musbiobase.h
$ wget http://bake-san.com/bdenshi/usbio_test.c
必要に応じてmusbiobase.hのベンダーID、プロダクトIDを変更してください。
先頭に#defineで設定しているUSB_VENDORとUSB_PRODUCTを持っている汎用USB-IOにあわせます。
コンパイルします。
$ cc -o usbio_test usbio_test.c -I/usr/local/include/ -L/usr/local/lib/ -lusb
-I/usr/local/include/ -L/usr/local/lib/はデフォルト値なので省略しても大丈夫ですが、
念のため設定をしています。
ここでsuでRoot権限を与えてプログラムを実行します。
# ./usbio_test
以上でプログラムで記述した通りに各ポートがON/OFFされると思います。
次は掲示板にご報告をいただいたkosugettiさんの方法で
Root権限が無くても作成したプログラムを正常動作させる方法です。
「/etc/udev/rules.d/55-myrules.rules」というファイルを新たに作ればRoot権限が無くても作成したプログラムを正常動作させることが出来ます。
55-myrules.rulesの内容は下記のとおりです。
# For TECHNO KIT
SUBSYSTEM=="usb_device",SYSFS{idVendor}=="12ed",SYSFS{idProduct}=="1003",MODE="0666"
# For Km2Net
SUBSYSTEM=="usb_device",SYSFS{idVendor}=="1352",SYSFS{idProduct}=="0100",MODE="0666"
SUBSYSTEM=="usb_device",SYSFS{idVendor}=="1352",SYSFS{idProduct}=="0101",MODE="0666"
現在購入可能な汎用USB-IOをすべて記述していますが、持っている汎用USB-IOの記述だけでも大丈夫です。
注意事項が1点あります、FC7が正常に起動してから汎用USB-IOをつなげないと今回の設定が有効になりません。
FC7を起動時に汎用USB-IOをつないでいて正常に動作しない時には一度汎用USB-IOを抜いて差し直せば今回の設定が有効になり、正常に動作できるようになります。
FC7が正常に起動してから汎用USB-IOをつなげないと今回の設定が有効にならない件については引続き調査中です。
情報をいただいたkosugettiさんに感謝いたします。
掲示板にご報告をいただいたkosugettiさんの方法でRoot権限が無くても作成したプログラムを正常動作させる方法の動作確認OKの2点を合わせてご報告をいたします。
まず、FC7での汎用USB-IOの動作確認
開発ツールのインストールだけではlibusb(開発用)がインストールされないのでyumで追加インストールします。(suでルート権限を与えてインストールします)
# yum install libusb libusb-devel
このブログで書き込みしたテストプログラムソースをusb-testフォルダーにダウンロードし、コンパイルをします。
$ mkdir usb-test
$ cd usb-test
$ wget http://bake-san.com/bdenshi/musbiobase.h
$ wget http://bake-san.com/bdenshi/usbio_test.c
必要に応じてmusbiobase.hのベンダーID、プロダクトIDを変更してください。
先頭に#defineで設定しているUSB_VENDORとUSB_PRODUCTを持っている汎用USB-IOにあわせます。
コンパイルします。
$ cc -o usbio_test usbio_test.c -I/usr/local/include/ -L/usr/local/lib/ -lusb
-I/usr/local/include/ -L/usr/local/lib/はデフォルト値なので省略しても大丈夫ですが、
念のため設定をしています。
ここでsuでRoot権限を与えてプログラムを実行します。
# ./usbio_test
以上でプログラムで記述した通りに各ポートがON/OFFされると思います。
次は掲示板にご報告をいただいたkosugettiさんの方法で
Root権限が無くても作成したプログラムを正常動作させる方法です。
「/etc/udev/rules.d/55-myrules.rules」というファイルを新たに作ればRoot権限が無くても作成したプログラムを正常動作させることが出来ます。
55-myrules.rulesの内容は下記のとおりです。
# For TECHNO KIT
SUBSYSTEM=="usb_device",SYSFS{idVendor}=="12ed",SYSFS{idProduct}=="1003",MODE="0666"
# For Km2Net
SUBSYSTEM=="usb_device",SYSFS{idVendor}=="1352",SYSFS{idProduct}=="0100",MODE="0666"
SUBSYSTEM=="usb_device",SYSFS{idVendor}=="1352",SYSFS{idProduct}=="0101",MODE="0666"
現在購入可能な汎用USB-IOをすべて記述していますが、持っている汎用USB-IOの記述だけでも大丈夫です。
注意事項が1点あります、FC7が正常に起動してから汎用USB-IOをつなげないと今回の設定が有効になりません。
FC7を起動時に汎用USB-IOをつないでいて正常に動作しない時には一度汎用USB-IOを抜いて差し直せば今回の設定が有効になり、正常に動作できるようになります。
FC7が正常に起動してから汎用USB-IOをつなげないと今回の設定が有効にならない件については引続き調査中です。
情報をいただいたkosugettiさんに感謝いたします。
2007-09-08
汎用USB-IO講座、12個までのLEDをON/OFFする
Port1をつかえば4つまでのLEDをON/OFFできます。
それ以上のLEDをON/OFFさせるためにはPort0を使う必要があります。
Port0は流せる電流が少ないのでトランジスタなどを使って多くの電流をON/OFFできるようにします。
その回路が図にあるものです。
一気に8個分書いたので複雑に見えますが同じ物が8つあり、比較的簡単な回路だと思います。
回路図通りにブレッドボードを使って回路を組んで見ました。
汎用USB-IOとブレッドボードを接続するにはピン配列変換ケーブルが便利です。組立パソコンのパーツを扱っている店にはあると思います。
自分が持っているブレッドボードではスペース上8個までですが同じ回路をもう4つ作成してPort1も使うと12個LEDをON/OFFできます。
実際にvbausbio.dllを使ってOn/Offさせるプログラムです。
[VB,AB,VBA]
uio_out(0,&hFF,0)'All Off
uio_out(0,&hFE,0)'Port0 0BitのみON
uio_out(0,&hFD,0)'Port0 1BitのみON
uio_out(0,&hFB,0)'Port0 2BitのみON
uio_out(0,&hF7,0)'Port0 3BitのみON
uio_out(0,&hEF,0)'Port0 4BitのみON
uio_out(0,&hDF,0)'Port0 5BitのみON
uio_out(0,&hBF,0)'Port0 6BitのみON
uio_out(0,&h7F,0)'Port0 7BitのみON
uio_out(0,&h0,0)'All ON
uio_out(0,&hAA,0)'1個飛ばしでON
写真は1個飛ばしで出力している時のものです。
次回はもう少し詳しく(ブレッドボードのレイアウト等)説明したいと思います。
2007-08-14
汎用USB-IO講座、4つのLEDをON/OFFする
赤色LEDなどは10mA程度で光るので何とか制御できます。
光らせたい端子に0を出力するとVccから指定の端子に流れてLEDがつきます。
実際にvbausbio.dllを使ってOn/Offさせるプログラムです。
[VB,AB,VBA]
uio_out(1,&hF,0)'All Off
uio_out(1,&hE,0)'Port1 0BitのみON
uio_out(1,&hD,0)'Port1 1BitのみON
uio_out(1,&hB,0)'Port1 2BitのみON
uio_out(1,&h7,0)'Port1 3BitのみON
「プログラム解説」
uio_outの第1パラメータはPortNoです。
今回はPort1を使用するので1をセットします。
uio_outの第2パラメータは出力データです。
2進数に置き換えてON/OFFをセットしてそれを10進数の値にしてパラメータを与えます。
また、今回の回路は希望のBitを0にするとLEDが点灯します。
全てOFFは2進数で1111 これを16進数にするとF &hをつけると16進数を10進数に変換するのでそれを与えます。
Port1 0BitのみONは2進数で1110 これを16進数にするとE &hEを与えます。
あと同様に
1101、16進でD
1011、16進でB
0111、16進で7
もし0Bitと1Bitをつけたい場合は 1100となり、16進でCになります。
第3パラメータは0で使用してください、高度な制御をする時に使います。(今回は説明を省きます)
最後に今回はPort0を使いませんでした、Port0は電流があまり流せないのでLEDでも上手くつかないのでもし使用する場合電流が流せるようにトランジスタなどで回路を考える必要があります。
次回に説明予定です。
2007-06-26
ブレッドボードとアルミ板
ICをブレッドボードで使う場合、動作不安定になることが良くあります。
コンデンサーをつけても改善されず、困っていました。
WEBを検索してみると、ブレッドボードの下にアルミ板を置くといいようです。
念のため、アースに接続して使っています。
簡単な回路では上手く動いています、今まで上手く動かなかった回路もチャレンジしてみたいと思っています。
上の写真はキャパシタとソーラーを使ってセキュリティダミーのランプを作成してテストをしているところです。
参考までに回路は以下の通り。
2007-06-12
VB6.0でヘルプが表示できません
VB2005をインストールしてその後、VB6.0をインストールすると「ヘルプが表示できません」とメッセージが出てヘルプが出なくなりました。
逆は大丈夫のようです、おそらくインストールする順番でなるのではと思っています。
これも不確かですが、VB2005とVB6.0を両方インストールしているマシンで出たり出なかったりしています。
VB2005とVB6.0を両方ともアンインストールして、インストールする順番を変えてみたり色々しましたが一度症状が出るとインストールしなおしてもだめなようです。
今回の症状は下記のリンクの内容を対処して上手く出るようになりました。
http://support.microsoft.com/default.aspx?scid=kb;ja;250334
概要は以下の通り。
原因
vshelp.dll ファイルがオペレーティング システムのレジストリに正しく登録されていません。
先頭へ戻る
解決方法
regsvr32.exe を使用して vshelp.dll をレジストリに登録しなおします。
例) regsvr32 "C:\Program Files\Common Files\Microsoft Shared\VS98\VSHELP.DLL"
結構困ったのでブログに記録しておきました。
逆は大丈夫のようです、おそらくインストールする順番でなるのではと思っています。
これも不確かですが、VB2005とVB6.0を両方インストールしているマシンで出たり出なかったりしています。
VB2005とVB6.0を両方ともアンインストールして、インストールする順番を変えてみたり色々しましたが一度症状が出るとインストールしなおしてもだめなようです。
今回の症状は下記のリンクの内容を対処して上手く出るようになりました。
http://support.microsoft.com/default.aspx?scid=kb;ja;250334
概要は以下の通り。
原因
vshelp.dll ファイルがオペレーティング システムのレジストリに正しく登録されていません。
先頭へ戻る
解決方法
regsvr32.exe を使用して vshelp.dll をレジストリに登録しなおします。
例) regsvr32 "C:\Program Files\Common Files\Microsoft Shared\VS98\VSHELP.DLL"
結構困ったのでブログに記録しておきました。
2007-06-08
ベクターからダウンロード可能(vbausbio.dll)
VBA用 USB-IOをベクターからダウンロードできるようにしました。
これでダウンロードしやすくなるのではと思います。
また今後、バージョンアップも考えていますので、バージョンアップ通知を設定しておくといいかもね。
<ライブラリ作品番号:PS431109>
VBA用 USB-IOコントロールDll 0.3
vbausbio.lzh (vbausbio.lzh)
07/06/01 5282
概要: VB、AB、Excelで簡単に汎用USB-IOをコントロール
説明ページ: http://www.vector.co.jp/soft/win95/prog/se431109.html
P.S.
このvbausbio.dllは (Kiffyさん情報ありがとうございます。)
Delphi6でも動作するようです、Delphi用の定義部を準備中です。
VB.Net(VB2005)、C#、の定義部も準備の予定です。
これでダウンロードしやすくなるのではと思います。
また今後、バージョンアップも考えていますので、バージョンアップ通知を設定しておくといいかもね。
<ライブラリ作品番号:PS431109>
VBA用 USB-IOコントロールDll 0.3
vbausbio.lzh (vbausbio.lzh)
07/06/01 5282
概要: VB、AB、Excelで簡単に汎用USB-IOをコントロール
説明ページ: http://www.vector.co.jp/soft/win95/prog/se431109.html
P.S.
このvbausbio.dllは (Kiffyさん情報ありがとうございます。)
Delphi6でも動作するようです、Delphi用の定義部を準備中です。
VB.Net(VB2005)、C#、の定義部も準備の予定です。
2007-05-22
汎用USB-IOのVBA専用Dll Ver1.0β 開発中
Vista対応が終わったら機能UPしたいと思っていました。
まず、手始めに複数の汎用USB-IOを簡単に制御できるようにベンダーID(vid)、プロダクトID(pid)を指定して選択できる機能をつけました。
現在入手先としてテクノキットさんとKm2Netさんがありますが、それぞれ違うベンダーIDとプロダクトIDが使われています。
この2つを同時につなげておいて、ベンダーIDとプロダクトIDを指定して動作させることにより同時使用が可能になります。
また、Km2Netさんでは複数使用を目的にプロダクトIDの違うものを販売されています。
お願いすればたぶんプロダクトIDの違うものを用意していただけると思います。
2台以上でも可能になりますね、そのときには連絡をいただければDllも対応いたします。
VBでのコーディング例(全角文字を使っているのでコピーする場合注意)
Private Sub Command1_Click()
Dim ret As Long
uio_find
If uio_selid(&H12ED, &H1003) = 0 Then 'ベンダーID,プロダクトIDを指定
MsgBox ("vid=" + Hex(uio_getvid)) 'ベンダーIDを取得
MsgBox ("pid=" + Hex(uio_getpid)) 'プロダクトIDを取得
ret = uio_out(0, &HAA, 0) 'Port0に出力
ret = uio_out(1, &HAA, 0) 'Port1に出力
Else
MsgBox ("指定のUSB-IO機器が見つかりません")
End If
End Sub
β版Dllはここからダウンロード
vbausbio_beta.lzh
β版VBサンプルはここからダウンロード
beta_test.lzh
まず、手始めに複数の汎用USB-IOを簡単に制御できるようにベンダーID(vid)、プロダクトID(pid)を指定して選択できる機能をつけました。
現在入手先としてテクノキットさんとKm2Netさんがありますが、それぞれ違うベンダーIDとプロダクトIDが使われています。
この2つを同時につなげておいて、ベンダーIDとプロダクトIDを指定して動作させることにより同時使用が可能になります。
また、Km2Netさんでは複数使用を目的にプロダクトIDの違うものを販売されています。
お願いすればたぶんプロダクトIDの違うものを用意していただけると思います。
2台以上でも可能になりますね、そのときには連絡をいただければDllも対応いたします。
VBでのコーディング例(全角文字を使っているのでコピーする場合注意)
Private Sub Command1_Click()
Dim ret As Long
uio_find
If uio_selid(&H12ED, &H1003) = 0 Then 'ベンダーID,プロダクトIDを指定
MsgBox ("vid=" + Hex(uio_getvid)) 'ベンダーIDを取得
MsgBox ("pid=" + Hex(uio_getpid)) 'プロダクトIDを取得
ret = uio_out(0, &HAA, 0) 'Port0に出力
ret = uio_out(1, &HAA, 0) 'Port1に出力
Else
MsgBox ("指定のUSB-IO機器が見つかりません")
End If
End Sub
β版Dllはここからダウンロード
vbausbio_beta.lzh
β版VBサンプルはここからダウンロード
beta_test.lzh
2007-05-20
汎用USB-IOのVBA専用DLLのVista対応 出来た!
やっとですが、汎用USB-IOのVBA専用DLLのVista対応が出来ました。
ダウンロードはこちらから(vbausbio.dll)
Vistaが販売される前から調べていたのですが結局今まで分からず、K-Kさんが先にHSP用USBIOプラグインをVista対応されたので参考にさせていただき出来ました。
k-kさんに感謝!!
Vistaにどうやって対応されたのかはコピペをして対応したので理解できていませんが、これからゆっくり調べて見たいと思っています。
ダウンロードはこちらから(vbausbio.dll)
Vistaが販売される前から調べていたのですが結局今まで分からず、K-Kさんが先にHSP用USBIOプラグインをVista対応されたので参考にさせていただき出来ました。
k-kさんに感謝!!
Vistaにどうやって対応されたのかはコピペをして対応したので理解できていませんが、これからゆっくり調べて見たいと思っています。
2007-05-07
汎用USB-IOのVBA専用DLLのVista対応 WDK
あまりにも、難航しているのでちょっと電子工作をして頭をほぐしてきました。
また、再開して解析や調査をしているところです。
開発環境(コンパイル用のコマンドプロンプト)ではライブラリなど、リンクするものがOSにより切り替えられていました。
この環境を調べてインクルード先やリンク先を上手く指定すれば動くかも?
同時にサンプルソースも解析して特別なことをしていないか、違う命令を使っていないか再度調査中です。
ソースのいたるところに、USERモードとかカーネルモードとか記述されています、ちょっと気になっているので合わせて調査中です。
また、再開して解析や調査をしているところです。
開発環境(コンパイル用のコマンドプロンプト)ではライブラリなど、リンクするものがOSにより切り替えられていました。
この環境を調べてインクルード先やリンク先を上手く指定すれば動くかも?
同時にサンプルソースも解析して特別なことをしていないか、違う命令を使っていないか再度調査中です。
ソースのいたるところに、USERモードとかカーネルモードとか記述されています、ちょっと気になっているので合わせて調査中です。
エレキジャックのPICライター
エレキジャックの5月号で紹介されているPICライターはPIC Writer 509 作成 で私が紹介している509ライターの機能とJDMプログラマの機能の両方を持ち、ファームウェアの書き込みも他のPICライターを使わずに書き込みができるようになっていました。
13Vも昇圧回路で発生させていました。
AVアダプターを使う設定でしたが、安定化された5VでいいのでUSBの電源から取得が可能なのではと思います(未検証←検証しました、USBの電源で上手く動きます)
PICをこれから始めたい人には安価に始められる(若干、電子工作をかじっていないと難しいかも)、とても参考になる本ではと思います。
基板もついているので部品を間違えなく取り付ければ(購入は必要)成功率が高いのではと思います。 ←検証しました、基板があるのはすごく楽ですね、部品一覧と基板のシルク印刷を見比べながら作成してミス0で出来ました。
ただ、ファームウェアを書き込むときはUSBシリアル変換ケーブルを使うと難しいのではと思います。
ファームウェアを書き込む時だけ本体内蔵タイプのシリアルポートを使うと確実なのではと推測(経験から)します。
←検証しました、USBシリアル変換ケーブルでバッチリ書きこめました、すばらしい。
1度ファームウェアを書き込み出来てしまえば、気持ちよく動作すると思います。
←気持ちよく、動いています。
未検証なので、文章が「思います」ばかりですね、すみません。
←思いますではいけないので、部品を買って作成しました。
結構、すんなり動きました。
実はファームウェアの書き込みで失敗しました。
ディップスイッチD3をOFFにして、書き込まないといけないのですが、D3以外も全部OFFにしておかないと失敗します。
D3OFFを過大解釈してD3以外をONにして失敗しました、全てOFFでリセットして書き込んで正常に出来ました、要注意です。
(自分みたいにヒネクレ者はいないと思うので大丈夫かな??)
13Vも昇圧回路で発生させていました。
AVアダプターを使う設定でしたが、安定化された5VでいいのでUSBの電源から取得が可能なのではと思います(未検証←検証しました、USBの電源で上手く動きます)
PICをこれから始めたい人には安価に始められる(若干、電子工作をかじっていないと難しいかも)、とても参考になる本ではと思います。
基板もついているので部品を間違えなく取り付ければ(購入は必要)成功率が高いのではと思います。 ←検証しました、基板があるのはすごく楽ですね、部品一覧と基板のシルク印刷を見比べながら作成してミス0で出来ました。
ただ、ファームウェアを書き込むときはUSBシリアル変換ケーブルを使うと難しいのではと思います。
ファームウェアを書き込む時だけ本体内蔵タイプのシリアルポートを使うと確実なのではと推測(経験から)します。
←検証しました、USBシリアル変換ケーブルでバッチリ書きこめました、すばらしい。
1度ファームウェアを書き込み出来てしまえば、気持ちよく動作すると思います。
←気持ちよく、動いています。
未検証なので、文章が「思います」ばかりですね、すみません。
←思いますではいけないので、部品を買って作成しました。
結構、すんなり動きました。
実はファームウェアの書き込みで失敗しました。
ディップスイッチD3をOFFにして、書き込まないといけないのですが、D3以外も全部OFFにしておかないと失敗します。
D3OFFを過大解釈してD3以外をONにして失敗しました、全てOFFでリセットして書き込んで正常に出来ました、要注意です。
(自分みたいにヒネクレ者はいないと思うので大丈夫かな??)
2007-05-02
定電流UPコンバーター (ダイソー315円改)
未検証ですが、面白い回路を思いついたのでUPしておきます。
以前にダイソーのシガーライターソケット用携帯電話充電器を改造して5Vから13Vを出力するUPコンバーターを作成しました。
その回路を少し変更して定電流化してみました。
LEDのドライブ用に使えて抵抗などよりははるかに効率がいいと思われます。
R3の抵抗で電流が決まります。
R3が82Ωの時にLEDに15mA流れます、LEDは5個ぐらいまでは増やしても可能ではと思います。
R3を16Ωと18Ωの抵抗を並列につなげると8.47Ωになり、147mAでちょっとしたハイパワーLEDも可能だと思います(未検証ですが)
改造前のDOWNコンバータのままでのテストでは上手く動作しています。
思いつきを忘れないうちに回路図にしておきました、時間が出来たら検証をしたいと思います。
注意!!、この回路でLEDを接続せずに電源を入れるとICが壊れると思います。
必ずLEDを接続してテストしてください。
2007-04-25
PIC16F648Aを試してみる! (RA4に出力できない)
今まではPICといえば、16F84Aを使っていたのですが、今これを買おうとすると結構高い!!
なのでPIC16F648Aを購入して試しています。
16F84Aに比べると機能がいっぱいあり楽しみです。
とりあえず、LEDをつけてみることにしました。
初心に戻って始めましたが、早速はまりました。
どう設定してもRA4だけ出力が出来ないのです、
データシートを確認するとRA5はInputのみなので出力できなくていいのですがRA4はOutput出来るはずなのです。
1晩なやんで今日バスの中でデータシートをながめていたら、内部回路がRA4だけおかしいなぜかRA4だけオープンドレインになっています。
さらにデータシートをよく読むとRA4だけオープンドレインになっていると記述があった。
どうりで、ということはLEDを付け直せば大丈夫ですね。流れ込みの回路で家に帰ったら試して見よう!
ロジックレベルで使用するにはプルアップ抵抗が必要になりますね。
16F84Aを使っていたころは諸先輩方の回路とプログラムを参考にしていたので問題にならなかったようです。
データシートはよく読まないといけませんね。
なのでPIC16F648Aを購入して試しています。
16F84Aに比べると機能がいっぱいあり楽しみです。
とりあえず、LEDをつけてみることにしました。
初心に戻って始めましたが、早速はまりました。
どう設定してもRA4だけ出力が出来ないのです、
データシートを確認するとRA5はInputのみなので出力できなくていいのですがRA4はOutput出来るはずなのです。
1晩なやんで今日バスの中でデータシートをながめていたら、内部回路がRA4だけおかしいなぜかRA4だけオープンドレインになっています。
さらにデータシートをよく読むとRA4だけオープンドレインになっていると記述があった。
どうりで、ということはLEDを付け直せば大丈夫ですね。流れ込みの回路で家に帰ったら試して見よう!
ロジックレベルで使用するにはプルアップ抵抗が必要になりますね。
16F84Aを使っていたころは諸先輩方の回路とプログラムを参考にしていたので問題にならなかったようです。
データシートはよく読まないといけませんね。
2007-04-24
PIC Writer 509 作成
前回のPICプログラマーのUSB電源化では、秋月のPICプログラマーを使いましたが、ちょっと大きいので前から気になっていたPIC Writer 509を作成して見ました。
サポートしているPICも結構多く(自分が使いたいPICは全てOK)、サクサク書き込みが出来ています。
写真の右側(緑色の基板)がUSシリアル変換モジュールです。
左側の基板の上半分がPIC Writer 509です。
左側の基板の下半分が5Vから13Vを作り出す、昇圧回路です。(PICプログラマーのUSB電源化で紹介したものと同じもの)
コンパクトになり持ち運びに便利になりました。
PICプログラマーのUSB電源化
秋月のUSBシリアル変換モジュールを取り付けました。
電源はこのUSBシリアル変換モジュールから5Vを取っています。
当初はRS232CレベルコンバータIC部分を取り除いて直接つなげようと思っていましたが、パターンが小さく上手く取り除けそうに無いのであきらめました。
USBは1口だけですむようになり便利になりました。
2007-04-20
PCでLED電流制限抵抗を求める
HPではなく、鍋テックの鍋電卓(PCで動作する関数電卓)でLED電流制限抵抗を求められるようにしました。
あまり、意味は無いかもしれませんが、いちいちIEを立ち上げて・・・とせずに、
鍋電卓を立ち上げてすぐ計算が出来ます。
ノートを持ち歩いて・・・電子工作・・・しない気がしてきた。
せっかく作ったのでソースを載せておきます。
以下、ソース
----------
cls
print "LED電流制限抵抗を求める"
input "電源の電圧(V) ?", be
print "電源の電圧"; be; "V"
input "LEDの電流(A) ?", la
print "LEDの電流";la; "A"
input "LEDの電圧(V) ?", le
print "LEDの電圧";le; "A"
input "LEDの直列個数 ?", n
print "LEDの直列個数";n; "個"
print "---------------------"
lr = (be - le * n)/la
rw = lr * la * la
print "抵抗=";lr; "Ω ";rw;"W"
end
----------
ソースはここまで
あまり、意味は無いかもしれませんが、いちいちIEを立ち上げて・・・とせずに、
鍋電卓を立ち上げてすぐ計算が出来ます。
ノートを持ち歩いて・・・電子工作・・・しない気がしてきた。
せっかく作ったのでソースを載せておきます。
以下、ソース
----------
cls
print "LED電流制限抵抗を求める"
input "電源の電圧(V) ?", be
print "電源の電圧"; be; "V"
input "LEDの電流(A) ?", la
print "LEDの電流";la; "A"
input "LEDの電圧(V) ?", le
print "LEDの電圧";le; "A"
input "LEDの直列個数 ?", n
print "LEDの直列個数";n; "個"
print "---------------------"
lr = (be - le * n)/la
rw = lr * la * la
print "抵抗=";lr; "Ω ";rw;"W"
end
----------
ソースはここまで
2007-04-17
携帯でLED電流制限抵抗を求める
AUの携帯限定ですが、EZアプリでプログラムが可能な電卓があります。
てくの電卓を参照してください。
要注意:ダウンロードする時のみ315円必要です(2007/04/17現在)
このてくの電卓用のLED電流制限抵抗を求めるプログラムを作成しました。
PCが無い所で(店で)使えるようになり、自分は便利になりました。
このためだけに300円は高いかも、いろいろ使えそうなので
もっとたく活用(プログラムを作成するなど)すれば安いと思います。
出来たら携帯用サイトで計算できるものを作りたいと思っています。(いつになるやら?)
以下プログラムソース
----------
P(start LED R)
HALT
P(LED I)
HALT
STM[1]
P(LED E)
HALT
STM[2]
P(LED N)
HALT
STM[3]
P(BATT E)
HALT
STM[4]
(
M[4]
-
M[2]
*
M[3]
)
/
M[1]
=
HALT
*
M[1]
*
M[1]
=
HALT
----------
プログラムはここまで
使い方
実行させる
「start LED R」が表示される。
=(中ボタン)で進める
「LED I」が表示される。
LEDに流したい電流をAで入力(20mAの場合は0.02)
「LED E」が表示される。
LEDに加える電圧をVで入力(白色LEDなどは3.6)
「LED N」が表示される。
LEDの個数(直列接続のみ対応)を入力
「BATT E」が表示される。
電源電圧をVで入力
LED電流制限抵抗が表示される。
=(中ボタン)で進める
LED電流制限抵抗のワット数が表示される。
実際に抵抗を購入するときはここで計算された
値の倍以上のワット数のものにする。
以上。
てくの電卓を参照してください。
要注意:ダウンロードする時のみ315円必要です(2007/04/17現在)
このてくの電卓用のLED電流制限抵抗を求めるプログラムを作成しました。
PCが無い所で(店で)使えるようになり、自分は便利になりました。
このためだけに300円は高いかも、いろいろ使えそうなので
もっとたく活用(プログラムを作成するなど)すれば安いと思います。
出来たら携帯用サイトで計算できるものを作りたいと思っています。(いつになるやら?)
以下プログラムソース
----------
P(start LED R)
HALT
P(LED I)
HALT
STM[1]
P(LED E)
HALT
STM[2]
P(LED N)
HALT
STM[3]
P(BATT E)
HALT
STM[4]
(
M[4]
-
M[2]
*
M[3]
)
/
M[1]
=
HALT
*
M[1]
*
M[1]
=
HALT
----------
プログラムはここまで
使い方
実行させる
「start LED R」が表示される。
=(中ボタン)で進める
「LED I」が表示される。
LEDに流したい電流をAで入力(20mAの場合は0.02)
「LED E」が表示される。
LEDに加える電圧をVで入力(白色LEDなどは3.6)
「LED N」が表示される。
LEDの個数(直列接続のみ対応)を入力
「BATT E」が表示される。
電源電圧をVで入力
LED電流制限抵抗が表示される。
=(中ボタン)で進める
LED電流制限抵抗のワット数が表示される。
実際に抵抗を購入するときはここで計算された
値の倍以上のワット数のものにする。
以上。
2007-04-07
登録:
投稿 (Atom)
