基于51单片机的超声波智能避障小车
目录
具体实现功能
设计介绍
资料内容
全部内容
资料获取
具体实现功能
具体功能:
(1)可以按键控制小车启动和停止,控制小车加速及减速;
(2)可以按键调整小车前进和后退,控制小车左拐、右拐;
(3)利用三个超声波分别检测左中右的障碍物,当测得的障碍物距离小于50时,蜂鸣器报警,并减速。
(4)当测得的障碍物位于中间,且距离小于20时,刹车;当测得的障碍物位于左边,且距离小于20时,右拐;当测得的障碍物位于右边,且距离小于20时,左拐。
仿真演示视频:
基于51单片机的超声波智能避障小车-仿真视频
设计介绍
51单片机简介
51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。
资料内容
仿真实现(protues8.7)
本设计利用protues8.7软件实现仿真设计,具体如图。
程序(Keil5)
本设计利用KEIL5软件实现程序设计。
主函数如下:
////////////////////////////////////////////////////*********************************************************/
// 主函数
/*********************************************************/
void main()
{init(); /////////系统初始化 Trig_P=0;LCD1602_init();//LCD1602初始化dist=GetDistance(); // 通过超声波模块获取距离dist1=GetDistance1(); // 通过超声波模块获取距离dist2=GetDistance2(); // 通过超声波模块获取距离while(1){key();gSpeed=0.607*(240/10)+331.4; // 根据公式 v=0.607T+331.4 计算出当前温度值对应的超声波速度,这时的单位是“米/秒” gSpeed=gSpeed/10000; // 将超声波的速度从单位“m/s”转为“cm/us”,方便后面的计算dist=GetDistance(); // 通过超声波模块获取距离dist1=GetDistance1(); // 通过超声波模块获取距离dist2=GetDistance2(); // 通过超声波模块获取距离Table[0]='D';Table[1]='L';Table[2]=':';Table[3]=dist/100+0x30;Table[4]=dist%100/10+0x30;Table[5]=dist%10+0x30; LCD1602_Disp_ZF(0x80,Table,6);Table1[0]='D';Table1[1]='R';Table1[2]=':';Table1[3]=dist1/100+0x30;Table1[4]=dist1%100/10+0x30;Table1[5]=dist1%10+0x30; LCD1602_Disp_ZF(0x80+8,Table1,6);Table2[0]='D';Table2[1]='M';Table2[2]=':';Table2[3]=dist2/100+0x30;Table2[4]=dist2%100/10+0x30;Table2[5]=dist2%10+0x30; LCD1602_Disp_ZF(0x80+0x40,Table2,6);if(dist2<20) //紧急刹车{TR1=0;ENA=0;i=0; }if(dist1<20) //左拐{W=95;dw=1;IN3=1;IN4=0;ENB=1;delayxms(500);ENB=0;}if(dist<20) //右拐{W=95;dw=1;IN3=0;IN4=1;ENB=1;delayxms(500);ENB=0;}if((dist<=50)||(dist1<=50)||(dist2<=50)) //报警{beep=0;W=95;dw=1;}else {beep=1;}Table3[0]='R';Table3[1]=':';Table3[2]=dw%10+0x30;LCD1602_Disp_ZF(0x80+0x40+8,Table3,3);}
}
程序运行结果如图:
全部内容
全部资料包括程序(keil5)、protues仿真(protues8.7)、设计说明、答辩PPT、开发资料、资料使用介绍、仿真视频、程序讲解视频、仿真讲解视频、最小系统介绍视频等。
资料获取
https://docs.qq.com/doc/DT0xicXJ5VnRkZXF1