目录:

  • 一、奇葩的开始(如有不适,自觉跳过)
  • 二、发现超声波(历史)
    • 1、蝙蝠实验《夜晚的实验》
  • 三、HC-SR04超声波传感器
    • 1、原理
  • 四、实物搭建
    • 1、材料:
  • 五、测距(代码部分)

一、奇葩的开始(如有不适,自觉跳过)

最近我们学校有一个关于传感器的课程,怎么说呢,挺不错的吧,就是时间太少了,没有足够的时间去更多的了解传感器,老师从物联网讲到传感器,还有一些这两者之间的关系啊等等,感觉挺高大上的,我一直也有在课余时间学习关于传感器的相关知识,不过都是一些开源硬件吧!自我感觉也没有多么高大上,学习这些东西主要一方面是为了提高自己对嵌入式单片机的兴趣,再者就是为自己以后就业做必要的准备,也没有过深的学习传感器的原理。

不过最近这位老师说让我们班建立几个小组来介绍传感器,内容不限,种类不限,我准备了一晚上,准备介绍的是“超声波传感器”,在找资料的过程中,我真的觉得之前自己那么草率的对待所学硬件是非常可惜的,有很多好“风景”都被我错过了,我一直没有过多去深入了解传感器,直到深入去了解,才发现黄金屋。

第二天,由于时间原因没有按照预期达成想要的效果!

不过那一天过后,自己也分析了原因,还是要全讲出来才好,所以今天就准备借着CSDN这个平台来谈谈我对超声波浅薄的认识,如果有什么不对的地方或者需要补充的地方,可以留言或者私信,向大家请教问题!

二、发现超声波(历史)

还记得初中物理课本上讲关于声音的产生及传播吗?

声音是由物体振动产生的声波,振动停止发声也停止,发声的物体叫声源。声音可以通过固体、液体、气体这些介质传播。但是声音不能在真空中传播,因为真空中没有声音传播所需用的介质。

有种回到了初中物理课堂的感觉!

声音是由物体振动产生的声波,声波的计量单位为频率,是指声波每秒钟振动的次数,称为赫兹(Hz)。

人耳所能听到的声波频率为20Hz~20000Hz之间,

小于20Hz,称之为“次声波”,大于20000Hz,称之为超声波,人耳均无法听见。

而我今天要给大家讲的就是我们所听不见的超声波,讲到超声波,就不得不提到一位著名的科学家,他就是拉扎罗·斯帕拉捷(下图)


斯帕拉捷是意大利著名的博物学家、生理学家和实验生理学家,他最卓越的贡献就是蝙蝠实验
*
*
*

1、蝙蝠实验《夜晚的实验》

1793年夏天,一个晴朗的夜晚,喧腾热闹的城市渐渐平静下来。斯帕拉捷匆匆吃完饭,便走出街口,把笼子里的蝙蝠放了出去。当他看到放出去的几只蝙蝠轻盈敏捷地来回飞翔时,不由得尖叫起来。因为那几只蝙蝠,眼睛全被他蒙上了,都是“瞎子”。
斯帕拉捷为什么要把蝙蝠的眼睛蒙上呢?原来,每当他看到蝙蝠在夜晚自由自在的飞翔时,总认为这些小精灵一定长着一双特别敏锐的眼睛,假如他们的眼睛瞎了,就不可能在黑夜中灵巧的躲过各种障碍物,并且敏捷的捕捉飞蛾了。然而事实完全出乎他的意料。斯帕拉捷很奇怪:不用眼睛,蝙蝠凭什么来辨别前方的物体,捕捉灵活的飞蛾呢?
于是,他把蝙蝠的鼻子堵住。结果,蝙蝠在空中还是飞的那么敏捷、轻松。“难道他薄膜似的翅膀,不仅能够飞翔,而且能在夜间洞察一切吗?”斯帕拉捷这样猜想。他又捉来几只蝙蝠,用油漆涂满它们的全身,然而还是没有影响到它们飞行。
最后,斯帕拉捷堵住蝙蝠的耳朵,把他们放到夜空中。这次,蝙蝠可没有了先前的神气。他们像无头苍蝇一样在空中东碰西撞,很快就跌落在地。
啊!蝙蝠在夜间飞行,捕捉食物,原来是靠听觉来辨别方向、确认目标的!
斯帕拉捷的实验,揭开了蝙蝠飞行的秘密,促使很多人进一步思考:蝙蝠的耳朵又怎么能“穿透”黑夜,“听”没有声音的物体呢?

