清潔機器人程式 "次數"疑問 |
尚未結案
|
gbgb123321a
一般會員 發表:2 回覆:2 積分:0 註冊:2010-05-25 發送簡訊給我 |
Keil c作為編輯清潔機器人的程式指令
清理區塊: 在凹字型(*右側踩空*)之區塊作完全清掃 我想不太到要去怎麼寫可以完全清掃 用牛耕式又會很容易誤差而導致有些地方沒掃到 想用*渦輪交叉地毯式搜索* 讓他螺旋清掃 約30sec 再換成交叉清掃 約30sec 可是螺旋清掃和交叉清掃不太了解如何去寫? 我想說讓他用每種掃法各30~60秒 交替 避免死角 可確不大會寫 請問有什麼比較好的意見或者是寫法可以提供嗎? 謝謝!! 副程式: void FORWARD(void) { LRW=0; RRW=0; RFF=1; LFF=1; } //--------------------------- //後退 void BACK(void) { LRW=1; RRW=1; RFF=0; LFF=0; } //--------------------------- //右轉 void RIGHT(void) { LRW=0; RRW=1; RFF=0; LFF=1; } //--------------------------- //左轉 void LEFT(void) { LRW=1; RRW=0; RFF=1; LFF=0; } //--------------------------- //停止 void STOP(void) { LRW=0; RRW=0; RFF=0; LFF=0; } //--------------------------- //吸塵啟動 // SET > 0 則吸塵啟動 // SET = 0 則吸塵停止 void FAN_CONTROL(unsigned char SET) { if(SET>0) FAN=1; else FAN=0; } //--------------------------- //讀入保險桿 // 0 代表沒有撞到 // 1 代表撞到 unsigned char BUMPER_IN(void) { if(BUMPER==0) return 0; else return 1; } //--------------------------- //讀入踩空sensor // 0 代表正常 // 1 代表踩空 unsigned char FALL_IN(void) { if(FALL==0) return 0; else return 1; } //--------------------------- //讀入卡死SENSOR // 0 代表正常 // 1 代表卡死 unsigned char STUCK_IN(void) { if(STUCK==0) return 1; else return 0; } //--------------------------- //讀入按鍵開關 // 0 代表沒有按下 // 1 代表按下 unsigned char BUTTON_IN(void) { if(BUTTON==0) return 1; else return 0; } //--------------------------- //讀入充滿電偵測SENSOR // 0 代表尚未充滿 // 1 代表充滿 unsigned char BATTERY_FULL_IN(void) { if(BATTERY_FULL==0) return 0; else return 1; } //--------------------------------- //延遲副程式 //引數每一個單位延遲0.1秒 void delay_100m(unsigned int dly) { int count; while(dly != 0) { count=23040; while(count>0) count--; dly--; } }
附加檔案:4bfbdaf6d7aee_凹.jpg
編輯記錄
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |