usb_ioを使った制御実験
  1. 7セグメントLEDの点灯実験
  2. 2つの7セグメントを点灯
  3. 7セグメントLEDと光センサーの実験/a>
  4. USB-M4Bを使った模型制御
  5. 複数のUSB-IOを使った制御テスト(H17/9/11)

■4...USB-M4Bを使った模型制御

□1...USB−M4Bについて

USB-M4B回路図

モータ制御用基板USB-M4Bは、4個のモータドライバーIC (LB1638) を備えUSB-IOV8と接続して4個までの直流モータ(2.5v〜10.5v)の制御ができ、また、入力端子を2個備えていますので2つのセンサーによるフィードバック制御も可能です。モーター駆動用電源は、単2乾電池2個または、外部直流電源から電源ジャックを通して供給します。
ここでは、HS-10プレイキットを使った模型の制御を紹介します。

□2...HS-10をHSPで制御
説明1
説明2

□3...HS-10リモコンプログラム
リモコン

マウスでボタンを左クリックすると模型が、ボタンに表示された動きをします。
動作中にその動作ボタンを再度クリックすると停止します。

(hspエディターに貼り付けると起動します。プログラムを起動するには「HSP」本体HSP USB-IO用プラグインが必要です)

title "usb-IOボードの制御テスト"	;タイトルの設定
 
 #include "hspusbio.as"		;プラグインの組み込み


	screen 0,400,300		;画面の大きさを設定
	font "MSゴシック",12,1	;文字フォントの設定
	color				;色の設定 
	xb=70:yb=100			;ボタン、メッセージ等の
					;表示基準位置の設定 
	pos xb+40,yb-55			;メッセージの表示位置 
	mes "プレイキットのコントロール";メッセージ	

	objsize 50,50			;ボタンの大きさの設定
	pos xb+65,yb+20			;ボタンの表示位置の設定
	button "停止", *teisi		;停止ボタンと飛び先の設定
	objsize 100,24			
	pos xb+40,yb-30
	button "前進", *mae		;前進ボタンと飛び先の設定
	objsize 50,24
	pos xb+130,yb
	button "右折れ", *r_ore		;右折れボタンと飛び先の設定
	pos xb+130,yb+30
	button "右回転", *r_kai		;右回転ボタンと飛び先の設定
	pos xb+130,yb+60
	button "右後進", *r_usiro	;右後進ボタンと飛び先の設定
	pos xb,yb
	button "左折れ", *l_ore		;左折れボタンと飛び先の設定
	pos xb,yb+30
	button "左回転", *l_kai		;右回転ボタンと飛び先の設定
	pos xb,yb+60
	button "左後進", *l_usiro	;左後進ボタンと飛び先の設定
	objsize 100,24
	pos xb+40,yb+90
	button "後進", *usiro		;後進ボタンと飛び先の設定
	pos xb+200,yb+20
	objsize 50,24
	button "リフト↑" ,*r_up		;リフトアップボタンと飛び先の設定
	pos xb+200,yb+50
	button "リフト↓" ,*r_dn		;リフトダウンボタンと飛び先の設定

;-------------------------------------------------
*teisi					;停止のサブルーチン
	cod=15 : gosub *kidou		;出力コードを15(ブレーキ)
					;設定して出力ルーチンへ
	stop
*mae					;前進のサブルーチン 
	if cod=5 :cod=15:else :cod=5	;変数codが5(前進)であれば
	 gosub *kidou			;15(ブレーキ)をそうでなければ
	stop				;5(前進)を変数codに設定して
					;出力ルーチンへ

*r_ore					;右折れのサブルーチン
	if cod=4 :cod=15:else :cod=4
	 gosub *kidou
	stop
*r_usiro				;右後進のサブルーチン
	if cod=2 :cod=15:else :cod=2
	gosub *kidou
	stop
*l_ore					;左折れのサブルーチン
	if cod=1 :cod=15:else :cod=1
	gosub *kidou
	stop
*l_usiro				;左後進のサブルーチン
	if cod=8 :cod=15:else :cod=8
	gosub *kidou
	stop
*usiro					;後進のサブルーチン
	if cod=10 :cod=15:else :cod=10
	 gosub *kidou
	stop
*r_kai					;右回転のサブルーチン
	if cod=6 :cod=15:else :cod=6
	 gosub *kidou
	stop
*l_kai					;左回転のサブルーチン
	if cod=9 :cod=15:else :cod=9
	 gosub *kidou
	stop
*r_up					;リフトアップのサブルーチン
	cod=16:gosub *kidou
	wait 1:cod=48:gosub *kidou
	stop
*r_dn					;リフトダウンのサブルーチン
	cod=32:gosub *kidou
	wait 1:cod=48:gosub *kidou
	stop				;一時停止
;------------------------------------------------------
*owari					;終了のサブルーチン
	cod=0:gosub *kidou
	end
;--------------------------------------------------------
*kidou					;データ出力のサブルーチン
	uio_out 0,cod			;変数codの内容を出力
	await wa
	return
		
1 2 3 4 5