超声波传感器不仅提供距离测量实用程序,而且没有任何物理接触,但需要我们在无噪音和光线的情况下进行测量,与基于激光的距离测量仪器不同。此外,即使在基于激光的仪器经常降低其效率的日光下,这些仪器也便宜且更可靠。距离测量仪器已经使用了几个世纪,并且随着时间的推移已经在其设计中进行了改进。今天,诸如尺和英寸带之类的距离测量仪器已经过时,并且数字仪器被用于更大规模的这种目的。从一点测量任何距离的高精度和更方便使得该过程容易。这种仪器广泛用于建筑工地和液位监测。在需要精确和远程控制液位监测的容器和场所中,基于超声波传感器的距离测量仪器易于操作。由于该设计基于嵌入式系统,整个过程由微控制器控制,因此可以添加许多功能。例如,远程传输液位和相应的数字流体开关的ON / OFF功能。

Distance-measurement-arduino.jpg (65.83 KB, 下载次数: 154)

2018-10-4 16:47 上传

理论知识

Arduino UNO开发板因其庞大的库和简单的编程而受到欢迎。带有多个定时器的数字和I / O引脚使我们能够轻松地设计和开发复杂项目。 Arduino UNO开发板兼容各种传感器,并以低成本提供卓越的效率。微控制器是一个免费的源设计,是世界上最苛刻的电路板之一。

超声波传感器也称为声纳传感器已经使用了数十年。它们曾被用于海上船舶的测绘和机械系统中破损/故障部件的检测。超声波传感器通过发射超声波来工作,这些波浪撞击发射器前方的障碍物。波被反射并撞击接收器。相对于超声波的速度,波从发射到接收所花费的时间用于测量前方存在的障碍物的距离。

空气中声速约为每秒341米(1100英尺)。超声波距离传感器使用该信息以及发送和接收声音信号之间的时间差来确定物体之间的距离。它使用以下数学公式。

距离=时间x声速除以2

时间=发送超声波与接收超声波之间的时间

此数字除以2,因为声波必须传播到物体并返回。

由于在模拟中物理上不能改变距离,因此SR04的仿真模型与电位计连接,并且使用该电位计改变传感器的距离。

ultrasonic-distance-sensor.jpg (50.75 KB, 下载次数: 155)

2018-10-4 16:47 上传

距离的测量需要以某种方式表达,对于嵌入式系统,最好的方法是使用LCD。基于16×2 HDD44780驱动器的LCD以低廉的价格提供高效,流畅的功能。 16列和2行提供足够的空间来显示结果。 LCD与所有型号的Arduino板均兼容,因此也适用于该项目。

需要的组件

该项目所需的组件简单且成本低。

●    Arduino UNO开发板

●    超声波传感器SR04

●    LCD液晶显示屏1602(基于HDD44780驱动)

●    6v电池或5v USB电源(移动适配器/笔记本电脑)

●    10K电位器

●    连接导线

●    面包板

连接原理图

Arduino-UNO-Ultrasonic-Distance-Measurement-1.jpg (120.28 KB, 下载次数: 159)

2018-10-4 16:47 上传

仿真

在这里已经演示了基于Proteus 8的仿真模型。该仿真使设计人员和开发人员能够在进行硬件设计之前验证电路的功能。如果最终产品由于错误的连接而无法运行,则直接在PCB或veroboard上开发硬件会很紧张。模拟有助于跟踪错误和改进设计,您可以随时为您的设计添加更多创意,并在模拟上进行测试。用于Arduino UNO和超声波传感器的仿真模型在互联网上很容易获得。所需的唯一工作是按照电路图中的描述连接所有组件。

该项目的工作机制简单易懂。超声波传感器有4个引脚,其中2个引脚用于供电,其余2个引脚用于触发和回波。 MCU通过触发引脚发送超声波,然后在回波引脚上读取超声波的接收时间。定义超声波行进的速度,并因此测量距离。

必须在其仿真模型中添加Arduino代码的hex文件。 hex文件以二进制指令的形式提供给MCU进行处理。

LCD用作显示结果的图形界面。 可以通过在引脚3上提供0-5v来调整显示亮度,这在模拟的情况下是不必要的,但是适用于硬件设计。 确保引脚与Arduino小心连接,如电路图中所述。

10k Preset的使用仅用于在传感器之间制作对象的模拟中。这里预设作为对象。

使用带超声波传感器的电位器使用户能够控制传感器的输入距离并相应地观察结果的变化。该电位计的值必须高于1K欧姆。

由于仿真模型确保了设计的正常运行,因此如果您的仿真工作正常,您可以继续开发硬件设计。但是,如果您的模拟无法正常工作,则需要对错误进行故障排除。

如果您的液晶显示屏显示距离且变化但距离不正确,您可能会以错误的方式指示您的超声波传感器,确保目标障碍物和超声波传感器之间的路径畅通,并且传感器面临障碍物。或者,超声波传感器与Arduino的连接可能是错误的。如果液晶显示屏上没有显示,则需要检查LCD与Arduino的代码和连接。

如果未按照电路图中的说明连接所有组件,则模拟可能不起作用或未按预期显示。

代码

代码已在Arduino IDE上成功编译。代码从LCD库开始。定义LCD和Arduino UNO的引脚连接,用于正常通信。然后定义所有使用的组件和引脚。

在setup()函数中定义了波特率,并在引脚的输入/输出功能之间进行选择。这里定义了LCD尺寸1602,以及最初几个命令用于清除LCD。

loop()函数包含指令的主体。只要MCU运行,它就会不断迭代。这里使用多个命令处理基于超声波的测量的整个机制。使用命令在LCD上显示计算后计算距离。

#include ;

LiquidCrystal LCD(10,9,5,4,3,2);

