Arduino超声测距系统设计
发布时间:2024-01-20 09:44:18 来源:火狐体育真人入口Arduino是目前较为流行的电子互动平台,基于嵌入式系统开发,具有使用简单,功能多样,价格低等优点,大范围的应用于电子系统模块设计和互动产品研究开发方面。我们采用Arduino作为主控制器,结合
近几年,欧美大学皆相当流行应用Arduino作为基础的技术,在国内使用Arduino的人也慢慢变得多。
Arduino为何会这样流行?首先因为它是一个基于开放源代码的硬件项目平台:
1.硬件平台是开放的,任何人都可以在Arduino官方网站上下载最新的PCB设计进行复制,硬件平台包括基于AVR ATmega128微控制器的主控制电路板,以及大量的各式输入/输出电子模块。输入/输出模块包括开关输入模块、温度压力传感器输入模块、超声测距传感器输入模块、各类显示输出模块、电机控制模块等,更不可思议的是以太网接入模块。这些模块与主控制电路板的连接,不需焊接,只要像积木一样拼在一起即可。因此,Arduino也被称为“电子积木”.
2.在软件方面,Arduino有一个属于自己的基于Eclipse的IDE软件开发环境,开发语言采用类C++语言的高级语言,容易被使用者掌握。有大量的库文件能够最终靠互联网下载免费获得,大大简化了程序开发工作。
由于超声波具有指向性强,在传输中能量消耗低,传播的距离较远等优点而被经常用于工业控制、建筑测量、汽车倒车系统等领域。
超声波测距仪是利用超声波发射器向某一方向发射超声波,在发射时刻开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。根据计时器记录的超声波传播时间,以及超声波在相应介质中的传播速度就可以计算出发射点距障碍物的距离S=C*t/2,其中C为超声波在空气中的传播速度,t为声波往返所用的时间。
超声波的传播主要受空气密度的影响,空气的密度越高其速度就越快,而空气的密度又与温度有着密切的关系。空气中的声波传播速度可近似地表示为C=331.4+0.607*T,其中T是空气介质的温度。超声波的传播速度式中:
C=331.4m/S为零度时的声波速度;T为实际温度(℃)。在测距精度不是很高的情况下,一般认为c为常数340m/s.
超声波测距仪的硬件设计主要有ArduinoUNO主控制板、超声测距模块LCD1602液晶显示模块。
Arduino的数字6脚与超声测距模块的第2脚连接,Arduino的数字7脚与超声测距模块的第3脚连接。
1.在采用Arduino编程的过程中,主要用pulseIn()函数,pulseIn()函数用来读取一个引脚的脉冲(HIGH或LOW)。例如,如果value是HIGH,pulseIn()会等待引脚变为HIGH,开始计时,再等待引脚变为LOW并停止计时。返回脉冲的长度,单位微秒。如果在指定的时间内无脉冲函数返回。计时范围从10微秒至3分钟。
Timeout(可选):指定脉冲计数的等待时间,单位为微秒,默认值是1秒(unsigned long)超声测距的主要代码:
本文以Arduino为工作处理器核心,设计了超声测距模块,准确度达到测距模块精度。由于Arduino是一个开源的系统,可以利用互联网下载免费获得库文件,从而大大简化了程序开发工作。Arduino是适合电子爱好者进行开发产品的一个平台。