2.Qumcum PythonライブラリでコントロールできるAPI仕様

クムクムプログラミング

Qumcum Pythonライブラリ はクムクムをPythonのプログラムから制御するための関数が用意されています。
クムクムを制御するための準備については「Pythonでクムクムのライブラリーを使う方法」を見て、準備を行ってください。

プログラミング学習用ロボット(クムクム)で制御できるもの

 

  • RGB-LED
  • ビープ音
  • 音声合成LSI(発話)
  • 超音波センサ
  • マイク
  • モーター(頭、右手、左手、右ふともも、左ふともも、右足、左足)

 

RGB-LED

R(赤)・G(緑)・B(青)、3色の光を出すことができるLEDで、ON-OFFを組み合わせることで7色の光をだすことができます。

ビープ音

周波数指定を行って、ビープ音の高さを制御することができます。

音声合成LSI(発話)

ローマ字の言葉を並べて指示することで音声合成LSIからしゃべることができます。

超音波センサ

超音波により、対象物までの距離を測ることができます。

マイク

音の大きさを測ることができます。音声の認識はできません。

モーター

頭、右手、左手、右ふともも、左ふともも、右足、左足の7つのモーターを動かすことができます。

 

Qumcum PythonライブラリのAPI

ここでは、「qumcum.py経由で制御する場合のインターフェースAPI」について書いています。

接続

Qumcumとの接続を開始する

インターフェース qumcum.connect( port_name )
機能 Qumcumと接続し通信を開始します
※Qumcumを動かすプログラムの一番最初に書きます。
引数 port_name・・・ポート番号の文字列

 

切断

Qumcumとの接続を終了する

インターフェース qumcum.end()
機能 Qumcumとの接続を終了します
※Qumcumを動かすプログラムの一番最後に書きます。
引数 なし

 

RGB-LED

指定した色のRGB-LEDを点灯させる

インターフェース qumcum.led_on(color)
機能 RGB-LEDで指定した色をON(点灯)させます
引数 color・・・色を示す数字を指定します。
1:赤
2:青
3:緑

 

指定した色のRGB-LEDを消灯させる

インターフェース qumcum.led_off(color)
機能 RGB-LEDで指定した色をOFF(消灯)させる
引数 color・・・色を示す数字を指定します。
1:赤
2:青
3:緑

 

ビープ音

指定した周波数のビープ音を出力する

インターフェース qumcum.sound(freq, time_ms)
機能 指定した時間(msec)だけ指定した周波数の音を発生させる
引数 freq・・・出力する周波数
time_ms・・・出力する時間

 

音声合成LSI(発話)

発話するときの速さを設定する

インターフェース qumcum.voice_speed(speed)
機能 発話する速度を指定します
引数 speed・・・発話速度(30-300)
※数値は音声合成LSIのパラメータです。30にするとゆっくり、300にすると早口でしゃべります

 

指定した言葉を発話する

インターフェース qumcum.voice(words)
機能 wordsで指定した言葉を発話します
引数 words・・・ローマ字で指定した発話させる文字列

 

超音波センサ

超音波センサの計測値を取得する

インターフェース qumcum.get_sensor_value(val)
機能 超音波センサで計測した値を取得します。(単位はcm)
直前のコマンド実行結果から保持した値です。
引数 val・・・超音波センサ計測値

 

マイク

マイクの計測値を取得する

インターフェース qumcum.get_mic_value(val)
機能 マイク計測値を取得する。(数値は目安で最小値が0で最大値は100です)
直前のコマンド実行結果から保持した値です。
引数 val・・・マイク計測値

 

モーター制御

モーターの電源をONにする

インターフェース qumcum.motor_power_on(motor_time_ms)
機能 Qumcumのモーター電源をONします
※Qumcumでモーターを動かす前に書きます。
引数 motor_time_ms・・・モーターの動作時間(速度、ミリ秒単位)
※別途動作時間を設定していない場合はここでセットした動作時間で動作します

 

モーターの電源をOFFにする

インターフェース qumcum.motor_power_off()
機能 モーター電源をOFFにします
※モーター動作させる一連の処理の終了する際に呼び出します。
引数 なし

 

指定したモーターの角度を設定する

