HC-SR04超声波测距传感器

HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm。

模块包括超声波发射器、接收器与控制电路。

基本工作原理:

(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;

 1 int ledPin = 2;
 2 int echoPin = 8;
 3 int trigPin = 7;
 4 void setup(){
 5   pinMode(ledPin,OUTPUT);
 6   pinMode(echoPin,INPUT);
 7   pinMode(trigPin,OUTPUT);
 8 }
 9 void loop(){
10   long duration;
11   digitalWrite(trigPin,LOW);
12   delay(10);
13   digitalWrite(trigPin,HIGH);
14   delay(10);
15   digitalWrite(trigPin,LOW);
16   duration = pulseIn(echoPin,HIGH);    //检测高电平时间
17   if (duration/2/29 >= 160){      //距离大于160cm时LED灯亮
18     digitalWrite(ledPin, HIGH);
19   }else{
20     digitalWrite(ledPin,LOW);
21   }
22   delay(1000);
23 }

原文地址:https://www.cnblogs.com/shuiyy/p/8410056.html

时间: 2024-08-09 10:52:26

HC-SR04超声波测距传感器的相关文章

[自娱自乐] 1、超声波测距模块DIY笔记(一)

前言 就像学软件要了解些组成.编译等知识一样,玩硬件如果只用人家封装好的模块,而不了解它们的内部机制,感觉也有点不自在~其实,在很长时间以前就觉得该在模拟电路方面深入点了,可是总是找不到切入点,拿无线电的知识发现根本无法涉足,最近正好由于做一个软硬件结合的“玩具”而引发了必须自己设计传感器的需求,所以就趁势在模拟电路的海洋里遨游下吧,嘿嘿~下面是今天(不,是昨天)做的关于这方面的调查和研究,哈哈,课太多又要把最新版的Ubuntu想方法装进我的老掉牙的只有40G大小的移动硬盘里,结果就忙到了现在~

Arduino示例教程超声波测距实验

超声波传感器 超声波是一种超出人类听觉极限的声波即其振动频率高于20 kHz的机械波.超声波传感器在工作的时候就是将电压和超声波之间的互相转换,当超声波传感器发射超声波时,发射超声波的探头将电压转化的超声波发射出去,当接收超声波时,超声波接收探头将超声波转化的电压回送到单片机控制芯片.超声波具有振动频率高.波长短.绕射现象小而且方向性好还能够为反射线定向传播等优点,而且超声波传感器的能量消耗缓慢有利于测距.在中.长距离测量时,超声波传感器的精度和方向性.都要大大优于红外线传感器,但价格也稍贵.

Arduino系列之超声波测距模块代码(一)

这里我将简单介绍超声波测距模块 SR04超声波传感器: 是利用超声波特性检测距离的传感器,其带有两个超声波探头,分别用作于发射和接收超声波.范围在3-450cm. 工作原理: 超声波发射器向某一方向发射超声波,在发射的同时开始计时: 超声波在空气中传播,途中遇到障碍物则立即返回,超声波接收器收到反射波则立即停止计时. 声波在空气中传播速度为340m/s,根据计时器记录时间t,即可算出发射点距离障碍物的距离S, 即S=340m/s*t/2,这就是所谓的时间差测距法. 超声波模块的使用及时序图: 使

单片机 之 超声波测距

超声波测距:利用超声波传感器实现距离测量(提供超声波模块) 代码暂时不开源! #include<reg52.h> #include <intrins.h> // /*-----------------中断服务函数-------------------*/ void T_0()interrupt 1 { }

传感器之超声波测距HC-SR04

一.前言 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm:模块包括超声波发射器.接收器与控制电路.像智能小车的测距以及转向,或是一些项目中,常常会用到.智能小车测距可以及时发现前方的障碍物,使智能小车可以及时转向,避开障碍物,所以,我们今天就来学习一下这个传感器. 二.工作原理 1.给超声波模块接入电源和地.      2.给脉冲触发引脚(trig)输入一个长为20us的高电平方波 3.输入方波后,模块会自动发射8个40KHz的声波,与此同时回

ARM-Linux定时器、中断驱动--超声波测距初试

最近要实验用到超声波测距,一下子着手驱动设计,简直无从下手. 由于没有接触过裸板程序,arm板底子薄弱,所以很多东西写的不完善,在加上这是自己的第一个驱动程序,写起来也比较吃力.多亏了很多前辈分享的一些代码,参考学习下,写了一个自己的驱动程序,下面特此分享出来. 目前还有很多东西不完善,我的模块通电就开始工作,至于10us的脉冲信号激发,我是没有用上,日后要好好调试一番,下面这个驱动就没有涉及Trig触发信号. 看别人的代码是一件很辛苦的事情,下面我尽可能的把注释写完整.毕竟这也是从许多前辈那借

超声波测距初识(一)

1.超声波 人类耳朵能听到的声波频率为20HZ-20KHz.当声波的振动频率大于20KHz或小于20Hz时,我们便听不见了.因此,我们把频率高于20000赫兹的声波称为"超声波".因其方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远,可用于测距.测速.清洗.焊接.碎石.杀菌消毒等.在医学.军事.工业.农业上有很多的应用.如超声波清洗机,超声波加湿器,医学检查B超,彩超,超声波探伤仪等. 2.超声波测距原理 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在

[自娱自乐] 3、超声波测距模块DIY笔记(三)

前言 上一节我们已经研究了超声波接收模块并自己设计了一个超声波接收模块,在此基础上又尝试用单片机加反相器构成生成40KHz的超声波发射电路,可是发现采用这种设计的发射电路存在严重的发射功率太低问题,对齐的情况下最多只有10CM.本节主要介绍并制造一种大功率超声波发射装置~ 目录 一.浪里淘金,寻找最简超声波功率提高方案 1.1.优化波形发生程序 1.2.尝试各种其他超声模块方案 1.3.用三极管放大信号 1.4.MAX232放大信号方案 二.步步为营,打造高效准确超声测距算法 2.1.接收MCU

[自娱自乐] 2、超声波测距模块DIY笔记(二)

前言 上一节我们已经大致浏览下目前销售的超声波测距模块同时设计了自己的分析电路,这次由于我买的电子元件都到了,所以就动手实验了下!至写该笔记时已经设计出超声波接收模块和超声波发射模块,同时存在超声波发射模块功率太小的问题,下面主要做该过程的总结! 一.尝试找出一个简单的超声波接收电路: >_<" 首先根据我现有的电子元件,最终找到一个比较适合的简单设计方法:这里用一个芯片CX20106A也就是上一节我说的这种方案简单但是不利于理解超声波接收部分的具体细节!但是为了方便设计,我还是选择