粤嵌学习笔记(四)
作者:互联网
/*-----------------------循迹 + 避障 ----------------------------*/
循迹:
yl-70
1、分为一个大的红色的主控板
2、红外对管
(1)红外传感器
红外传感器对环境光线的适应力强
其具有一对红外线发射和接收管
对接收到的信号通过比较器电路处理后,输出一个低电平信号
有效距离:
2 ~ 60cm
工作电压:
3.3V~5V
参数说明:
当检测到前方有障碍物 ,电路板上的红色指示灯点亮
out端口持续输出低电平信号
特点:
对黑色物体的探测距离小
对白色物体的探测距离大
(2)、主控板:
接线原理:
需要10根线
灵敏度调节:
“顺加逆见”
使用的注意事项:
1、探头不要对着阳光 , 光线会对模块进行干扰
2、灵敏度不宜调节过高 , 容易误触发
3、有时候会发现LED信号灯微亮 , 这个情况没有触发 , 输出端还是高电平
(3)循迹和避障:
避障:
如果小车前面有障碍物 , 红外接收对管 接收到的光线会减少 , 输出低电平
没有的话 , 高电平
循迹:
如果我们的地面是“白色” , 接收到的光线是比较多的, 高电平
如果遇到黑色地面 , 接收光线减少 , 低电平
任务:
1、实现避障和循迹
2、同时 , 边制作PPT , 答辩 , 答辩会抽题目(1月3日中午 , 根据实际情况可以调整)
3、进行拍视频 , 避障和循迹过程(拍视频 , 录下来)
项目工程不要删掉 , 需要提交代码
成果:
PPT , 视频 , 还有 代码(所调用的函数, 一定要用.c结尾)
提示:
1、4 个 红外传感器 , 一对用来循迹 ,一对用来避障 ,循迹的模块需要将LED发射管用手掰弯90°指向地面
2、建议先实现循迹模块 ,避障其实不是最关键的 , 所以只需先用到两个 红外传感器
3、先提示硬件如何配置:
两个红外传感器 ,分别装在车头 , 中间间隔大概 几厘米(赛道贴好后 ,再调节)
所以黑色的循迹胶布 就在两个传感器的中间 , 正常执行是红外对管能收到正常的
光线 ,不会输出低电平
当某个红外传感器下方遇到黑色胶带 ,就会发出低电平
所以利用这个电平触发 , 我们用外部中断的方式进行编程
4、程序实现:
51单片机有两个外部中断 , 对用的哪个引脚 ,(请看原理图)
所以在中断初始化函数中 , 需要初始化两个中断源 , 并使得中断系统导通
中断初始化 , 设置为低电平触发, 还是下降沿触发 , 请思考
写两个中断服务函数 , (中断服务函数的序号)
那么中断服务函数用来干什么?
用来改变某个小轮的两个引线的其中一个引线的电平。
因为主程序肯定是直行对不对!
所以中断服务函数 就是让某个轮子不转。
实现转弯。
//左转
void go_left()
{
La = 1;
Lb = 0;
Ra = 1;
Rb = 0;
delay_ms(10); //为什么这里要有延时 ,因为传感器在车头 , 所以不要太提早转向
La = 0;
Lb = 0;
delay_ms(10); //这里的延时函数 , 就是控制小车转弯的时间 ,
}
标签:避障,循迹,中断,低电平,笔记,学习,红外,传感器 来源: https://blog.csdn.net/qq_40843903/article/details/112252019