インターフェース qumcum.motor_set_pos(no, pos)
機能 モーターを指定した角度(絶対位置)に移動する
【注意】この関数だけではモーターは動きません。
動かすには’motor_start’関数をコールしてください
引数 no・・・モーターの番号
1: モーター1(右手)
2: モーター2(右足)
3: モーター3(右足首)
4: モーター4(頭)
5: モーター5(左足首)
6: モーター6(左足)
7: モーター7(左手)pos・・・noで指定したモーターの角度
モーター毎に動作させることができる角度が異なります。
モーター1(右手) の角度 0 ~ 180度
モーター2(右足) の角度 55 ~ 125度
モーター3(右足首)の角度 55 ~ 125度
モーター4(頭) の角度 0 ~ 180度
モーター5(左足首)の角度 55 ~ 125度
モーター6(左足) の角度 55 ~ 125度
モーター7(左手) の角度 0 ~ 180度

 

7つのモーターの角度を設定する

インターフェース qumcum.motor_pos_all(pos1, pos2, pos3, pos4, pos5, pos6, pos7)
機能 全モーター(7つ)の角度をセットする
【注意】この関数だけではモーターは動きません。
動かすには’motor_start’関数をコールしてください
引数 pos1・・・モーター1(右手) の角度( 0 ~ 180度)
pos2・・・モーター2(右足) の角度(55 ~ 125度)
pos3・・・モーター3(右足首)の角度(55 ~ 125度)
pos4・・・モーター4(頭) の角度( 0 ~ 180度)
pos5・・・モーター5(左足首)の角度(55 ~ 125度)
pos6・・・モーター6(左足) の角度(55 ~ 125度)
pos7・・・モーター7(左手) の角度( 0 ~ 180度)

 

指定したモーターの角度と動作時間を設定する

インターフェース qumcum.motor_angle_time(no, pos, motor_time)
機能 モーターの角度(絶対位置)、動作時間を指定する
【注意】この関数だけではモーターは動きません。
動かすには’motor_start’関数をコールしてください
引数 no・・・モーターの番号
1: モーター1(右手)
2: モーター2(右足)
3: モーター3(右足首)
4: モーター4(頭)
5: モーター5(左足首)
6: モーター6(左足)
7: モーター7(左手)pos・・・noで指定したモーターの角度
モーター毎に動作させることができる角度が異なります。
モーター1(右手) の角度 0 ~ 180度
モーター2(右足) の角度 55 ~ 125度
モーター3(右足首)の角度 55 ~ 125度
モーター4(頭) の角度 0 ~ 180度
モーター5(左足首)の角度 55 ~ 125度
モーター6(左足) の角度 55 ~ 125度
モーター7(左手) の角度 0 ~ 180度
motor_time_ms・・・モーターの動作時間(速度、ミリ秒単位)

 

7つのモーターの角度と動作時間を設定する

インターフェース qumcum.motor_angle_multi_time(pos1, pos2, pos3, pos4, pos5, pos6, pos7, motor_time)
機能 モーター動作時間(速度)を指定して、
全モーター(7つ)の角度をセットする
【注意】この関数だけではモーターは動きません。
動かすには’motor_start’関数をコールしてください
引数 pos1・・・モーター1(右手) の角度( 0 ~ 180度)
pos2・・・モーター2(右足) の角度(55 ~ 125度)
pos3・・・モーター3(右足首)の角度(55 ~ 125度)
pos4・・・モーター4(頭) の角度( 0 ~ 180度)
pos5・・・モーター5(左足首)の角度(55 ~ 125度)
pos6・・・モーター6(左足) の角度(55 ~ 125度)
pos7・・・モーター7(左手) の角度( 0 ~ 180度)
motor_time_ms・・・モーターの動作時間(速度、ミリ秒単位)

 

モーターを動かす

インターフェース qumcum.motor_start()
機能 モーターを指定した角度(絶対位置)に移動させる
当関数を呼び出すまでにセットした角度にモーターを動かします
引数 なし

 

ユーティリティ

電池残量のチェック

インターフェース qumcum.get_battery_value(val)
機能 バッテリ(充電池)の残量を示す電圧に相当するアナログ値を取得する
引数 val・・・バッテリ(充電池)残量の計測値
※バッテリの残量はアナログ値(0から1023までの値)で、満充電(約5.0V)のときに775が取得されます。