Arduino开发之如何连接超声波模块?

news2025/6/14 15:05:59

文章目录

  • 0、引言
  • 1、超声波模块说明
  • 2、代码编写
  • 3、功能演示

0、引言

  在利用Arduino开发过程中,若需知道设备与周围环境的距离,可利用超声波模块测量短程距离,使运动设备感知周围环境。本文在【Arduino如何进行开发?】基础上,借鉴现有网络资料,阐述Arduino如何连接超声波模块。

1、超声波模块说明

  在这里插入图片描述
  超声波模块为HC-SR04超声波模块。
  引脚说明:
    “GND”:电源地,接Arduino的GND
    “VCC”:5V电源,接Arduino的5V
    “trigPin”:本文接Arduino的D11
    “echoPin”:本文接Arduino的D12

2、代码编写

  Ultrasound_lib.ino

//为超声波传感器的Trig和echo引脚创建变量。
//trig引脚连接到数字引脚11,echo引脚连接到数字引脚12。  
int trigPin = 11;   
int echoPin = 12;  
/*  
 变量duration保存了信号发射和接收之间的时间。  
 变量cm将以厘米为单位保存距离,  
 变量inch将以英寸为单位保存距离。  
*/  
long duration, cm, inches;  
//setup()以波特率9600初始化串口,并将trig引脚设置为输出,将echo引脚设置为输入。  
void setup() {  
  Serial.begin (9600);  
  pinMode(trigPin, OUTPUT);  
  pinMode(echoPin, INPUT);  
}  
//loop()通过发送一个10微秒的HIGH脉冲来触发传感器。此前,讲给出一个短的低电平脉冲,确保得到一个干净的高脉冲。  
void loop() {  
  digitalWrite(trigPin, LOW);  
  delayMicroseconds(20000);  
  digitalWrite(trigPin, HIGH);  
  delayMicroseconds(40000);  
  digitalWrite(trigPin, LOW);   
  duration = pulseIn(echoPin, HIGH);  
  /*计算公式:  
  距离=(传播时间/ 2)x声速  
  声速为:343m / s = 0.0343cm / uS = 1 /  29.1cm / uS  
  */  
  cm = (duration/2) / 29.1;  
  inches = (duration/2) / 74;  
  //打印结果,结果显示在串口监视器  
  Serial.print(inches);  
  Serial.print("in, ");  
  Serial.print(cm);  
  Serial.print("cm");  
  Serial.println();  
}

3、功能演示

  在这里插入图片描述

参考资料:
[1] cacrle. Arduino如何进行开发?; 2023-03-28 [accessed 2023-04-15].
[2] ywencong. ~Arduino开发板使用超声波传感器HC-SR04的完整指南; 2019-06-19 [accessed 2023-04-15].

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/412179.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索树形数据结构,通识树、森林与二叉树的基础知识(专有名词),进一步利用顺序表和链表表示、遍历和线索树形结构

树与二叉树 1.树 1.树形结构(非线性结构) 结点之间有分支,具有层次关系 树的定义: 树(tree)是n(n≥0)个有限集。 若n 0,则称为空树; 若n > 0,则它满足如下两个条件: 有且仅有一个特定的称为根(Ro…

NIFI大数据进阶_Json内容转换为Hive支持的文本格式_实际操作_02---大数据之Nifi工作笔记0032

然后首先我们来看一下hdfs中的数据的格式可以看到,还是json的格式对吧 而且也没有回行 然后我们来操作,首先添加一个evaluateJsonPath处理器 可以看到找到这个处理器 添加以后,我们去配置 ​​​​​​​ 点击去配置evaluateJsonPath处理器 可以看到首先我们destination这里配…

Rancher部署K8s集群

一、集群配置 服务器CPU内存磁盘操作系统k8s-master16核16G60GCentOS Linux release 7.5.1804k8s-node-116核16G60GCentOS Linux release 7.5.1804k8s-node-216核16G60GCentOS Linux release 7.5.1804 Rancher version : 2.6.3 二、环境初始化 所有服务器均执行一遍 1、将…

如何在矩池云上部署 Carla,模拟自动驾驶

简介 Carla 是一款基于 Python 编写和 UE(虚幻引擎)的开源仿真器,用于模拟自动驾驶车辆在不同场景下的行为和决策。它提供了高度可定制和可扩展的驾驶环境,包括城市、高速公路和农村道路等。Carla 还提供了丰富的 API 和工具&…

vscode中的配置

首先,运行或调试某文件,需要该文件是活动文件(当前打开的文件)。 下面依次介绍tasks.json和launch.json的配置参数。 tasks.json 1.tasks.json的用途 用于指定编译器和链接文件等。默认路径在.vscode下面。 2.如何打开一个tas…

springboot+Mybatis项目搭建教学(controller、service、dao、entity),并写一个简单的接口

创建一个springboot的项目 首先我们需要新建一个文件夹对吧,这里就不展示了,然后我们用IDEA打开这个文件夹,是这样的 新建一个模块 然后按照这里的进行选择 模块名字是自己随便起的,命名在这里时无关紧要的,然后我…

Python实现Imagenet数据集的合并和拆分

Python实现Imagenet数据集的合并和拆分 1. 合并Imagenet 任务需求 文件夹形式为一个数据集MyImagenet,路径为/home/lihuanyu/code/03AdaBins/img_data/MyImagenet/val,val文件夹又有若干的类别子文件夹,子文件夹是每一个类别的图片&#xf…

数据结构_第十一关:二叉树的链式结构

目录 1.二叉树链式结构的实现 1.1前置说明 1.2二叉树的遍历 1.3二叉树遍历的实现: 1)先序遍历、中序遍历、后续遍历代码如下 2)层序遍历: 1.4结点个数以及高度的计算 1)求二叉树的总节点: 2&#…

