基于51单片机的红外避障小车
Posted 杨工2001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于51单片机的红外避障小车相关的知识,希望对你有一定的参考价值。
基于51单片机的红外避障小车
产品图片
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pX7ut9kS-1635657924229)(https//img-blog.csdnimg.cn/055eecfc69ee45c790e0e97516eba1ec.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5p2o5belMjAwMQ==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)]
具体操作步骤如下
一、材料准备:
L298N电机驱动模块1个
红外避障模块2个
51单片机最小系统1个
5号电池4个
STC89C52单片机一个
车框架一个(淘宝搜优信电子店铺有同款,15块左右,送的有马达,万向轮、电池盒)
杜邦线若干(建议买母对母,母头可拆卸,容易多根插入驱动模块)
二、电路连接
1、红外模块
VCC接口与单片机的5V供电口连接
GND接口与单片机GND接口连接
OUT接口与单片机连接(左红外接P2.0,右红外接P3.7)
2、电源模块
红线接入电机驱动模块+12V
黑线接入电机驱动模块GND
3、电机驱动模块
+5V接口与单片机VCC接口相连接
IN1 IN2 IN3 IN4 接口按顺序与单片机P00 P01 P02 P03相连接
4、电机
左电机与电机驱动模块OUT3 OUT4相连接
右电机与电机驱动模块OUT1 OUT2相连接
5、注意
如果出现电机转的方向不对,可以尝试将调换接口顺序。如左电机原来接OUT3的线去接OUT4,OUT4的线来接OUT3,但不要接入到OUT1或OUT2去!
如果电机未转动,可以尝试使用一根杜邦线从电机驱动模块的+12V与+5V接口连接起来
代码部分
#include <reg52.h>
//下面的是连接l298n模块的引脚与单片机引脚相连
sbit IN1 = P0^0;
sbit IN2 = P0^1;
sbit IN3 = P0^2;
sbit IN4 = P0^3;
//红外避障模块
sbit out1 = P2^0;
sbit out2 = P3^7;
/*函数声明*/
void go(); //前进
void back(); //后退
void left(); //向左
void right(); //向右
void main()
{
while(1)
{
if(out2 == 0) //检测到右边有障碍物时,向左移动
{
left();
}
else if(out1 == 0) //检测到左边边有障碍物时,向右移动
{
right();
}
else if(out1 == 1 && out2 == 1) //检测到都没有障碍物时,向前移动
{
go();
}
else if(out1 == 0 && out2 == 0) //检测到都有障碍物时,向后移动
{
back();
}
}
}
//前进
void go()
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
//后退
void back()
{
IN1=0;
IN2=1;
IN3=0;
IN4=1;
}
//向左
void left()
{
IN1=0;
IN2=0;
IN3=0;
IN4=1;
}
//向右
void right()
{
IN1=1;
IN2=0;
IN3=0;
IN4=0;
}
如果只看图文无法成功,可以在B站搜索视频
https://www.bilibili.com/video/BV1Uv411T7jz?from=search&seid=319598109009641762&spm_id_from=333.337.0.0
以上是关于基于51单片机的红外避障小车的主要内容,如果未能解决你的问题,请参考以下文章
基于单片机的智能循迹避障小车STC89C52红外对管L298N驱动PWM波控制速度
转发-基于单片机寻迹巡线避障智能小车系统设计资料 protues电路仿真