標(biāo)題: 該課程設(shè)計以兩人組隊的形式,制作尋線型電腦鼠。 [打印本頁]
作者: devil8051 時間: 2018-5-31 20:56
標(biāo)題: 該課程設(shè)計以兩人組隊的形式,制作尋線型電腦鼠。
總體設(shè)計思路和步驟 尋線型電腦鼠不同于以前的走迷宮,是利用紅外傳感器進行路線探測并選擇前進方向的小型智能機器人。其設(shè)計步驟包括:系統(tǒng)設(shè)計、利用Altium Designer軟件繪制原理圖和PCB圖,電腦鼠硬件焊接組裝、軟件代碼書寫調(diào)試和總體調(diào)試。硬件部分主要由傳感器,單片機,電機驅(qū)動組成。傳感器采用紅外傳感器,由發(fā)射管和接收管組成,可探測黑線迷宮。單片機采用IAP15W413AS芯片,用于編寫和實現(xiàn)程序。電機驅(qū)動由單片機產(chǎn)生的PWM以及L9110芯片進行驅(qū)動。軟件部分主要由產(chǎn)生PWM函數(shù),搜尋路徑法則,記錄信息,測速盤組成。此課程設(shè)計中電腦鼠按照左手法則進行路線搜索,根據(jù)測速盤的計數(shù)得到迷宮坐標(biāo)并儲存。第一次排除迷宮中的死路,第二次便可沿迷宮中最短路徑走出迷宮。
、C51單片機的初始化及底層驅(qū)動
- 三、車體轉(zhuǎn)彎控制(左手法則)
- *functionname :void leftMethod (void)
- *parament :none *return value :none
- *description :左手法則 優(yōu)先級為: 右 -> 前 -> 左 并且存儲即將行走的下一個格子的坐標(biāo)
- voidLeftMethod4()
- {
- if(Left_Detector==0)
- {
- TurnLeft();
- }
- elseif(Front_Detector==0)
- {
- Go();
- }
- else
- if(Right_Detector==1&&Left_Front_Detector==1)
- {TurnRight();}
- elseif(Left_Detector==1&&Front_Detector==1&&Right_Detector==0)
- {
- TurnBack();
- }
- }
- 四、調(diào)整函數(shù)
- void adjust2()
- {
- if(Front_Detector==0)
- {
- if(Left_Front_Detector==0)
- {
- speed(1,0,0,1);
- }
- elseif(Right_Front_Detector==0)
- {
- speed(0,1,1,0); }
- else
- {
- speed(0,1,0,1);
- }
- }
- else
- {
- if(Left_Front_Detector==0)
- {
- speed(1,0,0,1);
- }
- elseif(Right_Front_Detector==0)
- {
- speed(0,1,1,0);
- }
- }
- }
- void Go()
- {
- speed(0,1,0,1);
- }
- //------------------小車右轉(zhuǎn)函數(shù)-------------------//
- void TurnRight()
- {
- //u8 flg=1;speed2(0,1,1,0); //左輪前轉(zhuǎn),右輪后轉(zhuǎn)
- //left_count=right_count=0;
- /* while(flg==1)
- {
- if(left_count==12|right_count==12)
- {
- speed(0,0,0,0); //兩輪停轉(zhuǎn)
- left_count=0;
- right_count=0;
- flg=0;
- }
- }
- for(flg=0;flg<100;flg++)
- {
- Delay(6000);
- }*/
- }
- //------------------小車左轉(zhuǎn)函數(shù)-------------------//
- void TurnLeft()
- {
- //u8 flg=1;
- speed2(1,0,0,1); //左輪后轉(zhuǎn),右輪前轉(zhuǎn)
- //left_count=right_count=0;
- }
- //------------------小車后轉(zhuǎn)函數(shù)-------------------//
- void TurnBack()
- {
- u8 flg=1;
- //left_count=right_count=0;
- while(Front_Detector==1)
- {speed2(0,1,1,0);}
- //左輪前轉(zhuǎn),右輪后轉(zhuǎn)
- }
- //------------------小車停止函數(shù)-------------------//
- void Stop()
- {
- // u8 flg=1;
- // left_count=right_count=0;
- speed(0,0,0,0);
- //左輪后轉(zhuǎn),右輪后轉(zhuǎn)
- }
- 五、速度PWM 設(shè)置
- //------調(diào)整函數(shù)----f_pwm=PCA_clk/256-------//
- void speed(bit a,bit b,bit c,bit d)
- {
- I1=a;
- I2=b;
- I3=c;
- I4=d;
- PCA_PWM0 = 0X00;
- CCAP0H = CCAP0L =39;
- //修改此處數(shù)值[0~255]可以調(diào)節(jié)CCP2_0占空比
- CCAPM0 = 0x42;
- PCA_PWM1 = 0X00;
- CCAP1H = CCAP1L =40;
- //修改此處數(shù)值[0~255]可以調(diào)節(jié)CCP2_1占空比
- CCAPM1 = 0x42;
- }
- void speed2(bit a,bit b,bit c,bit d)
- {
- I1=a;
- I2=b;
- I3=c;
- I4=d;
- PCA_PWM0 = 0X00;
- CCAP0H = CCAP0L =90;
- //修改此處數(shù)值[0~255]可以調(diào)節(jié)CCP2_0占空比
- CCAPM0 = 0x42;
- PCA_PWM1 = 0X00;
- CCAP1H = CCAP1L =90;
- //修改此處數(shù)值[0~255]可以調(diào)節(jié)CCP2_1占空比
- CCAPM1 = 0x42;
- }
- void speed3(bit a,bit b,bit c,bit d)
- {
- I1=a;
- I2=b;
- I3=c;
- I4=d;
- PCA_PWM0 = 0X00;
- CCAP0H = CCAP0L =255;
- //修改此處數(shù)值[0~255]可以調(diào)節(jié)CCP2_0占空比
- CCAPM0 = 0x42;
- PCA_PWM1 = 0X00;
- CCAP1H = CCAP1L =255;
- //修改此處數(shù)值[0~255]可以調(diào)節(jié)CCP2_1占空比
- CCAPM1 = 0x42;
- }
- //-------------------PWM模式使能函數(shù)----------------//
- void PWM_Cmd(bit cmd)
- {
- if(cmd==ENABLE)
- CR=1;
- else if(cmd==DISABLE)
- CR=0;
- }
復(fù)制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
新91
|
永久看片|
久久69精品久久久久久久电影好
|
久久久久久久久久久丰满
|
国产一区h
|
在线观看精品视频网站
|
国产精品久久久久久久久久久久久
|
国产精品亚洲一区二区三区在线观看
|
噜久寡妇噜噜久久寡妇
|
男女视频在线免费观看
|
99riav3国产精品视频
|
欧美日韩视频在线播放
|
欧美日韩黄
|
色偷偷噜噜噜亚洲男人
|
中文字幕亚洲一区二区三区
|
欧美成人精品一区二区男人看
|
欧美精品一区二区三区在线
|
日韩一二三区视频
|
九九九视频在线观看
|
久久久蜜桃|
国产免费一级一级
|
亚洲视频免费
|
亚洲欧美中文字幕
|
亚洲精品国产第一综合99久久
|
综合中文字幕
|
久久精品亚洲精品国产欧美
|
国产成人在线一区二区
|
国产精品高潮呻吟久久
|
国产精品黄视频
|
911网站大全在线观看
|
日韩欧美中文字幕在线观看
|
日韩欧美亚洲
|
成人精品久久
|
久久33|
久久久久久久一区二区三区
|
欧美日韩中文在线
|
男人视频网站
|
成人免费淫片aa视频免费
|
天堂一区二区三区
|
日本三级全黄三级a
|
久久久国产精品一区
|