元件包括驱动芯片L298N,整流二极管,电机,由于是四轮,固有四个电机稳压模块L7805等
电路原理图如下:
驱动电路
单片机源程序如下:
- #include"motor_pwm.h"
- sbit hw=P1^0;
- sbit key=P3^6;
- sbit key1=P3^7;
- sbit fengji=P3^4;
- void main(void)
- {
- uint T1_data=0;
- uchar flag;
- uint count,aaa;
- char pwm_l=52,pwm_r=52;
- pwm_init();
- // int_init();
- // Timer1_Init();
- while(1)
- {
- if(!key1){while(!key1);fengji=~fengji;}//吸尘风机打开/关闭开关
- if(!key){while(!key);flag++;if(flag>2)flag=0;}//模式切换
- if(flag==1)//模式一 来回往返清扫模式
- {
- motor(pwm_l,pwm_r);
-
- if(!hw)
- {
- if(aaa)
- {
- aaa=0;
- count=100;while(count--){Delay(10);motor(0,0);}//停止1S
- //count=100;while(count--){Delay(10);motor(-25,-25);}//后退1S
- count=100;while(count--){Delay(40);motor(65,-65);}//右转90度
- count=100;while(count--){Delay(27);motor(65,65);}//前进1S
- count=100;while(count--){Delay(32);motor(65,-65);}//右转90度
- count=100;while(count--){Delay(45);motor(-50,-50);}//后退2S
- }
- else
- {
- aaa=1;
- count=100;while(count--){Delay(10);motor(0,0);}//停止1S
- //count=100;while(count--){Delay(10);motor(-25,-25);}//后退1S
- count=100;while(count--){Delay(40);motor(-65,65);}//右转90度
- count=100;while(count--){Delay(27);motor(65,65);}//前进1S
- count=100;while(count--){Delay(30);motor(-65,65);}//右转90度
- count=100;while(count--){Delay(45);motor(-50,-50);}//后退2S
- }
- }
- }
- else if(flag==2)//模式二 任意清扫模式
- {
- motor(50,50);
- if(!hw)
- {
-
- count=100;while(count--){Delay(12);motor(-50,-50);}//后退1S
- count=100;while(count--){Delay(34);motor(-50,50);}//右转90度
-
- // count=100;while(count--){Delay(12);motor(-50,-50);}//后退1S
- // count=100;while(count--){Delay(34);motor(-50,50);}//右转90度
-
- }
- }
- else if(flag==0)//停止模式
- {
- motor(0,0);
- }
-
-
-
- }
- }
复制代码
所有资料51hei提供下载:
扫地机器人源程序.rar
(24.24 KB, 下载次数: 83)
|