赞
踩
前言:本文将使用HAL库与STM32CubeMX结合,控制线迷宫鼠。
因为本文所使用的线迷宫鼠在迷宫上的黑线上走,所以需要确定黑线的中点,以确保小车能够保持直线行走。本文确定中点的方法为权重法
软件与固件包:
芯片: STM32F401RE
STM32CubeMx软件 (v6.1.0)
IDE: MDK-Keil软件(v5.27)
STM32F4xxHAL库
硬件:
线迷宫鼠小车(本文只用到了其中的五个红外传感器)
其中硬件原理图如下:
(1)权重法:也可以成为加权算数平均法。即将各数值乘以相应的权数,然后加总求和得到总体值,再除以总的单位数。加权平均值的大小不仅取决于总体中各单位的数值(变量值)的大小,而且取决于各数值出现的次数(频数),由于各数值出现的次数对其在平均数中的影响起着权衡轻重的作用,因此叫做权数。个人理解:就是给根据每个数据的不同重要程度,给定相应的比重,求出的平均值。与算数平均数不相同,它带有一定的针对性。
(2)本此实验中,使用的是小车的五个红外传感器之间的距离为等距,黑线的线宽为1.8cm.
本实验使用加权平均数对5个传感器采取到的值进行求平均,权重值从左到右即传感器0~4分别为0,100,200,300,400。再用2号传感器的权重值减去加权后传感器数据的平均值,得到小车与黑线的偏差值。其中关于如何ADC采样读取传感器的值可以参考我的上一篇博文ADC采样简单应用
使用的是PA2、PA3、PC5、PB0、PC3,对应的是IN2、IN3、IN8、IN13、IN15。由于接的外设(红外测距传感器)需要供电,所以将PB12~PB15四个引脚设置为GPIO_output
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。