实验十九:STM32平台------悬崖检测实验

1、实验前准备

img

图1-1 STM32主控板

IMG_0700

图1-2 4路红外巡线模块

2、实验目的

STM32单片机上电之后,启动悬崖检测功能,小车直行,当遇到黑色则后退并转弯,模拟遇到悬崖后台转弯躲避危险。这里需要调节红外探头的灵敏度,保证探头在黑线灯亮,在黑线外灯灭,保证小车在运动过程中探头检测黑线的精确度。

3、实验原理

红外传感器巡线的基本原理是利用物体的反射性质,我们本次实验是巡黑线行驶,当红外线发射到黑线上时会被黑线吸收掉,发射到其他的颜色的材料上会有反射到红外的接受管上。我们根据这点的不同写相应的代码完成小车巡线功能。我们本次实验采用的是四路红外传感器分别连接在STM32主控板上的A1,A2,A3,A4口上。其中任意一路巡线是在黑线上,小车会后退并转弯,否则直行。

4、实验步骤

4-1.看懂原理图

image-20230207163021950

图4-1 STM32主控板电路图

image-20230207163043998

图4-2 4路红外传感器接线头

注意:这里Arduino功能跳线不用跳线,因为STM32口是够用的,跳线是因为Arduino IO口不够用。

4-2 理解原理图

由电路原理图可知从左到右4路红外传感器接在主控板上的PC14(IN2), PC13(IN1),PC15(IN3),PB12(IN4)上.

注:本次实验需要调节4路红外循迹模块的电位器使得传感器的灵敏度达到最佳。

4-3 程序代码如下:

主程序如下:

image-20230207163120181

初始化程序如下:

image-20230207163143490

悬崖检测主业务流程如下:

image-20230207163158303