EV3RT C API Reference  Beta 7
An RTOS-based development platform for LEGO Mindstorms EV3.
各種センサ

各種センサに関するAPI. [詳解]

データ構造

struct  rgb_raw_t
 RGB Raw値を格納する構造体 [詳解]
 
struct  ir_seek_t
 IRビーコンの方位と距離を格納する構造体 [詳解]
 
struct  ir_remote_t
 

マクロ定義

#define IR_RED_UP_BUTTON   1
 
#define IR_RED_DOWN_BUTTON   2
 
#define IR_BLUE_UP_BUTTON   4
 
#define IR_BLUE_DOWN_BUTTON   8
 
#define IR_BEACON_BUTTON   16
 

列挙型

enum  sensor_port_t {
  EV3_PORT_1 = 0,
  EV3_PORT_2 = 1,
  EV3_PORT_3 = 2,
  EV3_PORT_4 = 3,
  TNUM_SENSOR_PORT = 4
}
 センサポートを表す番号 [詳解]
 
enum  sensor_type_t {
  NONE_SENSOR = 0,
  ULTRASONIC_SENSOR,
  GYRO_SENSOR,
  TOUCH_SENSOR,
  COLOR_SENSOR,
  INFRARED_SENSOR,
  HT_NXT_ACCEL_SENSOR,
  NXT_TEMP_SENSOR,
  TNUM_SENSOR_TYPE
}
 サポートするセンサタイプ [詳解]
 
enum  colorid_t {
  COLOR_NONE = 0,
  COLOR_BLACK = 1,
  COLOR_BLUE = 2,
  COLOR_GREEN = 3,
  COLOR_YELLOW = 4,
  COLOR_RED = 5,
  COLOR_WHITE = 6,
  COLOR_BROWN = 7,
  TNUM_COLOR
}
 カラーセンサで識別できるカラーの番号 [詳解]
 

関数

ER ev3_sensor_config (sensor_port_t port, sensor_type_t type)
 センサポートを設定する. [詳解]
 
ER_UINT ev3_sensor_get_type (sensor_port_t port)
 センサポートのセンサタイプを取得する. [詳解]
 
colorid_t ev3_color_sensor_get_color (sensor_port_t port)
 カラーセンサでカラーを識別する. [詳解]
 
uint8_t ev3_color_sensor_get_reflect (sensor_port_t port)
 カラーセンサで反射光の強さを測定する. [詳解]
 
uint8_t ev3_color_sensor_get_ambient (sensor_port_t port)
 カラーセンサで環境光の強さを測定する. [詳解]
 
void ev3_color_sensor_get_rgb_raw (sensor_port_t port, rgb_raw_t *val)
 カラーセンサでRGB Raw値を測定する. [詳解]
 
int16_t ev3_gyro_sensor_get_angle (sensor_port_t port)
 ジャイロセンサで角位置を測定する. [詳解]
 
int16_t ev3_gyro_sensor_get_rate (sensor_port_t port)
 ジャイロセンサで角速度を測定する [詳解]
 
ER ev3_gyro_sensor_reset (sensor_port_t port)
 ジャイロセンサの角位置をゼロにリセットする. [詳解]
 
int16_t ev3_ultrasonic_sensor_get_distance (sensor_port_t port)
 超音波センサで距離を測定する. [詳解]
 
bool_t ev3_ultrasonic_sensor_listen (sensor_port_t port)
 超音波センサで超音波信号を検出する. [詳解]
 
int8_t ev3_infrared_sensor_get_distance (sensor_port_t port)
 IRセンサで距離を測定する. [詳解]
 
ir_seek_t ev3_infrared_sensor_seek (sensor_port_t port)
 IRセンサでIRビーコンの方位と距離を測定する. [詳解]
 
ir_remote_t ev3_infrared_sensor_get_remote (sensor_port_t port)
 IRセンサでIRビーコンのボタン入力を検出する. [詳解]
 
bool_t ev3_touch_sensor_is_pressed (sensor_port_t port)
 タッチセンサの状態を検出する. [詳解]
 
bool_t ht_nxt_accel_sensor_measure (sensor_port_t port, int16_t axes[3])
 加速度センサ(HiTechnic社製)で加速度を測定する. [詳解]
 
bool_t nxt_temp_sensor_measure (sensor_port_t port, float *temp)
 NXT温度センサ(9749)で温度を測定する. [詳解]
 

詳解

各種センサに関するAPI.

列挙型詳解

enum colorid_t

カラーセンサで識別できるカラーの番号

列挙値
COLOR_NONE 

無色

COLOR_BLACK 

COLOR_BLUE 

COLOR_GREEN 

COLOR_YELLOW 

COLOR_RED 

COLOR_WHITE 

COLOR_BROWN 

TNUM_COLOR 

識別できるカラーの数

センサポートを表す番号

列挙値
EV3_PORT_1 

ポート1

EV3_PORT_2 

ポート2

EV3_PORT_3 

ポート3

EV3_PORT_4 

ポート4

TNUM_SENSOR_PORT 

センサポートの数

サポートするセンサタイプ

列挙値
NONE_SENSOR 

センサ未接続

ULTRASONIC_SENSOR 

