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

NXC/RobotC/C++ for Lego robot

遙控撞球車 Ready

CAVEDU 阿吉 - 雜工📅 2009-12-10👁 21
阿吉現在人在苗栗高商辦NXC研習, 和老師討論一下這台小可愛以後就把程式po上來, 圖片和影片要等到晚上。 使用 MindSensor 的 遙控手把接收器 以及Catcan馬達的馬達。 實際上要先 include 各自的 library: PSP-Nx-lib.nxc 與 CCSSDK.nxc, 在main裡面完成相關設定以後, 進入while迴圈。下方三個if是用來判斷按鈕是否被按下, 我們是使用類似PS2的搖桿, 所以有類比搖桿 x 2, 12個按鈕。 可以讓您完成非常多的設定。 ================================================= #include "PSP-Nx-lib.nxc" #include "CCSSDK.nxc" #define ADDR     0x02 task shoot(){ repeat(3){ setPosition(0x10, 512); setPosition(0x30, 512);//打出去 Wait(200); setPosition(0x10, 20); setPosition(0x30, 20); } } task main() { int left_X,left_Y,right_X,right_Y; int a_speed,c_speed; psp currState; SetSensorLowspeed(S1); // SetSensorLowspeed(S4); //設定輸出模式為RAW, 9V Lowspeed pwm_func(0x10,true);pwm_func(0x30,true);  //Enable PWM Wait (100); while (true) { PSP_ReadButtonState(S1, ADDR, currState); left_X = currState.l_j_x; left_Y = currState.l_j_y; right_X = currState.r_j_x; right_Y = currState.r_j_y; a_speed = -(left_Y/2); c_speed = -(right_Y/2); OnFwdReg(OUT_A, a_speed, OUT_REGMODE_SPEED); OnFwdReg(OUT_C, c_speed, OUT_REGMODE_SPEED); if(currState.l1 ==0) { PlayTone(220,40); //Wait(300); } if(currState.r1 ==0) { PlayTone(440,40); //Wait(300); } if(currState.cross ==0) { PlayTone(880,40); start shoot; } Wait(300); } }

相關文章 📎

留言 💬 (0)

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