Skip to main content
Version: 2.0.0

モーター

Cube Direction

キューブは 2 つのモーターを持ち、それぞれが左右の車輪につながっています(参考:各部の名前)。 これらのモーターは以下の特性(characteristic)を使うことで制御できます。

プロパティ
Characteristic UUID10B20102-5B3B-4571-9508-CF3EFCD7BBAE
PropertiesWrite without response
DescriptorMotor Control

書き込み操作

モーター制御

以下に示す構成のデータを書き込むことでモーターを制御できます。 次の書き込み操作が行われるまで、モーターは指定した速度で動きづづけます。

データ位置タイプ内容
0UInt8制御の種類0x01(モーター制御)
1UInt8制御するモーターの ID0x01(左)
2UInt8モーターの回転方向0x01(前)
3UInt8モーターの速度指示値0x64(100)
4UInt8制御するモーターの ID0x02(右)
5UInt8モーターの回転方向0x02(後ろ)
6UInt8モーターの速度指示値0x14(20)

制御するモーターの ID

制御するモーターの ID を指定します。左のモーターの ID が1で右のモーターの ID が2です。 モーターの ID を指定する場所は二箇所ありますが、両方で同じ ID を指定するとエラーになり書き込み操作は無視されます。

モーターの回転方向

直前で指定した ID のモーターに対して回転方向を指定します。 キューブの前進する方向が1で後退する方向が2です。

モーターの速度指示値

直前で指定した ID のモーターに対して回転の速度を指定します。 モーターの速度指示値は0以上255以下の範囲で指定できますが、モーターの速度指示値と実際のタイヤの回転速度の関係は以下のグラフのとおりです。

Input Speed and Wheel Speed

時間指定付きモーター制御

以下に示す構成のデータを書き込むことで動かす時間を指定してモーターを制御できます。 指定した時間を経過するとモーターは停止します。

データ位置タイプ内容
0UInt8制御の種類0x02(時間指定付きモーター制御)
1UInt8制御するモーターの ID0x01(左)
2UInt8モーターの回転方向0x01(前)
3UInt8モーターの速度指示値0x64(100)
4UInt8制御するモーターの ID0x02(右)
5UInt8モーターの回転方向0x02(後)
6UInt8モーターの速度指示値0x14(20)
7UInt8モーターの制御時間0x0A(100 ミリ秒)

モーターの制御時間

モーターを動かす時間を0以上255以下の範囲で指定します。0は「時間制限無し」を意味し、モーター制御と同様に次の書き込み操作が行われるまで、モーターは指定した速度で動きづづけます。1以上255以下の範囲では x10 ミリ秒モーターは動いたあと停止します。