const int trigPin=13;

const int echoPin=11;

int myCounter=0;

int servoControlPin=6;

long distance , duration;

void setup() {

Serial.begin (9600);

LCD.begin (16,2);

pinMode (trigPin, OUTPUT);

pinMode (echoPin, INPUT);

LCD.setCursor(0,0);

}

void loop() {

digitalWrite(13,LOW); //

delayMicroseconds(2000);

digitalWrite(13,HIGH);

delayMicroseconds(15);

digitalWrite(13,LOW);

delayMicroseconds(10);

duration = pulseIn(11, HIGH); //To receive the reflected signal.

distance= duration*0.034/2;

LCD.setCursor(0,0); //set the cursor to column 0 and line 1

LCD.print(” Distance meter”);

LCD.setCursor(0,1);

LCD.print(“Distance = “);

LCD.print(distance);

LCD.print(“cm”);

}复制代码

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

  1. 如何使用Arduino Uno开发板制作超声波测距仪

    测距仪是用于查找从点到最近障碍物的距离的设备.该装置使用超声波技术测量距离.您可以将它视为一种无障碍的电子卷尺,测量范围为2cm至400cm,精度为1cm. Arduino超声波测距仪的典型应用包括停 ...

  2. 基于Arduino UNO开发板,超声波模块,直流电机,实现电机驱动

    这:是我的手机,一台能无线充电的华为Mate 30Pro 4G 这:是我的的无线充电器,(虽然速度低,毕竟店家送的) 这是我维持一年多的充电样子,为什么这么做呢......因为无线充电会发烫,毕竟无线 ...

  3. arduino超声波测距接线图详细_Arduino系列之超声波测距模块代码(一)

    这里我将简单介绍超声波测距模块 SR04超声波传感器: 是利用超声波特性检测距离的传感器,其带有两个超声波探头,分别用作于发射和接收超声波.范围在3-450cm. 工作原理: 超声波发射器向某一方向发 ...

  4. arduino超声波测距接线图详细_Arduino实践-超声波(ultrasonic)测距

    科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹(Hz).我们人类耳朵能听到的声波频率为20Hz-20000Hz.当声波的振动频率小于20Hz或大于20KHz时,我们便听不见了.因此,我们把频 ...

  5. arduino超声波测距接线图详细_arduino——超声波测距仪(笔记)

    脉冲宽度测量函数 pulseIn() pulse 是脉搏的意思,音标[pʌls],怕了死,脉搏停了就死了.(记忆力越来越差了,只能采用一些特殊的方法记忆) pulseIn(pin,value,time ...

  6. Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法

    Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法 首先,我们来看一下Arduino UNO开发板的具体引脚排列,如下图所示, 再了解一下三色RGB LED模块,如下图所示 ...

  7. arduino步進電機_使用Arduino开发板控制步进电机

    all_connected.JPG (54.06 KB, 下载次数: 41) 2017-1-23 16:53 上传 目前为止,我还没有真正深入了解过电机,特别是步进电机. 最近我在计划一个项目,需要相 ...

  8. 基于arduino的校园灯光控制_使用Arduino和晶闸管(TRIAC)控制交流风扇的速度

    在许多基于Arduino的自动化项目中,使用开关或使用某种控制很容易打开或关断家用电器.但是在很多应用中,我们需要控制交流电源,例如,控制风扇的速度或灯的亮度.在这种情况下,将使用到PWM技术,因此在 ...

  9. 详解Arduino Uno开发板的引脚分配图及定义

    详解Arduino Uno开发板的引脚分配图及定义(重要且基础) https://www.cnblogs.com/Bruce_H21/p/11555605.html 首先开发板实物图如下: 在本篇文章 ...

最新文章

  1. 【Java并发编程】面试必备之线程池
  2. 属于哪种虚拟化类型_经络淤堵,疲乏无力?有3种疲劳类型,你属于哪种,快来自测一下...
  3. C/C++数组名与指针区别深入探索
  4. linux系统中查看gcc内置宏定义的命令方法
  5. 《面向对象程序设计课程学习进度条》
  6. ffmpeg添加到环境变量_Windows + MSVC环境编译ffmpeg
  7. 收藏 | 自监督视觉Transformer
  8. java中catalina.out_catalina.out 和 catalina.log 的区别和用途
  9. iOS开发中遇到的一些优化手段(即时更新)
  10. 2017年前端该学些什么(译)
  11. Polybase要求安装orcale jre 7更新 51或更高版本如何解决
  12. 2021-02-20
  13. 努比亚 N1 (Nubia NX541J) 解锁BootLoader 并刷入recovery
  14. 谈谈自我介绍与第一印象
  15. 期末前端web大作业——HTML+CSS+JavaScript仿京东购物商城网页制作(7页)
  16. PHP 垃圾回收机制
  17. Resultful API的拦截(过滤器——Filter)
  18. CLion 的 Debug 模式是怎么回事
  19. ESP32用Arduino编程实现CAN总线通讯
  20. 欢迎使小程序 mpvue vantweapp

热门文章

  1. Shell开发环境vim编辑器的配置文件vimrc的参数优化
  2. 弹弹堂服务器如何修改,弹弹堂端游服务端+手工弹弹堂游戏客户端+GM管理后台+附安裝构建实例教程...
  3. 【论文总结】LINE和DEEPWALK方法总结与比较
  4. Online Judge--在线测评程序分享
  5. DS18B20 Datasheet时序完全解读
  6. 使用C#开发ActiveX控件(新)
  7. 数字签名助力各行各业业务流程全程电子化
  8. 安卓手机安装Linux双系统,安卓+Win10双系统?这个可以有!
  9. 视频会议软件和设备怎么选?显示终端_拾音
  10. 女生人物的头发基础画法,人物的头发如何上色?