/*インクルードファイル*/ #include /* 【照度センサ電圧出力→ルクス変換】 1.照度センサ出力(0-5v)が、0-100%スケールで設定されている場合を想定しています。 2.照度センサのポイントオブジェクトIDが、ai003の場合のプログラムです。 3. */ main( argc, argv ) int argc; char *argv[]; { int objid,status; /* 整数変数宣言 */ double adval,volt,lux1,lux10,lux100; /*実数変数宣言 */ /*KARACRIXライブラリの初期設定*/ kcxinit( argc, argv ); /*ポイントオブジェクトIDの取得*/ objid = kcxobj_open( "ai003" ); /*照度センサのオブジェクトIDを指定*/ /*永久ループ*/ for(;;){ kcxobj_stat_frd( objid, &adval ); /*照度センサの0-100%出力を得る*/ volt = 5.0 * ( adval * 0.01 ); /*ボルトに換算する*/ lux1 = 0.1 * pow( 10.0, volt ); /*1Luxレンジのルクスに変換*/ lux10 = 1.0 * pow( 10.0, volt ); /*10Luxレンジのルクスに変換*/ lux100 = 10.0 * pow( 10.0, volt ); /*100Luxレンジのルクスに変換*/ kcxobj_atbut_fwt( objid, 1, lux1 ); /*1Luxレンジ値を実数属性値1に代入*/ kcxobj_atbut_fwt( objid, 2, lux10 ); /*10Luxレンジ値を実数属性値2に代入*/ kcxobj_atbut_fwt( objid, 3, lux100 ); /*100Luxレンジ値を実数属性値3に代入*/ kcxtim_msleep( 0, 30000 ); /*300msec毎に変換*/ } }