27、基于51单片机红外循迹、红外避障、遥控小车系统设计

摘  要

本系统以设计题目的要求为目的,采用51单片机为控制核心,利用红外线传感器进行寻线,控制电动小汽车的自动循迹,并再通过光电开关探测障碍,从而控制电机转向,实现进行壁障功能。整个系统的电路结构简单,可靠性能高,实验测试结果满足要求。本文着重叙述了该系统的硬件设计方法、软件设计方法及测试结果分析。小车运行方案,在现有玩具电动车的基础上,加装红外线光电开关模块和红外寻线模块,实现对电动车位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。

关键词:51单片机、红外线传感器、光电开关、小车

一、硬件方案

硬件构成:单片机+最小系统+L293D电机驱动模块+稳压电路+按键电路+红外避障电路+红外遥控电路+红外循迹电路

二、设计功能

本设计基于单片机型号:STC89C52/51、AT89C52/51、AT89S52/51都可通用。
1.开机默认红外遥控模式,通过遥控器上的前后左右可以调节行驶方向。
2.按下2键切换为红外避障模式,单侧遇到障碍物转动躲避,双侧均有障碍物向后旋转掉头躲避;
3.按下3键为红外循迹模式,循迹过程中如果红外避障探头检测到有障碍物,小车会停止前进。
4.遥控器左上角的红色按键可以让小车停止运行,并切换为红外遥控模式。
 

三、成品实物图

 

四、原理图    

五、PCB图  

六、程序源码

部分代码:

  if(f==1)
    {
        if(Tc>Inum1&&Tc<Inum3) 
        {
            Im[m/8]=Im[m/8]>>1|0x80; m++; 
        }
        if(Tc>Inum2&&Tc<Inum1) 
        {
         Im[m/8]=Im[m/8]>>1; m++; //取码
        }
        if(m==32) 
        {
         m=0;  
         f=0;
         if(Im[2]==~Im[3]) 
        {
           IrOK=1; 
        }
        else IrOK=0;   //取码完成后判断读码是否正确
        }
               //准备读下一码
   }
 
}
/************************************************************************/
//全速前进
void  run(void)
{  
	 Left_moto_go ;   //左电机往前走
	 Right_moto_go ;  //右电机往前走
}

//全速后退
     void  backrun(void)
{
	 Left_moto_back ;   //左电机后退
	 Right_moto_back ;  //右电机后退
}

//右转
     void  rightrun(void)
{
	 Left_moto_go ;   //左电机前进
	 Right_moto_Stop ;  //右电机停止
}

//左转
     void  leftrun(void)
{
	 Left_moto_Stop ;   //左电机停止
	 Right_moto_go ;  //右电机前进
}
//STOP
     void  stoprun(void)
{
	 Left_moto_Stop ;   //左电机停止
	 Right_moto_Stop ;  //右电机停止
}
//向右原地打转(掉头)
void  rightspin(void)
{ 
     Left_moto_go  ;   //左电机往前走
	 Right_moto_back   ;  //右电机往前走	
}


/*********************************************************************/		 
/*--主函数--*/
void main(void)
{
	 
    m=0;
    f=0;

    IT0=1;
    EX0=1;
 
    TMOD=0x11;  
    TH0=0;
	TL0=0;
    TR0=1;
	EA=1;
	yk=1;
	bz=0;
	xj=0;


	
	delay(100);	   


	while(1)							/*无限循环*/
	{ 

	    if(IrOK==1) 			  //如果处理好后进行红外处理
        {
			switch(Im[2])
   		    {
	            case 0x0C:  yk=1;bz=0;x

资料包括:

需要完整的资料可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。

纷传点击用微信打开即可,过程有点繁琐请见谅。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ENGLISH_HHZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值