阿里张勇:所有行业都值得用大模型重新做一遍!

‍数据智能产业创新服务媒体——聚焦数智 改变商业“2023阿里云峰会”于4月11日在北京国际会议中心隆重召开,本次峰会以" 与实俱进 为创新提速!"为主题,阿里巴巴集团董事会主席兼首席执行官张勇、阿里云智能集团首席技术官周靖人、…

Python机器学习:适合新手的8个项

再多的理论也不能代替动手实践。教科书和课程会让你误以为精通,因为材料就在你面前。但当你尝试去应用它时,可能会发现它比看起来更难。而「项目」可帮助你快速提高应用的 ML 技能,同时让你有机会探索有趣的主题。此外,你可以将项…

java mysql高校教学成果管理系统dzkfY3程序

1.用户管理模块: 该模块包括注册用户管理和系统用户管理,系统用户主要是普通管理员,对用户信息进行管理,只有注册用户才可在该系统上进行相应的操作。用户对个人信息可进行修改;管理员可对自己的个人信息进行维护&…

Java线程系列详解

一,基本概念 进程: 程序是计算机指令的集合,它以文件形式存储在磁盘上,而进程就是一个执行中的程序,而每一个进程都有其独立的内存空间和系统资源。线程: 线程运行在进程中,不能独立存在。线程…

2019年 团体程序设计天梯赛——题解集

前言: Hello各位童学大家好!😊😊,茫茫题海你我相遇即是缘分呐,或许日复一日的刷题已经让你感到疲惫甚至厌倦了,但是我们真的真的已经达到了我们自身极限了吗?少一点自我感动&#xf…

城乡供水一体化信息化系统-城乡供水一体化

建设方案 城乡供水一体化信息化系统是运用云计算、大数据等信息化手段,借助在线监测设备,并依托“供水信息化平台”,实时感知供水系统的运行状态,实现对农村供水工程远程监控、在线监测、实时预警、智慧监管。 系统功能 水源地监测…

【 初识 Spring MVC 程序开发 】

文章目录一、什么是 Spring MVC二、什么是 MVC三、MVC 和 Spring MVC 的关系四、为什么要学 Spring MVC五、怎么学 Spring MVC六、Spring MVC 创建和连接一、什么是 Spring MVC Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框…

搜索算法(一) 深度优先搜索 dfs

一、搜索算法 包括深度优先搜索算法和广度优先搜索算法,用于树或图等结构中进行搜索。 二、深度优先搜索 深度优先算法会尽可能深地搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源…

全网最详细,Jmeter性能测试-性能基础详解,终成测试卷王(一)

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 发起请求 发起HTTP…

电脑自动录屏软件哪个好用 电脑自动录屏怎么设置

录屏是很多工作都需要进行的操作,很多会议、培训课程、PPT等都可能需要通过屏幕录制的方式来进行分享。但是目前市面上的录屏软件很多,想找到使用便捷且高效的软件并不容易。今天就来分享一下电脑自动录屏软件哪个好用,电脑自动录屏怎么设置。…

条码控件Aspose.BarCode入门教程(5):用Java 生成和扫描二维码

Aspose.BarCode for .NET 是一个功能强大的API,可以从任意角度生成和识别多种图像类型的一维和二维条形码。开发人员可以轻松添加条形码生成和识别功能,以及在.NET应用程序中将生成的条形码导出为高质量的图像格式。 Aspose API支持流行文件格式处理&am…

学习数据结构第4天(线性表的顺序表示)

线性表的顺序表示顺序表的定义顺序表的基本操作顺序表的定义 线性表的顺序存储又称顺序表。顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储时指用一组地址连续的存储单元,依次存储线性表中的各个元素。因此线性表中任一数据元素都可…