基于Stm32的超声波测距、OLED显示、BEEP蜂鸣报警
1.目标/目的
本人做移动机器人,超声波亦或者是红外测距报警都是肯定的,一个小实验,目的是超声测距,OLED显示前方障碍的距离,距离过小时,蜂鸣器报警,且距离越小报警蜂鸣频率越快。
2.硬件
(1)stm32f1
(2)超声波HC-SRO4
(3)OLED12864
(4)BEEP
3.硬件参数
(1)单片机stm32f1
(2)超声波模块HC-SRO4
1:使用电压:DC5V
2:静态电流:小于2mA
3:电平输出:高5V
4:电平输出:底0V
5:感应角度:不大于15度
6:探测距离:2cm-450cm
7:高精度:可达0.3cm
板上接线方式,VCC---+5V、trig(控制端)--PA8、 echo(接收端)--PA7、out(空脚)、GND--地
注: TRIP引脚是内部上拉10K的电阻,用单片机的IO口拉低TRIP引脚,然后给一个10us以上的脉冲信号。
OUT脚为此模块作为防盗模块时的开关量输出脚,测距模块不用此脚!
采用IO口TRIG触发测距,给最少10us的高电平信号。模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,同时开定时器计时,当此口变为低电平时就可以读定时器的值,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;us/58=厘米或者us/148=英寸;(us为回响高电平信号持续时间)建议测量周期为 60ms以上,以防止发射信号对回响信号的影响。
(3)OLED12864
如图用的IIC通信。SCL---PB6,SCL---PB7
(4)BEEP(无源)
无源蜂鸣器意思是需要加音频驱动信号才能使其发出声音,与有源蜂鸣器相对应。有源蜂鸣器只需要通上直流电即会发出蜂鸣声,有源蜂鸣器内部自带振荡器!
+接PA11,-接GND,定时器PWM脉冲驱动。
4.程序