2008-11-20
ソーラーパネル その後 @バケさん
ソーラーパネルをつけて、何に使おうかいろいろ試しています。
12Vのバッテリーに充電してためています。
そのままでは使いにくいので掘り出し物(12VシガーライターからUSB5V出力に変換するもの)で5Vにして使うようにしています。
USBを電源にして動作するものが増えてきて結構つかえます。
今注目しているのはeneloopですね、これに充電して他の機器で使うようにしています。
eneloop関連商品も増えてきて要チェックです。
寒くなって重宝しているのがeneloopのカイロです。
充電のACアダプターがついているのですが、電圧を確認すると5VなのでUSB変換コネクターを作成して掘り出し物を使って充電できるようにしています。
太陽の熱を凝縮して持ち歩いている感じです
USBで動作するものをコレクション中です。(アマゾンで検索中)
http://astore.amazon.co.jp/bakesan-22?%5Fencoding=UTF8&node=7
12Vのバッテリーに充電してためています。
そのままでは使いにくいので掘り出し物(12VシガーライターからUSB5V出力に変換するもの)で5Vにして使うようにしています。
USBを電源にして動作するものが増えてきて結構つかえます。
今注目しているのはeneloopですね、これに充電して他の機器で使うようにしています。
eneloop関連商品も増えてきて要チェックです。
寒くなって重宝しているのがeneloopのカイロです。
充電のACアダプターがついているのですが、電圧を確認すると5VなのでUSB変換コネクターを作成して掘り出し物を使って充電できるようにしています。
太陽の熱を凝縮して持ち歩いている感じです
USBで動作するものをコレクション中です。(アマゾンで検索中)
http://astore.amazon.co.jp/bakesan-22?%5Fencoding=UTF8&node=7
2008-09-13
過去ログの一部が見れなくなっていた @バケさん
このGoogleのブログ(Blogger)はどうも完全に日本語に対応できていないらしく。
タイトルの最後の文字に一部の日本語を使うと過去ログが表示されなくなるようです。
わかっている文字は句読点(。)は駄目のようです。
気づいたものには最後に全角のスペースをいれていたのですが、これも再構築かなにかをすると自動的に最後のスペースをカットされるらしく、いつもまにかまみれなくなっています。
今回は試しに最後に(.)をつけてみました。
これでうまくみれるようでしたら、過去の書き込みも直しておこうかと思います。
さすがに(.)は勝手にカットしないでしょう。
試したら(.)でも見れなくなってしまいました、 それでは(バケ)を最後につけてみましょう。
これは上手く行きました、でもこれでは意味不明なので -にしてみました。
OKですね、-でも意味不明ですが(バケ)よりはましでしょう。
OKだと思っていたのですが、リフレッシュがきいていなかったようです、-もダメでした。
@バケさんをつけてみます。
タイトルの最後の文字に一部の日本語を使うと過去ログが表示されなくなるようです。
わかっている文字は句読点(。)は駄目のようです。
気づいたものには最後に全角のスペースをいれていたのですが、これも再構築かなにかをすると自動的に最後のスペースをカットされるらしく、いつもまにかまみれなくなっています。
今回は試しに最後に(.)をつけてみました。
これでうまくみれるようでしたら、過去の書き込みも直しておこうかと思います。
さすがに(.)は勝手にカットしないでしょう。
試したら(.)でも見れなくなってしまいました、 それでは(バケ)を最後につけてみましょう。
これは上手く行きました、でもこれでは意味不明なので -にしてみました。
OKですね、-でも意味不明ですが(バケ)よりはましでしょう。
OKだと思っていたのですが、リフレッシュがきいていなかったようです、-もダメでした。
@バケさんをつけてみます。
2008-09-12
ソーラーパネルをつけました。 @バケさん
久々の書き込みです、秋月のサイト見ていたらはソーラーパネルがこの価格は在庫限りで高くなるとあったので買ってしまいました。
ついでにバッテリーと鉛蓄電池充電キットも買いました。
基板についているメータは100円ショップで電池チェッカを購入(300円した)したものを取り付けています。
もう1つ購入して電圧も計れるようにもしています(12V~14Vの間を見れるように回路を作りました、回路図等はまた書き込みします)
セメント抵抗の両端を測ると1Vで1A流れている計算になります、電池チェッカは1.5Vを計測するものなのでちょうどいいのではと思いつけてみたらビンゴです。
写真ではソーラーパネルがフルパワー(1A)の状態のものです。
充電終了電圧の13.86Vに近くなると針が下がってくるので充電キットが上手く動作しているのがよくわかります。
最近、天気がいいのでいつもフル充電の状態です。
今のところ携帯電話の充電ぐらいにしかつかっていないので、何に使おうかと考え中です。
12Vなので車で使えるものがほとんど使えます、インバーターを使って100Vも可能です。
どう使うかはこれからですね。
2008-06-14
LinuxでLCDを表示(汎用USB-IO) 続き
バケさんの電子工作 : LinuxでLCDを表示(汎用USB-IO)
前回、汎用USB-IOでLCDをLinuxから簡単に制御できるように関数ライブラリー(usblcd.h)を公開しましたが。
半角カナも表示できるように手直しをしてみました。
usblcd.h
また、テストプログラムも少し実用的なものを作成してみました。
コマンド画面から表示させたい文字列を引数に与えて実行すると表示できるようにしてみました。
使い方;
usblcd "USB-IO de LCD!!"
これで1行目に表示されます。
usblcd "usb-io de LCD" "(^_^)/ by BAKE"
これで1行目に"usb-io de LCD"、2行目に"(^_^)/ by BAKE"が表示されます。 さらに、
usblcd " start " " usb-io de lcd" "2 page 1 line" "2 page 3 line" " E N D "
これで最初に" start " " usb-io de lcd"を表示して、
1秒後、"2 page 1 line" "2 page 3 line" を表示し
1秒後、" E N D "を表示して終了します。
usblcd.c
前回、汎用USB-IOでLCDをLinuxから簡単に制御できるように関数ライブラリー(usblcd.h)を公開しましたが。
半角カナも表示できるように手直しをしてみました。
usblcd.h
また、テストプログラムも少し実用的なものを作成してみました。
コマンド画面から表示させたい文字列を引数に与えて実行すると表示できるようにしてみました。
使い方;
usblcd "USB-IO de LCD!!"
これで1行目に表示されます。
usblcd "usb-io de LCD" "(^_^)/ by BAKE"
これで1行目に"usb-io de LCD"、2行目に"(^_^)/ by BAKE"が表示されます。 さらに、
usblcd " start " " usb-io de lcd" "2 page 1 line" "2 page 3 line" " E N D "
これで最初に" start " " usb-io de lcd"を表示して、
1秒後、"2 page 1 line" "2 page 3 line" を表示し
1秒後、" E N D "を表示して終了します。
usblcd.c
2008-06-12
LinuxでLCDを表示(汎用USB-IO)
Linuxで汎用USB-IOがLinux(FC5)で汎用USB-IOを使う で使えるようになりましたが、今度はLCDを簡単に制御できるように usblcd.h というヘッダーファイルを作成してみました。
LCDを初期化して使える状態にし
lcd_init(udev);
表示位置を指定して文字を出力
lcd_locate(udev,0,0);
lcd_text(udev,"Linux de USBLCD");
これで表示できます。
まず、ヘッダーファイル msubiobase.h の内容です。
これは変更ありませんが、使用されるUSB-IOにあわせて修正してください
musbiobase.h
次に今回LCDのためのヘッダーファイル usblcd.h の内容です。
usblcd.h
サンプルソースも作成してみました。
usblcd_test.c の内容です。
usblcd_test.c
usblcd.h
usblcd.txt
LCDを初期化して使える状態にし
lcd_init(udev);
表示位置を指定して文字を出力
lcd_locate(udev,0,0);
lcd_text(udev,"Linux de USBLCD");
これで表示できます。
まず、ヘッダーファイル msubiobase.h の内容です。
これは変更ありませんが、使用されるUSB-IOにあわせて修正してください
musbiobase.h
次に今回LCDのためのヘッダーファイル usblcd.h の内容です。
usblcd.h
サンプルソースも作成してみました。
usblcd_test.c の内容です。
usblcd_test.c
usblcd.h
usblcd.txt
2008-05-02
掘り出し物
近くのパソコンショップでワゴンセールをしていたものです。
100円ショップだと300円するものと同じICがしかも正規のメーカー製?でMC型番でした。
なおかつ消費税込みの100円ポッキリでした。
なんとなく3個買ってしまった。
100円ショップだと300円するものと同じICがしかも正規のメーカー製?でMC型番でした。
なおかつ消費税込みの100円ポッキリでした。
なんとなく3個買ってしまった。
流れるウインカー基板 16連 ソフト
ただ単に左右をON/OFFするだけでは面白く無いので、明るさも制御出来るようにしようかと思っています。
ベースクロックかタイマー周期を上げて高速にON/OFFさせ、ON/OFFの比率を変えれば、明るさが変えられます。
専門的にはPWM制御の事ですね。
ベースクロックかタイマー周期を上げて高速にON/OFFさせ、ON/OFFの比率を変えれば、明るさが変えられます。
専門的にはPWM制御の事ですね。
2008-04-30
2008-04-29
流れるウインカー基板 予備基板
せぃさんバージョン以外にもう1個作成しました、色々テストをするための予備基板です。
マイコンを抜き出ししやすいようにスペースを空けています。
LEDのプラス側も2系統制御して片側だけで8連にならないかと考え中です。
良く考えると左右とも同じパターンなのでプラス側をON OFFするだけで大丈夫なのではと思っています。
基板のサイズは変わらずトランジスタの追加だけで考えています。
頭の中ではバッチリなのですがどうかなぁ。
マイコンを抜き出ししやすいようにスペースを空けています。
LEDのプラス側も2系統制御して片側だけで8連にならないかと考え中です。
良く考えると左右とも同じパターンなのでプラス側をON OFFするだけで大丈夫なのではと思っています。
基板のサイズは変わらずトランジスタの追加だけで考えています。
頭の中ではバッチリなのですがどうかなぁ。
2008-04-02
過去ログ 全て 2008.04.02現在
- ICウインカーリレー
- プリント基板編集ソフトウェア
- ドアロック連動ミラー格納ユニット
- 流れるウインカー基板 せぃさんVer PG作成中
- 流れるウインカー基板 せぃさんバージョン 基板完成
- 流れるウインカー基板 せぃさんバージョン 基板作成中
- 流れるウインカー基板 せぃさんバージョン 着手
- 流れるウインカー基板 作成後記
- 流れるウインカー基板 最終調整
- 流れるウインカー基板 完成
- 流れるウインカー基板 スイッチ入力処理
- 流れるウインカー基板 パターン処理
- 流れるウインカー基板 確定
- 流れるウインカー基板
- 流れるウインカー バイク編
- VBAUSBIO.DLLのベータ版(Ver0.51) USB-An命令修正
- VBAUSBIO.DLLのベータ版(Ver0.5) USB-An命令追加
- VBAUSBIO.DLLをバージョンアップしました。
- VBAUSBIO.DLLのベータ版3
- VBAUSBIO.DLLのベータ版2
- 重要:VBAUSBIO.DLLベータ版に早速BUG
- VBAUSBIO.DLLのベータ版公開
- FC8をVMWareでセットアップする
- ↑↑ブログの内容が検索できます
- 「USBで電子制御」の書評を書きました。
- FC7でRoot権限が無くても汎用USB-IOの動作OK!!
- 汎用USB-IO講座、12個までのLEDをON/OFFする
- 汎用USB-IO講座、4つのLEDをON/OFFする
- ブレッドボードとアルミ板
- VB6.0でヘルプが表示できません
- ベクターからダウンロード可能(vbausbio.dll)
- 汎用USB-IOのVBA専用Dll Ver1.0β 開発中
- 汎用USB-IOのVBA専用DLLのVista対応 出来た!
- 汎用USB-IOのVBA専用DLLのVista対応 WDK
- エレキジャックのPICライター
- 定電流UPコンバーター (ダイソー315円改)
- PIC16F648Aを試してみる! (RA4に出力できない)
- PIC Writer 509 作成
- PICプログラマーのUSB電源化
- PCでLED電流制限抵抗を求める
- 携帯でLED電流制限抵抗を求める
- USBライトを作って見ました
- PICプログラマーのUSB電源化
- LEDを使った光のビーズ
- 汎用USB-IOのVBA専用DLLのVista対応 WDK
- 汎用USB-IOのVBA専用DLLのVista対応
- 汎用USB-IOのVBA専用DLLのVista対応
- 汎用USB-IOのVBA専用DLLのVista対応 その後
- あけましておめでとうございます。
- 汎用USB-IOのVBA専用DLLのVista対応 その3
- 汎用USB-IOのVBA専用DLLのVista対応 その2
- PICライター 作成中!!
- 汎用USB-IOのVBA専用DLLのVista対応
- Linux(FC6,FC5)で汎用USB-IO(ビット操作)サンプル
- オートライト作成中
- オートライトは奥が深い!!
- いまどきの車
- PIC:電子メトロノーム第2弾 改造中
- PIC:電子メトロノーム第2弾完成
- PIC:メトロノームを作成しました
- 汎用USB-IOをブレッドボードで試す!
- 本:手作りUSB機器
- 安物買いの銭失い!
- Linuxで汎用USB-IO
- Linux、始めてのXプログラミング
- Linux(FC5)で汎用USB-IOを使うための環境
- Linux(FC5)でUSB-Anを使う
- Linux(FC5)で汎用USB-IOを使う
- Linuxで汎用USB-IOその2
- Linuxで汎用USB-IO
- 本:光で遊ぼう!LED電飾&蛍光灯
- 電子工作のためのR8C/Tinyスタートアップ
- フリーのPIC用BASIC
- USB-An(アナログ入力)テストPG
- USB-An(汎用USBでアナログ入力)
- チョロQにLED、充電中
- チョロQにLED、組み立て中
- チョロQにLED、内部配線の充電端子側
- チョロQにLED、内部配線
- チョロQにLED、充電端子
- チョロQにLEDをつける、完成!
- チョロQにLEDをつける
- ブログをメインと電子工作にわけました
2008-03-29
ICウインカーリレー
流れるウインカー基板をテストしているとウインカーの様にON/OFFさせるのがめんどくさくなり作ってしまいました。
パワーMOS-FETを使用しているので車やバイク(12V)でもしっかり使える本格的なものです。
タイトルのリンク先に詳しく製作記事が載っています。
ICやMOS-FETの説明が無いのでぐぐってデータシートを取り寄せて作成しました。
100kΩの抵抗を半固定にして4.7μFのコンデンサを10μFに変更して点滅速度を変更できるようにしてみました。
これでテストが楽になりました。
2008-03-27
プリント基板編集ソフトウェア
ドアロック連動ミラー格納ユニット
オデッセイのオーナーから頼まれてドアロック連動ミラー格納ユニットを作成してみました。
タイトルをクリックすると製作の詳しい情報が見れます。
まず自分のムーブで試して上手く出来たので、依頼者の車にもつけました。
最初はもっとコンパクトにしようとWEBに載っているものより部品の配置を考えたつもりなのですが、上手く行かずヒューズを2回もとばしてしまった。
忠実に作り直して全く問題なしで動作しました。
ムーブの場合は常時電源がドアに来ていないのでヒューズボックスからとりました。
自分の車につけたユニットの写真
制作の様子(みんカラの整備手帳)
依頼者と一緒に「なんちゃって高級車!!」といって喜んでいます。
冬までにキャンセルスイッチをつけたいと思っています、自分の住んでいるところは寒いところなので凍結して動かなくなる可能性があるので。
キャンセルスイッチはWEBにあるような完全な切替ではなく、ドアロックの信号線をスイッチで切るようにしたいと思っています、「信号が行かなければ普通の動作だけになる」これでいいと思っています。
タイトルをクリックすると製作の詳しい情報が見れます。
まず自分のムーブで試して上手く出来たので、依頼者の車にもつけました。
最初はもっとコンパクトにしようとWEBに載っているものより部品の配置を考えたつもりなのですが、上手く行かずヒューズを2回もとばしてしまった。
忠実に作り直して全く問題なしで動作しました。
ムーブの場合は常時電源がドアに来ていないのでヒューズボックスからとりました。
自分の車につけたユニットの写真
制作の様子(みんカラの整備手帳)
依頼者と一緒に「なんちゃって高級車!!」といって喜んでいます。
冬までにキャンセルスイッチをつけたいと思っています、自分の住んでいるところは寒いところなので凍結して動かなくなる可能性があるので。
キャンセルスイッチはWEBにあるような完全な切替ではなく、ドアロックの信号線をスイッチで切るようにしたいと思っています、「信号が行かなければ普通の動作だけになる」これでいいと思っています。
2008-03-25
流れるウインカー基板 せぃさんVer PG作成中
ウインカーSWの回路変更のプログラム修正をして動作確認しました。
とりあえずKAYOちゃんバージョンと同じ動きはできました。
パターン追加の要望があったので、その対応とせぃさんバージョンのウェイクアップを考えないといけませんね。
とりあえずKAYOちゃんバージョンと同じ動きはできました。
パターン追加の要望があったので、その対応とせぃさんバージョンのウェイクアップを考えないといけませんね。
2008-03-24
流れるウインカー基板 せぃさんバージョン 基板完成
流れるウインカー基板 せぃさんバージョン 完成です。
ウインカーSWの回路を変更しているのでプログラムも変更が必要です。
とりあえずKAYOちゃんバージョンと同じ動きをするところまで直したいと思います。
ウインカーSWの回路を変更しているのでプログラムも変更が必要です。
とりあえずKAYOちゃんバージョンと同じ動きをするところまで直したいと思います。
2008-03-23
流れるウインカー基板 せぃさんバージョン 基板作成中
基板のパターンも決まり作成に着手しました。
両面スルーの基板は半田が反対側に流れて意外に使いにくかった、用途を考えて選択する必要があるようですね。
そんな感じで部品はつけたけどパターンの配線ができていません。
2008-03-18
流れるウインカー基板 せぃさんバージョン 着手
第1作目(KAYOちゃんバージョン)が上手くできたので、2作目に着手しました。
こんどはせぃさんバージョンになります。
まったく同じでは面白くないのでバージョンアップを考えています。
今考えているのは。
・基板はガラスエポキシで両面スルー(ちょっと高級?)を使う。
・ウインカーSWの入力部にフォトカプラ-を使用する。
・基板の配線パターンの最適化。
・ワンタッチウインカー
(ちょんとSWを入れるだけで一定時間ウインカー動作する)
この機能は本人に確認しないといけませんね。
部品はほとんどそろったので基板の配線パターンの見直しをしています。
基板の配線パターンを考えるのはパズルみたいで面白いですよ。
きれいにパターンが出来た時には、ちょっとうれしいですね。
こんどはせぃさんバージョンになります。
まったく同じでは面白くないのでバージョンアップを考えています。
今考えているのは。
・基板はガラスエポキシで両面スルー(ちょっと高級?)を使う。
・ウインカーSWの入力部にフォトカプラ-を使用する。
・基板の配線パターンの最適化。
・ワンタッチウインカー
(ちょんとSWを入れるだけで一定時間ウインカー動作する)
この機能は本人に確認しないといけませんね。
部品はほとんどそろったので基板の配線パターンの見直しをしています。
基板の配線パターンを考えるのはパズルみたいで面白いですよ。
きれいにパターンが出来た時には、ちょっとうれしいですね。
2008-03-14
流れるウインカー基板 作成後記
今回、作成してみて一番はまったのが動作クロックですね。
内部クロックをF88ではプログラムで設定しないといけない。ということに気づかなかった。
プログラムの先頭に4MHzで動作させる場合は次のコマンドが必要です。
OSCCON = %01100100
当然、OPTIONレジスタの設定も必要です。
タイマー割り込み関係のみを抜き出してみました。
参考にしてください。
(空白に全角文字を使っているのでコピペには注意)
program F88WINKER
dim counter as word
’割り込み処理
sub procedure interrupt
'ここで割り込み処理を記述します。
inc(counter) ' Increment value of counter on every interrupt
TMR0 = 64
INTCON = $20 ' Set T0IE, claer T0IF
end sub
’初期処理
sub procedure init_rtn
OPTION_REG = $82 ' Assign prescaler to TMR0
counter = 0 ' Initialize counter
TMR0 = 64
INTCON = $A0 ' Enable TMRO interrupt
end sub
main:
OSCCON = %01100100 ' 内部クロックを4MHzに設定
init_rtn ’初期処理
while true
’メイン処理
if counter = 200 then ' if counter is 200, then
' ここで一定周期ごとの処理をする
counter = 0
end if
wend
end.
内部クロックをF88ではプログラムで設定しないといけない。ということに気づかなかった。
プログラムの先頭に4MHzで動作させる場合は次のコマンドが必要です。
OSCCON = %01100100
当然、OPTIONレジスタの設定も必要です。
タイマー割り込み関係のみを抜き出してみました。
参考にしてください。
(空白に全角文字を使っているのでコピペには注意)
program F88WINKER
dim counter as word
’割り込み処理
sub procedure interrupt
'ここで割り込み処理を記述します。
inc(counter) ' Increment value of counter on every interrupt
TMR0 = 64
INTCON = $20 ' Set T0IE, claer T0IF
end sub
’初期処理
sub procedure init_rtn
OPTION_REG = $82 ' Assign prescaler to TMR0
counter = 0 ' Initialize counter
TMR0 = 64
INTCON = $A0 ' Enable TMRO interrupt
end sub
main:
OSCCON = %01100100 ' 内部クロックを4MHzに設定
init_rtn ’初期処理
while true
’メイン処理
if counter = 200 then ' if counter is 200, then
' ここで一定周期ごとの処理をする
counter = 0
end if
wend
end.
2008-03-05
流れるウインカー基板 最終調整
ちょっと、修正して色んなパターンに対応できるようにしました。
・ウェイクアップ動作後、現在の設定パターンがわかるようにハザード動作をするようにした。
・モード切替時に、設定パターンがわかるようにハザード動作をするようにした。
・ON/OFF動作を続けて行うパターンも可能にした。
・パターンを3種類から6種類に増やした。
動作は下記の動画を参照してしてください(重いよ!30MB)
・ウェイクアップ動作後、現在の設定パターンがわかるようにハザード動作をするようにした。
・モード切替時に、設定パターンがわかるようにハザード動作をするようにした。
・ON/OFF動作を続けて行うパターンも可能にした。
・パターンを3種類から6種類に増やした。
動作は下記の動画を参照してしてください(重いよ!30MB)
流れるウインカー |
2008-03-02
2008-02-28
流れるウインカー基板 スイッチ入力処理
複数のパターン処理対応も済み、スイッチ入力の処理に取り掛かっています。
スイッチ入力の骨組みが出来ました。
モード切替、ウインカー右、ウインカー左の入力の処理を作ればほぼ完成のところまできました。
スイッチ入力はチャタリングというものがあり、ONにしただけなのに接触不良当でON/OFFを繰り返す症状をいいます。
これがあるとPICマイコンは処理が早いのでその都度処理が走ってしまい、たとえばモード切替をしたつもりでも何回もボタンを押したことになり、正常に処理が出来ません。
短時間でのON/OFFは処理しないようにプログラムが必要です。
頭の中で一気に考えてコーディングしましたが、すんなり動きました。(良かった!)
週末には一度お披露目できるかも?
スイッチ入力の骨組みが出来ました。
モード切替、ウインカー右、ウインカー左の入力の処理を作ればほぼ完成のところまできました。
スイッチ入力はチャタリングというものがあり、ONにしただけなのに接触不良当でON/OFFを繰り返す症状をいいます。
これがあるとPICマイコンは処理が早いのでその都度処理が走ってしまい、たとえばモード切替をしたつもりでも何回もボタンを押したことになり、正常に処理が出来ません。
短時間でのON/OFFは処理しないようにプログラムが必要です。
頭の中で一気に考えてコーディングしましたが、すんなり動きました。(良かった!)
週末には一度お披露目できるかも?
2008-02-27
流れるウインカー基板 パターン処理
パターン処理も骨組みが出来ました。
複数パターンを考慮しスイッチ入力の処理をつければ全体的な骨組みが出来ます。
スイッチ入力が簡単なようで難しいのです、これはちょっと後回しにしています。
参考資料・・・
const ptntbl as byte[15] = ($00,$18,$3C,$7E,$FF,$E7,$C3,$81,$00,$00,$00,$00,$00,$00,$00)
const ptnctl as byte[15] = (1,2,3,4,5,6,7,0,0,0,0,0,0,0,0)
const ptntim as byte[15] = (2,1,0,0,0,0,1,2,0,0,0,0,0,0,0)
こんな感じでパターンの情報をもたせます。
ptntblの変数が実際のパターンを管理します。
上記の場合こんな感じで点灯します。
○○○○○○○○ $00 0番目
○○○●●○○○ $18 1番目
○○●●●●○○ $3C 2番目
○●●●●●●○ $7E 3番目
●●●●●●●● $FF 4番目
●●●○○●●● $E7 5番目
●●○○○○●● $C3 6番目
●○○○○○○● $81 7番目
以下繰り返し
データは16進でセットしています。
ptnctlが次のパターンを示しています。
1,2,3,4,5,6,7,0と順に7番目までセットすると次は0番目に戻りぐるぐる繰り返すように設定しています。
ptntimが時間(回数)です。設定された数値+1回セットします。
これを考慮して説明すると
○○○○○○○○ $00 0番目 2
○○○○○○○○ $00 0番目
○○○○○○○○ $00 0番目
○○○●●○○○ $18 1番目 1
○○○●●○○○ $18 1番目
○○●●●●○○ $3C 2番目 0
○●●●●●●○ $7E 3番目 0
●●●●●●●● $FF 4番目 0
●●●○○●●● $E7 5番目 0
●●○○○○●● $C3 6番目 1
●●○○○○●● $C3 6番目 1
●○○○○○○● $81 7番目 2
●○○○○○○● $81 7番目 2
●○○○○○○● $81 7番目 2
こんな感じになります。
メインの処理です、あくまでも参考です。
main:
init_rtn
while true
if counter > speed then ' if counter is speed, then
led = ptntbl[ptnstep]
inc(ptncnt)
if ptncnt>ptntim[ptnstep] then
ptnstep=ptnctl[ptnstep]
ptncnt=0
end if
counter = 0
end if
sw_chk
PORTB =led
wend
end.
複数パターンを考慮しスイッチ入力の処理をつければ全体的な骨組みが出来ます。
スイッチ入力が簡単なようで難しいのです、これはちょっと後回しにしています。
参考資料・・・
const ptntbl as byte[15] = ($00,$18,$3C,$7E,$FF,$E7,$C3,$81,$00,$00,$00,$00,$00,$00,$00)
const ptnctl as byte[15] = (1,2,3,4,5,6,7,0,0,0,0,0,0,0,0)
const ptntim as byte[15] = (2,1,0,0,0,0,1,2,0,0,0,0,0,0,0)
こんな感じでパターンの情報をもたせます。
ptntblの変数が実際のパターンを管理します。
上記の場合こんな感じで点灯します。
○○○○○○○○ $00 0番目
○○○●●○○○ $18 1番目
○○●●●●○○ $3C 2番目
○●●●●●●○ $7E 3番目
●●●●●●●● $FF 4番目
●●●○○●●● $E7 5番目
●●○○○○●● $C3 6番目
●○○○○○○● $81 7番目
以下繰り返し
データは16進でセットしています。
ptnctlが次のパターンを示しています。
1,2,3,4,5,6,7,0と順に7番目までセットすると次は0番目に戻りぐるぐる繰り返すように設定しています。
ptntimが時間(回数)です。設定された数値+1回セットします。
これを考慮して説明すると
○○○○○○○○ $00 0番目 2
○○○○○○○○ $00 0番目
○○○○○○○○ $00 0番目
○○○●●○○○ $18 1番目 1
○○○●●○○○ $18 1番目
○○●●●●○○ $3C 2番目 0
○●●●●●●○ $7E 3番目 0
●●●●●●●● $FF 4番目 0
●●●○○●●● $E7 5番目 0
●●○○○○●● $C3 6番目 1
●●○○○○●● $C3 6番目 1
●○○○○○○● $81 7番目 2
●○○○○○○● $81 7番目 2
●○○○○○○● $81 7番目 2
こんな感じになります。
メインの処理です、あくまでも参考です。
main:
init_rtn
while true
if counter > speed then ' if counter is speed, then
led = ptntbl[ptnstep]
inc(ptncnt)
if ptncnt>ptntim[ptnstep] then
ptnstep=ptnctl[ptnstep]
ptncnt=0
end if
counter = 0
end if
sw_chk
PORTB =led
wend
end.
2008-02-26
2008-02-16
流れるウインカー基板
流れるウインカー基板出来ました。
PICマイコンのプログラムはこれからです。
PICマイコンのプログラムはこれからです。
全部半田で基板のパターンを作ったのでちょっと大変でした。
動作確認用のLED基板も作成して準備完了です、プログラム作成頑張ります。
2008-01-26
流れるウインカー バイク編
本拠地で普通車のウインカーを流すの製作記事をのせていましたが、せいさんと力を合わせて今度はバイクのウインカーを流してみたいと思っています。
普通車のウインカーを流すでは、ロジックIC(シフトレジスタ)を使いましたが、自由なパターンでできるようにPICマイコンで制御を考えています。
制御系は自分が担当で実装系はせいさん担当になるのではと思います。
PICの開発はmikroBASICを使う予定ですが、思うようにならないときはアセンブラで切り替える予定です。
いままで色々やりかけましたが、実装系が面倒で挫折していましたが、今回は力を合わせてできるのでいいものができるのではと楽しみにしています。
普通車のウインカーを流すでは、ロジックIC(シフトレジスタ)を使いましたが、自由なパターンでできるようにPICマイコンで制御を考えています。
制御系は自分が担当で実装系はせいさん担当になるのではと思います。
PICの開発はmikroBASICを使う予定ですが、思うようにならないときはアセンブラで切り替える予定です。
いままで色々やりかけましたが、実装系が面倒で挫折していましたが、今回は力を合わせてできるのでいいものができるのではと楽しみにしています。
2008-01-17
VBAUSBIO.DLLのベータ版(Ver0.51) USB-An命令修正
VBAUSBIO.DLLにUSB-An命令を追加したベータ版を作成中です。
アナログ入力で255までの値しか取り込めないBUGがあり対応させました。
ダウンロードは以下のアドレスです。
http://bake-san.com/download/vbausbio/beta/vbausbio_v051.lzh
参考までに追加されたUSB-An命令の簡単な説明です
【新機能】
USBで電子制御(Km2Net様著者)のサンプルソースで使われている
USB-An用の関数と互換命令を追加しました。
・openUsbIo
関数 :USB-IOオープン
概要 :接続中のUSB-IOを全てオープン
戻り値:発見したUSB-IO数 存在しない場合は 0
・closeUsbIo
関数 :USB-IOクローズ
概要 :オープン中のハンドルクローズ
戻り値:なし
・outputUsbIo
関数 :USB-IO 出力
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iPort 出力ポート 0 or 1
:int iData 出力データ
概要 :USB-IO の指定ポートを出力
戻り値:0 出力成功 その他エラー
・inputUsbIo
関数 :USB-IO リード
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iPort 入力ポート 0 or 1
概要 :USB-IOの指定ポートを読取
戻り値:0 以上 入力値 0 未満 エラー
・setUsbAnChannel
関数 :USB-An チャンネルセット
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iCh チャンネル
: 8: 8Bit変換 4Ch 2DIO
: 10:10Bit変換 4Ch DIOなし
概要 :USB-Anの読み取りチャンネル設定
戻り値:0 設定成功 その他エラー
・setUsbAnMode
関数 :USB-An モードセット
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iAnModeParam
: 8: 8Bit変換 4Ch 2DIO
: 10:10Bit変換 4Ch DIOなし
概要 :USB-Anの読み取りモードを設定
戻り値:0 設定成功 その他エラー
・inputUsbAn
関数 :USB-An 入力
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iCh 読み込みチャンネル
概要 :指定チャンネルのアナログ値読み取り
戻り値:0 以上 入力値 0 未満 エラー
・outputUsbAnD
関数 :USB-An デジタル出力
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iData 出力データ
概要 :USB-An 出力
戻り値:0 以上 入力値 0 未満 エラー
・inputUsbAnD
関数 :USB-An デジタル入力
引数 :int iUsbioNo オープンしたUsbIo 0~
概要 :USB-An デジタル入力
戻り値:0 以上 入力値 0 未満 エラー
アナログ入力で255までの値しか取り込めないBUGがあり対応させました。
ダウンロードは以下のアドレスです。
http://bake-san.com/download/vbausbio/beta/vbausbio_v051.lzh
参考までに追加されたUSB-An命令の簡単な説明です
【新機能】
USBで電子制御(Km2Net様著者)のサンプルソースで使われている
USB-An用の関数と互換命令を追加しました。
・openUsbIo
関数 :USB-IOオープン
概要 :接続中のUSB-IOを全てオープン
戻り値:発見したUSB-IO数 存在しない場合は 0
・closeUsbIo
関数 :USB-IOクローズ
概要 :オープン中のハンドルクローズ
戻り値:なし
・outputUsbIo
関数 :USB-IO 出力
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iPort 出力ポート 0 or 1
:int iData 出力データ
概要 :USB-IO の指定ポートを出力
戻り値:0 出力成功 その他エラー
・inputUsbIo
関数 :USB-IO リード
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iPort 入力ポート 0 or 1
概要 :USB-IOの指定ポートを読取
戻り値:0 以上 入力値 0 未満 エラー
・setUsbAnChannel
関数 :USB-An チャンネルセット
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iCh チャンネル
: 8: 8Bit変換 4Ch 2DIO
: 10:10Bit変換 4Ch DIOなし
概要 :USB-Anの読み取りチャンネル設定
戻り値:0 設定成功 その他エラー
・setUsbAnMode
関数 :USB-An モードセット
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iAnModeParam
: 8: 8Bit変換 4Ch 2DIO
: 10:10Bit変換 4Ch DIOなし
概要 :USB-Anの読み取りモードを設定
戻り値:0 設定成功 その他エラー
・inputUsbAn
関数 :USB-An 入力
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iCh 読み込みチャンネル
概要 :指定チャンネルのアナログ値読み取り
戻り値:0 以上 入力値 0 未満 エラー
・outputUsbAnD
関数 :USB-An デジタル出力
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iData 出力データ
概要 :USB-An 出力
戻り値:0 以上 入力値 0 未満 エラー
・inputUsbAnD
関数 :USB-An デジタル入力
引数 :int iUsbioNo オープンしたUsbIo 0~
概要 :USB-An デジタル入力
戻り値:0 以上 入力値 0 未満 エラー
登録:
投稿 (Atom)