超音波センサ

GYRO_SENSOR 

ジャイロセンサ

TOUCH_SENSOR 

タッチセンサ

COLOR_SENSOR 

カラーセンサ

HT_NXT_ACCEL_SENSOR 

加速度センサ(HiTechnic社製)

NXT_TEMP_SENSOR 

NXT温度センサ

TNUM_SENSOR_TYPE 

センサタイプの数

関数詳解

uint8_t ev3_color_sensor_get_ambient ( sensor_port_t  port)

カラーセンサで環境光の強さを測定する.

不正のセンサポート番号を指定した場合,常に0を返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
環境光の強さ(0〜100)
colorid_t ev3_color_sensor_get_color ( sensor_port_t  port)

カラーセンサでカラーを識別する.

不正のセンサポート番号を指定した場合,常にCOLOR_NONEを返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
識別したカラー
uint8_t ev3_color_sensor_get_reflect ( sensor_port_t  port)

カラーセンサで反射光の強さを測定する.

不正のセンサポート番号を指定した場合,常に0を返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
反射光の強さ(0〜100)
void ev3_color_sensor_get_rgb_raw ( sensor_port_t  port,
rgb_raw_t val 
)

カラーセンサでRGB Raw値を測定する.

不正のセンサポート番号を指定した場合,valは更新しない(エラーログが出力される).

引数
portセンサポート番号
val取得した値を格納する変数のポインタ
int16_t ev3_gyro_sensor_get_angle ( sensor_port_t  port)

ジャイロセンサで角位置を測定する.

不正のセンサポート番号を指定した場合,常に0を返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
角位置(単位は度)
int16_t ev3_gyro_sensor_get_rate ( sensor_port_t  port)

ジャイロセンサで角速度を測定する

不正のセンサポート番号を指定した場合,常に0を返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
角位置(単位は度/秒)
ER ev3_gyro_sensor_reset ( sensor_port_t  port)

ジャイロセンサの角位置をゼロにリセットする.

引数
portセンサポート番号
戻り値
E_OK正常終了
E_ID不正のセンサポート番号
int8_t ev3_infrared_sensor_get_distance ( sensor_port_t  port)

IRセンサで距離を測定する.

不正のセンサポート番号を指定した場合,常に0を返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
距離(単位はパーセント)
ir_remote_t ev3_infrared_sensor_get_remote ( sensor_port_t  port)

IRセンサでIRビーコンのボタン入力を検出する.

不正のセンサポート番号を指定した場合,常に0のパタンを返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
全て(4つ)のチャンネルのボタン入力のパタン
ir_seek_t ev3_infrared_sensor_seek ( sensor_port_t  port)

IRセンサでIRビーコンの方位と距離を測定する.

不正のセンサポート番号を指定した場合,常に0の方位と-128の距離を返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
全て(4つ)のチャンネルの方位と距離
ER ev3_sensor_config ( sensor_port_t  port,
sensor_type_t  type 
)

センサポートを設定する.

センサポートに接続しているセンサのタイプを設定する.既に設定した場合も新しいセンサタイプを指定できる.

引数
portセンサポート番号
typeセンサタイプ
戻り値
E_OK正常終了
E_ID不正のセンサポート番号
E_PAR不正のセンサタイプ
ER_UINT ev3_sensor_get_type ( sensor_port_t  port)

センサポートのセンサタイプを取得する.

引数
portセンサポート番号
戻り値
>=0指定したセンサポートのセンサタイプ
E_ID不正のセンサポート番号
bool_t ev3_touch_sensor_is_pressed ( sensor_port_t  port)

タッチセンサの状態を検出する.

不正のセンサポート番号を指定した場合,常に false を返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
true押されている状態
false押されていない状態
int16_t ev3_ultrasonic_sensor_get_distance ( sensor_port_t  port)

超音波センサで距離を測定する.

不正のセンサポート番号を指定した場合,常に0を返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
距離(単位はセンチ)
bool_t ev3_ultrasonic_sensor_listen ( sensor_port_t  port)

超音波センサで超音波信号を検出する.

不正のセンサポート番号を指定した場合,常に false を返す(エラーログが出力される).

引数
portセンサポート番号
戻り値
true超音波信号を検出した
false超音波信号を検出しなかった
bool_t ht_nxt_accel_sensor_measure ( sensor_port_t  port,
int16_t  axes[3] 
)

加速度センサ(HiTechnic社製)で加速度を測定する.

不正のセンサポート番号を指定した場合,常に false を返す(エラーログが出力される).

引数
portセンサポート番号
axesx軸、y軸、z軸の3方向の加速度を格納するための配列
戻り値
trueaxes[]は更新された
falseaxes[]は変更されなかった(前回のI2C操作が完成していない)
bool_t nxt_temp_sensor_measure ( sensor_port_t  port,
float *  temp 
)

NXT温度センサ(9749)で温度を測定する.

不正のセンサポート番号を指定した場合,常に false を返す(エラーログが出力される).

引数
portセンサポート番号
temp温度データ(°C)を格納するための変数へのポインタ
戻り値
truetempは更新された
falsetempは変更されなかった(前回のI2C操作が完成していない)