后来人们继续研究,终于弄清了其中的奥秘。原来,蝙蝠靠喉咙发出人耳听不到的“超声波”,这种声音沿着直线传播,一碰到物体就像光照到镜子上那样反射回来。蝙蝠用耳朵接受到这种“超声波”,就能迅速做出判断,灵巧的自由飞翔,捕捉食物。

到19世纪末20世纪初,居里兄弟(下图)发现了晶体正压电效应与逆压电效应,由此才造出了属于人类自己的超声波


机械能与电能之间的相互转换(上图)
正压电效应:某些晶体材料在交变拉压应力作用下,产生交变电场的效应称 之为正压电效应。(就是机械能转换成电能
逆压电效应:当晶体材料在交变电场作用下,产生伸缩变形的效应称为逆压电效应。(就是电能转换成机械能
当然,这两者都可以称之为“压电效应”。

三、HC-SR04超声波传感器

硬件名称 HC-SR04超声波传感器
工作电压 直流(DC):5V
工作电流 15mA
工作频率 40HZ
射程范围 2厘米(cm)~4米(m)
测量角度 <=15度
输入触发信号 10微妙(uS)的TTL脉冲
输出回响信号 输出TTL电平信号与射程成正比

(下图)是超声波传感器的“探头”结构:


超声波传感器就是由这两个超声波探头和放大电路(放大电信号)等组成的。

1、原理

那么HC-SR04超声波传感器是如何实现测量距离的功能的呢?

当有脉冲电压触发时(就是控制板给Trig引脚发送高电频),探头里的晶片就会振动,继而产生超声波。超声波在空气中传播,当超声波遇到物体后就会返回,被超声波传感器的接收探头接收到(反射的超声波使压电晶片振动,继而在压电晶片两端产生电压。)随后这种电压经过超声波内部的信号放大电路,将电压信号放大,此时Echo引脚给控制板发送高电频信号。
这样一个由发送到接受的过程,经过计算就可以得出距离。
根据声音在空气中传播的速度:340m/s,可以得出
公式:距离=(时间*340m/s)➗2
(÷2,是因为往返的原因)

四、实物搭建

了解了上面的原理我们开始制作吧!!!

1、材料:

1、面包板

2、Arduino UNO板(含USB连接线)

3、HC-SR04超声波传感器

4、杜邦线(若干)

I/O表:

HC-SR04超声波传感器 Arduino UNO板
GND GND
VCC 5v
Trig D2
Echo D3

接线图:

五、测距(代码部分)

#define Trig 2 //引脚Tring 连接 IO D2
#define Echo 3 //引脚Echo 连接 IO D3
float cm; //距离变量
float temp; //存储回波void setup()
{Serial.begin(9600);pinMode(Trig, OUTPUT);pinMode(Echo, INPUT);pinMode(8,OUTPUT);
}void loop()
{//给Trig发送一个低高低的短时间脉冲digitalWrite(Trig, LOW); //给Trig发送一个低电平(初始化)delayMicroseconds(2);    //等待 2微妙digitalWrite(Trig,HIGH); //给Trig发送一个高电平delayMicroseconds(10);    //等待 10微妙digitalWrite(Trig, LOW); //给Trig发送一个低电平temp = float(pulseIn(Echo, HIGH)); //存储回波等待时间,//pulseIn函数会等待引脚变为HIGH,开始计算时间,再等待变为LOW并停止计时//返回脉冲的长度//声速是:340m/1s 换算成 34000cm / 1000000μs = 34 / 1000//因为发送到接收,是一来一回,我们只要单程就好了,所以➗2//距离(厘米)  =  (回波时间 * (34 / 1000)) / 2//简化后的计算公式为 (回波时间 * 17)/ 1000cm = (temp * 17 )/1000; //把回波时间换算成cmSerial.print("Echo =");Serial.print(temp);//串口输出等待时间的原始数据Serial.print(" | | Distance = ");Serial.print(cm);//串口输出距离换算成cm的结果Serial.println("cm");
}

效果是这样的

Arduino UNO控制HC-SR04超声波实现(测距)及对超声波的认识相关推荐

  1. 利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法三)

    利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法三) 24BYJ48步进电机 本文不涉及指定圈数的转动,旨在控制步进正反转以及停止的控制.(知道其原理,实现指定圈数 ...

  2. 利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法二)

    利用Arduino uno控制24BYJ-48电机正反转停止( 不使用步进库实现方法二) 继续写第二种方法,主要是受到之前写流水灯的程序原理启发. 24BYJ48步进电机 本文不涉及指定圈数的转动,旨 ...

  3. Arduino UNO控制3.5inch ILI9486显示屏教程

    Arduino UNO控制3.5inch ILI9486显示屏教程 这几天在做一个Arduino + ESP8266 + 甲醛气体传感器 + Andriod APP + 树莓派的物联网实验,大致思想是 ...

  4. 利用Arduino uno控制24BYJ48电机正反转停止( 不使用步进库实现方法一)

    利用Arduino uno控制24BYJ48电机正反转停止( 不使用步进库实现方法一) 24BYJ48步进电机 本文不涉及指定圈数的转动,旨在控制步进正反转以及停止的控制.(知道其原理,实现指定圈数的 ...

  5. Arduino uno控制蜂鸣器播放音乐(以《大鱼》为例)

    最近在学用arduino控制传感器,顺带着就玩儿了一下蜂鸣器.按照简谱写出了<大鱼>对应的代码. 其他音乐也可以按照这个思路编写出相对应的控制程序. 大概思路如下: 定义不同音所对应的频率 ...

  6. 使用Arduino UNO以及好盈电调控制无刷电机

    文章目录 前言 1. 实验设备概览 2. 好盈电调控制 3. Arduino UNO 总结 前言 学习如何使用Arduino UNO控制低成本航模无刷电调. 1. 实验设备概览 实验设备包含: 3s锂 ...

  7. arduino超声波测距接线图详细_使用Arduino UNO开发板和超声波传感器测量距离

    超声波传感器不仅提供距离测量实用程序,而且没有任何物理接触,但需要我们在无噪音和光线的情况下进行测量,与基于激光的距离测量仪器不同.此外,即使在基于激光的仪器经常降低其效率的日光下,这些仪器也便宜且更 ...

  8. arduino UNO 与 超声波测距模块 实验详情

    US-015 超声波测距模块 超声波传感器 US-020升级版 送全套资料 资料下载地址:http://pan.baidu.com/s/1c0AfkIG US-015超声波测距模块 1. 概述 US- ...

  9. hc sr04流程图_超声波测距模块工作原理_HC-SR04模块详解

    超声波测距模块有好多种类型,目前比较常用的有URM37超声波传感器默认是232接口,可以调为TTL接口,URM05大功率超声波传感器测试距离能到10米,算是目前来说测试距离比较远的一款了,另外还有比较 ...

最新文章

  1. CommunityServer研习心得(转)
  2. 《团队-团队编程项目作业名称-团队信息》
  3. dqn在训练过程中loss越来越大_[动手学强化学习] 2.DQN解决CartPole-v0问题
  4. 1.OD-破解MTS DashBoard
  5. js面向对象-组合使用构造函数模式和原型模式(使用最广泛、认同度最高)
  6. python开源系统_搭建轻量级的开源推荐系统-Python-recsys
  7. C++中指针和引用的选择
  8. python数据结构算法 北京大学_北京大学公开课《数据结构与算法Python版》
  9. 前端学习(284):纯css实现翻书效果
  10. 很久以前的C语言笔记
  11. 带有天气预报的高大上web报表制作分享
  12. HDU 1027 G - Can you answer these queries?
  13. ElasticSearch经验小结 (Based on 5.x)
  14. REST another WebService???
  15. 2009年:国内常见的PKM工具软件介绍
  16. 书单|VR开发内功修炼书单
  17. 海贼王 动漫 全集目录 分章节 精彩打斗剧集
  18. word中首行缩进、悬挂缩进、左缩进有什么区别?如何操作?
  19. 论汽车车机快速启动与开机动画、倒车影像三者关系
  20. 计算机信息安全专业主要学习什么,信息安全专业学什么 课程有哪些

热门文章

  1. 新人入职培训流程及转正交流过程指导原则
  2. 如何给金蝶kis记账王新增凭证字
  3. 常见的HTT相应状态码
  4. [GWCTF 2019]枯燥的抽奖 1——php_mt_seed
  5. Redis-5-实际应用
  6. 贵阳CBD造型怪异 或扭曲或变形
  7. Python基础之爬取某瓣图书信息
  8. 西北工业大学计算机学院801考纲
  9. ORACLE 数据、表误删恢复(转)
  10. 宜人贷何林海:社交图谱在金融反欺诈产品的应用