|
這也是上學(xué)期的實(shí)訓(xùn),程序不難,難就難在調(diào)試,要命哦,輪子的轉(zhuǎn)速差不一樣,沒辦法直行,我調(diào)試的時候覺得它簡直就是智障小車,它是一輛智障小破車啊,程序+仿真+原理圖 我都放在里面了,PCB太丑就算了吧,大家要是做這個項目可供參考呀~~啊啊啊啊,雖然很喜歡這個專業(yè),一個女孩子搞起來遇到問題真的真的很想放棄,讓我弱弱的吐槽一波~~~~
制作出來的實(shí)物圖如下:
5.png (565.6 KB, 下載次數(shù): 74)
下載附件
2020-10-23 17:24 上傳
6.png (290.05 KB, 下載次數(shù): 67)
下載附件
2020-10-23 17:28 上傳
電路原理圖如下:
3.png (157.05 KB, 下載次數(shù): 78)
下載附件
2020-10-23 17:27 上傳
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (77.23 KB, 下載次數(shù): 71)
下載附件
2020-10-23 22:59 上傳
單片機(jī)源程序如下:
- #include <stc15.h>
- #include "include.h"
- #include "motor.h"
- #include "hj_xj3.h"
- #include "LCD1602.h"
- #define INIT_SPEED 15
- extern uchar numL,numR;
- void init_time();
- void main()
- {
- uchar status_flag=0;//車身狀態(tài)標(biāo)志位
- uchar stop_flag=0;//停車標(biāo)志位
- numL=numR=INIT_SPEED;//初始速度
- ENA=ENB=1;
- IN1=IN3=0;IN2=IN4=0;
- init_time();
- LCD_initial();
- while(1)
- {
- if(stop_flag==1) stop_flag=reset();
- status_flag=Track();
- switch(status_flag)
- {
- case 0: //正常
- LCD_Display("MID");
- line_go(INIT_SPEED);
- delay_ms(100);
- break;
- case 1: //右偏
- LCD_Display("LEFT");
- left_turn(10);//參數(shù)為轉(zhuǎn)速差
- delay_ms(100);
- break;
- case 2: //左偏
- LCD_Display("RIGHT");
- right_turn(10); //參數(shù)為轉(zhuǎn)速差
- delay_ms(100);
- break;
- case 3: //全白
- LCD_Display("REFECT");
- delay_ms(50);
- break;
- case 5: //停車
- LCD_Display("STOP");
- stop_flag=stop();
- delay_ms(100);
- break;
- default:
- break;
- }
- };
- }
- //***********************
- void init_time()
- {
- TMOD=0X01;
- TH0=(65536-500)/256;
- TL0=(65536-500)%256;
- EA=1;
- ET0=1;
- TR0=1;
- }
- void time0() interrupt 1 using 1
- {
- static uchar num;
- num++;
- if(num==numR) ENA=~ENA;
- if(num==numL) ENB=~ENB;
- if(num==100){ENA=~ENA;ENB=~ENB;num=0;}
- TH0=(65536-500)/256;
- TL0=(65536-500)%256;
- }
復(fù)制代碼
2.png (7.45 KB, 下載次數(shù): 71)
下載附件
2020-10-23 17:28 上傳
所有資料51hei提供下載:
智能小車.zip
(1.25 MB, 下載次數(shù): 116)
2020-10-23 17:29 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|