« USB-IO2.0再び | トップページ | ファイルの検索 »

2012年3月 2日 (金)

usbio2.exe完成

さて、昨日作ったコンソールアプリに、USB-IO2.0を制御するコードを追加していこう。
こんな仕様でどうだろう。

usbio2 <-switch[hex]>
switch
 -t : USB-IOが接続されているかを調査して値を返す。0=未接続,1=接続
 -p : USB-IOのPORTへの出力(hex=0x0000~0x0fff)
 -w : 指定された秒数だけ待つ

簡単なところで、時間待ちから取り掛かった。定番のやり方がありそうなものだが、VisiualBasicは初めてなので、よくわからない。
secLimit = hour*3600 + min*60 + sec + 待ち時間
として、本日の経過時間(秒)がsecLimitに達するまでループすることにした。
24:00をまたぐ時にバグるが、そんな時間に私の仕事はないので気にしない。

PORTへのデータ出力は、二つのPORTで分けようと思ったが、面倒だったので、p2=値の上位、p1=値の下位バイトとした。

USB-IOのP1の0-3PINにLEDを接続し、3秒間隔でLEDを順に点灯させるバッチファイルを記述するとこんな感じになる。
┌────────────
│@echo off
│usbio2 -t
│if errorlevel 1 goto ok
│:ng
│echo USB-IOを接続してから実行してね
│goto end

│:ok
│usbio2 -p0001
│usbio2 -t3
│usbio2 -p0002
│usbio2 -t3
│usbio2 -p0004
│usbio2 -t3
│usbio2 -p0008
│usbio2 -t3
│goto ok

│:end

いったんusbio2.exeを作ってしまえば、C言語からusbio2.exeを起動することでUSB-IOを制御できる。
USB-IO2.0に扇風機を接続すれば、パソコンから扇風機を回すことができる。電飾を点灯させることも、エアコンをONにするのも同じようにできる。

「usbio2.exe version 0.91」をダウンロード

入力はUSBゲームコントローラのスイッチ部分を引き出して作ればいいと思っているので、今のところ入力機能はない。
VisualBasicなんて使ったことがないし、USB-IO2.0を制御する部分はメーカーのソースをパクったのでソースなし。Releaseモードでコンパイルする方法もよくわからなかったし、もしかしたら実行にはランタイムが必要かもしれない。

« USB-IO2.0再び | トップページ | ファイルの検索 »

お仕事」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/24707/44345571

この記事へのトラックバック一覧です: usbio2.exe完成:

« USB-IO2.0再び | トップページ | ファイルの検索 »

最近のトラックバック