实验六:STM32平台-------巡线实验
1、实验前准备
图1-1 STM32主控板
图1-2 4路红外巡线模块
2、实验目的
STM32单片机上电之后,启动红外巡线功能,小车会自动的巡黑线行走。这里需要调节红外探头的灵敏度,保证探头在黑线灯亮,在黑线外灯灭,震动小车调节探头,保证小车在运动过程中探头检测黑线的精确度。
3、实验原理
红外传感器巡线的基本原理是利用物体的反射性质,我们本次实验是巡黑线行驶,当红外线发射到黑线上时会被黑线吸收掉,发射到其他的颜色的材料上会有反射到红外的接受管上。我们根据这点的不同写相应的代码完成小车巡线功能。我们本次实验采用的是四路红外传感器分别连接在STM32主控板上的A1,A2,A3,A4口上。 其中中间两路巡线是一直在黑线上,小车会直行,当任意一个出来,则小车会自动纠正,如果最外面的检测到黑线,则小车以更大速度纠正到正确黑线上面
以上为处理直线、小弯、直角、锐角的传感器状态分析。
4、实验步骤
4-1.看懂原理图
图4-1 STM32主控板电路图
图4-2 4路红外传感器接线头
注意:这里Arduino功能跳线不用跳线,因为STM32口是够用的,跳线是因为Arduino IO口不够用。
4-2 理解原理图
由电路原理图可知从左到右4路红外传感器接在主控板上的PC14(IN2), PC13(IN1),PC15(IN3),PB12(IN4)上.
注:1.本次实验需要调节4路红外循迹模块的电位器使得巡线的灵敏度达到最佳。
4-3 程序代码如下:
主程序如下:
初始化程序如下:
巡线主业务流程如下: