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


□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