New 雙光感車 by 祥瑞

Give a try, 每次都要把光值先寫在程式裡, 好像有點麻煩。

所以祥瑞老哥想了一個自動記錄的功能, 咱的目標是光感車直接出發, 就可以走完全程。

所以按下3號touch sensor之後會紀錄1號light的白色值與2號光感的黑色值。

按下4號touch sensor之後會紀錄1號light的黑色值與2號光感的白色值。

按鈕的部分其實可以用NXT的左右鍵, 但用touch sensor比較有扣板機的感覺。


請看NXC程式碼:

#define H 60
#define L 40
task main(){
SetSensorLight(S1);
SetSensorLight(S2);
SetSensorTouch(S3);
SetSensorTouch(S4);
int S1_N;
int S2_N;
int S1_Br;
int S1_Da;
int S2_Br;
int S2_Da;

until(Sensor(S3)==1);
S1_Br=Sensor(S1);
S2_Da=Sensor(S2);
until(Sensor(S4)==1);
S1_Da=Sensor(S1);
S2_Br=Sensor(S2);

S1_N=(S1_Br+S1_Da)/2;
S2_N=(S2_Br+S2_Da)/2;

while(true){
if(Sensor(S1)>S1_N && Sensor(S2)>S2_N){
OnRev(OUT_AC, L);
}
else if(Sensor(S1)>S1_N && Sensor(S2)<=S2_N){
OnRev(OUT_A, H);
//OnRev(OUT_C, L);
Off(OUT_C);
Wait(500);
}
else if(Sensor(S1)<=S1_N && Sensor(S2)>S2_N){
Off(OUT_A);
//OnRev(OUT_A, L);
OnRev(OUT_C, H);
Wait(500);
}
else{
OnRev(OUT_AC, L);
//PlayTone(440, 50);

}
}

}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *