NXT加速度センサーMS1040 起動。

NXT加速度センサーが安かったので購入。
1時間格闘で数値の取得に成功しますた。
なぜかセットセンサーLOWSPEEDを事前に書いて置かなければ起動しない??
これに気がつくのに時間がかかった。実はHT社のサイトに行けばよかったという・・。
NXCガイドにbVal=ReadSensorHTAccel(S1, x, y, z);とか書くのヤメレ。
bvalでコンパイルエラー出るじゃないか。この部分いらないじゃん。
あとセンサーS1はIN_1とどう違うのか不明。

一体全体どの部分の記述が不要なのか不明。
ディファイン文もいらないのではないか?

あと加速度の数値見て驚愕。どのように使えばいいかどの部分をPID制御すればクララは立てるのかもはや不明。

XYZ値だが振ったりすると正常1Gで200ポイントのはずが、あっさり8000とか出てそのまま戻ってこない。40Gとかベジータも真っ青。このプログラムが悪いのかセンサーの故障なのか不明。ただ、起動直後の数値はかなり性格。while文で回転し続けると数値が累積してなにかバグっているのか?こんなの今までなかったのに・・・。

#define TIME 500
#define S1 0

int status = 0;
int kekka = 0;
int x = 0;
int y = 0;
int z = 0;


task kount(){
while(true){
ReadSensorHTAccel(S1, x, y, z);
NumOut(60,LCD_LINE3,status);
NumOut(60,LCD_LINE4,x);
NumOut(60,LCD_LINE5,y);
NumOut(60,LCD_LINE6,z);


Wait(100);

}
}

task forward(){
while(true){
kekka = status % 2 ;
if(kekka==0){


Wait(100);

}

else{


Wait(100);

}

}
}
task main()

{SetSensorColorRed(IN_2);

SetSensorTouch(IN_4);
SetSensorLowspeed(S1);
Wait(50);

Precedes(kount,forward);


}