EV3RT C API Reference  V1.0
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,
  HT_NXT_COLOR_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 ht_nxt_color_sensor_measure_color (sensor_port_t port, uint8_t *color)
 カラーセンサ(HiTechnic社製)でカラーを測定する. [詳解]
 
bool_t ht_nxt_color_sensor_measure_rgb (sensor_port_t port, rgb_raw_t *val)
 カラーセンサ(HiTechnic社製)でRGB Raw値を測定する. [詳解]
 
bool_t nxt_temp_sensor_measure (sensor_port_t port, float *temp)
 NXT温度センサ(9749)で温度を測定する. [詳解]
 

詳解

各種センサに関するAPI.

列挙型詳解

◆ colorid_t

enum colorid_t

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

列挙値
COLOR_NONE 

無色

COLOR_BLACK 

COLOR_BLUE 

COLOR_GREEN 

COLOR_YELLOW 

COLOR_RED 

COLOR_WHITE 

COLOR_BROWN 

TNUM_COLOR 

識別できるカラーの数

◆ sensor_port_t

センサポートを表す番号

列挙値
EV3_PORT_1 

ポート1

EV3_PORT_2 

ポート2

EV3_PORT_3 

ポート3

EV3_PORT_4 

ポート4

TNUM_SENSOR_PORT 

センサポートの数

◆ sensor_type_t

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

列挙値
NONE_SENSOR 

センサ未接続

ULTRASONIC_SENSOR 

超音波センサ

GYRO_SENSOR 

ジャイロセンサ

TOUCH_SENSOR 

タッチセンサ

COLOR_SENSOR 

カラーセンサ

INFRARED_SENSOR 

赤外線センサー

HT_NXT_ACCEL_SENSOR 

加速度センサ(HiTechnic社製)

HT_NXT_COLOR_SENSOR 

カラーセンサ(HiTechnic社製)

NXT_TEMP_SENSOR 

NXT温度センサ

TNUM_SENSOR_TYPE 

センサタイプの数

関数詳解

◆ ev3_color_sensor_get_ambient()

uint8_t ev3_color_sensor_get_ambient ( sensor_port_t  port)

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

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

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

◆ ev3_color_sensor_get_color()

colorid_t ev3_color_sensor_get_color ( sensor_port_t  port)

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

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

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

◆ ev3_color_sensor_get_reflect()

uint8_t ev3_color_sensor_get_reflect ( sensor_port_t  port)

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

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

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

◆ ev3_color_sensor_get_rgb_raw()

void ev3_color_sensor_get_rgb_raw ( sensor_port_t  port,
rgb_raw_t val 
)

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

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

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

◆ ev3_gyro_sensor_get_angle()

int16_t ev3_gyro_sensor_get_angle ( sensor_port_t  port)

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

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

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

◆ ev3_gyro_sensor_get_rate()

int16_t ev3_gyro_sensor_get_rate ( sensor_port_t  port)

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

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

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

◆ ev3_gyro_sensor_reset()

ER ev3_gyro_sensor_reset ( sensor_port_t  port)

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

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

◆ ev3_infrared_sensor_get_distance()

int8_t ev3_infrared_sensor_get_distance ( sensor_port_t  port)

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

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

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

◆ ev3_infrared_sensor_get_remote()

ir_remote_t ev3_infrared_sensor_get_remote ( sensor_port_t  port)

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

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

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

◆ ev3_infrared_sensor_seek()

ir_seek_t ev3_infrared_sensor_seek ( sensor_port_t  port)

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

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

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

◆ ev3_sensor_config()

ER ev3_sensor_config ( sensor_port_t  port,
sensor_type_t  type 
)

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

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

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

◆ ev3_sensor_get_type()

ER_UINT ev3_sensor_get_type ( sensor_port_t  port)

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

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

◆ ev3_touch_sensor_is_pressed()

bool_t ev3_touch_sensor_is_pressed ( sensor_port_t  port)

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

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

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

◆ ev3_ultrasonic_sensor_get_distance()

int16_t ev3_ultrasonic_sensor_get_distance ( sensor_port_t  port)

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

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

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

◆ ev3_ultrasonic_sensor_listen()

bool_t ev3_ultrasonic_sensor_listen ( sensor_port_t  port)

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

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

引数
portセンサポート番号
戻り値
true超音波信号を検出した
false超音波信号を検出しなかった

◆ ht_nxt_accel_sensor_measure()

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操作が完成していない)

◆ ht_nxt_color_sensor_measure_color()

bool_t ht_nxt_color_sensor_measure_color ( sensor_port_t  port,
uint8_t *  color 
)

カラーセンサ(HiTechnic社製)でカラーを測定する.

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

引数
portセンサポート番号
colorカラーの番号(0-17)を格納するためのポインタ
戻り値
truecolorは更新された
falsecolorは変更されなかった(前回のI2C操作が完成していない)

◆ ht_nxt_color_sensor_measure_rgb()

bool_t ht_nxt_color_sensor_measure_rgb ( sensor_port_t  port,
rgb_raw_t val 
)

カラーセンサ(HiTechnic社製)でRGB Raw値を測定する.

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

引数
portセンサポート番号
valRGB Raw値を格納するためのポインタ
戻り値
truevalは更新された
falsevalは変更されなかった(前回のI2C操作が完成していない)

◆ nxt_temp_sensor_measure()

bool_t nxt_temp_sensor_measure ( sensor_port_t  port,
float *  temp 
)

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

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

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