工程筆記本 / NXC/RobotC/C++ for Lego robot

NXC/RobotC/C++ for Lego robot

New 雙光感車 by 祥瑞

CAVEDU 阿吉 - 雜工📅 2009-08-08👁 19
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); } } }

相關文章 📎

留言 💬 (0)

還沒有留言,來當第一個。