2007-08-14

汎用USB-IO講座、4つのLEDをON/OFFする 

汎用USB-IOはPort0とPort1があり、Port1は比較的電流を多く流せます。
赤色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でも上手くつかないのでもし使用する場合電流が流せるようにトランジスタなどで回路を考える必要があります。
次回に説明予定です。

 

1 件のコメント:

  1. ありがとうございます。
    早速試してみます!

    返信削除