历史上的今天
今天是:2024年10月24日(星期四)
2019年10月24日 | 51单片机智能车超声波避障实验
2019-10-24 来源:51hei
51单片机平台-------超声波避障实验
实验准备

图1-1 51单片机主控板

图1-2 一体云台超声波模块
实验目的
单片机上电之后,启动超声波避障功能,当前方有障碍物时小车则相应的转向避障。
实验原理
SR04是利用超声波特性检测距离的传感器。其带有两个超声波探头,分别用作发射和接收超声波。其测量的范围是3-500cm。

图3-1 超声波发射和接收示意图

图3-2 SR04超声波模块引脚
该模块的工作原理:

先使用单片机的P3.7引脚向TRIG脚输入至少10us的高电平信号,触发模块的测距功能。如下图3-3所示:

图3-3 STM32发送触发信号
测距功能触发后,模块将自动发出 8 个 40kHz 的超声波脉冲,并自动检测是否有信号返回,这一步由模块内部自动完成。

一旦检测到有回波信号则ECHO引脚会输出高电平。高电平持续的时间就是超声波从发射到返回的时间。此时可以使用定时器获取高电平的时间, 并计算出距被测物体的实际距离。公式: 距离=高电平时间*声速(340M/S)/2。
另外有关于PWM的原理以及定时器的理论知识请见实验二以及实验三。
4、实验步骤
4-1.看懂原理图

图4-1 单片机主控板电路图

图4-2 超声波接线头
4-2 理解原理图
由电路原理图可知超声波的Trig引脚接在接在主控板上的RD(SCL_C)上,而Echo接在主控板上的WR(SDA_C)上。
4-3.程序核心代码如下:
1.基本变量以及引脚的定义:

电机驱动函数:


小车运动控制函数:







产生PWM函数:

5.超声波测距函数:

6.主函数


史海拾趣
|
DOS 微软一开始选用了派特森的Q-DOS “QUICK AND DISK OPERATING SYSTEM ”为基础然后再扩充功能而成 MS-DOS,主要是采用由IBM 提供的使用8088 微处理器的计算机作开发平台,它是以16 字节单人单工操作系统,特别适合一些功能简单 ...… 查看全部问答> |
|
摘要: 近几年嵌入式Internet开始迅猛发展,但绝大多数嵌入式Internet都使用微控制器和相应的软件来实现。本文介绍一种基于硬件来实现嵌入式Web Server的方案。该方案的核心思想是用VHDL语言来设计实现,并且用FPGA进行验证。 关键词: VHDL Inte ...… 查看全部问答> |
|
专家好: 我的PDA前两天在公司测试部门发现,按键进入深度休眠后,不能马上按键唤醒,只有等5~6秒(大约值)后才能马上唤醒 我的按键休眠是设置的GPIO0,唤醒源也是GPIO0 具体的设置如下: &nbs ...… 查看全部问答> |
|
shuiyan 大哥你好! 小弟最近在搞OAL里的中断函数OALTimerInit遇到个问题,是这样的: 我在private下的armtrap.s里发现了中断的异常跳转表 VectorInstructions ldr pc, [p ...… 查看全部问答> |
|
不好意思,问一下这个问题:-sh: ./helloworld: not found 我是一名初学者,今天终于完成了博创S3C2410上Linux 2.6.22的移植,网卡,文件系统都能正常使用,感觉蛮有成就感的。 但如今这个问题不知道如何解决了: 用编译内核和Busybox 1.5.1的编译器编译了一个helloworld,在开发板上用NFS挂载上,运行./hello ...… 查看全部问答> |
|
我写了两段不同的verilog代码来实现同一个功能,现在我想比较哪个代码在FPGA上跑的更快,我在Quartus II里如何看出来呢,请各位指导我一下,谢谢。… 查看全部问答> |




