本设计主要有单片机模块、十二路循迹模块、发光二极管模块,电机驱动模块以及电源模块等组成,同时连接有蓝牙模块,小车具有自主寻迹的功能。本次设计采用我们比较熟悉的AT89C2051单片机作为控制芯片,传感器模块采用红外接收管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机驱动模块L298N和4个直流电机构成,组成了智能车的动力系统,电源采用12V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
#include<reg52.h>
sbit IN1=P1^1;
sbit IN2=P1^2;
sbit ENA=P1^3;
void delay(unsigned int z);
void main()
{ unsigned int i;
while(1)
{
IN1=1;
IN2=0;
for(i=0;i<100;i++)
{
delay(20);
ENA=~ENA;
}
IN1=0;
IN2=1;
for(i=0;i<100;i++)
{
delay(20);
ENA=~ENA;
}
}
}
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
#include<reg52.h>
sbit IN1=P1^1;
sbit IN2=P1^2;
sbit ENA=P1^3;
void delay(unsigned int z);
void delayus(unsigned int x);
void pwm_ENA( unsigned char k);
void init_time0();
#define uchar unsigned char
uchar count,cycle;
void main()
{
while(1)
{
unsigned int i;
IN1=1;
IN2=0;
for(i=0;i<100;i++)
{
delay(20);
ENA=~ENA;
}
IN1=0;
IN2=1;
for(i=0;i<100;i++)
{
delay(20);
ENA=~ENA;
}
for(i=0;i<50;i++)
{
ENA=1;
delay(i);
ENA=0;
delay(50-i);
}
}
}
void pwm_ENA(uchar k)
{
if(count<=k)
{
IN1=0;
}
else if(count>k&&count<100)
{
IN1=1;
}
else if(count==100)
count=0;
}
/*void init_time0()
{
TMOD=0x01; //定时器方式1
TH0=(65536-100)/256; //定时0.1毫秒
TL0=(65536-100)%256;
EA=1;
ET0=1;
TR0=1;
}
void Time0_ISP(void) interrupt 1 //定时器中断
{
TH0=0xff; //定时0.1毫秒 cycle
TL0=0x9c;
count++;
cycle+=1; //0.1ms次数加1
if(cycle==200) //次数始终保持为200即保持周期为20ms
cycle=0;
}
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void delayus(unsigned int x);
{
while(x--);
} */
1.电源模块:
电源采用直流电源供电。为电机驱动电路板、传感器模块板和单片机主控制板提供能源,由于AT89C2051能耗低,故12v电压可以满足寻迹要求。
2. 电机模块:
电机采用直流减速电机,直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。
3. 驱动模块:
驱动模块采用专用芯片L298N作为电机驱动芯片.
在家庭中,可以用智能小车进行家具、远程控制家中的家用电器,控制室温等等。对这种小车的研究,将为未来环境探测术上的有力支持。