Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >张高兴的 Windows 10 IoT 开发笔记:HC-SR04 超声波测距模块

张高兴的 Windows 10 IoT 开发笔记:HC-SR04 超声波测距模块

作者头像
张高兴
发布于 2018-05-18 07:52:33
发布于 2018-05-18 07:52:33
74500
代码可运行
举报
文章被收录于专栏:张高兴的博客张高兴的博客
运行总次数:0
代码可运行

  HC-SR04 采用 IO 触发测距。下面介绍一下其在 Windows 10 IoT Core 环境下的用法。

  项目运行在 Raspberry Pi 2/3 上,使用 C# 进行编码。

1. 准备

  HC-SR04 ×1 

  Raspberry Pi 2/3 ×1

  公母头杜邦线 ×4

2. 连线

Vcc - 5V

Gnd - GND

Trig - GPIO 17 - Pin 11

Echo - GPIO 27 - Pin 13

3. 代码

  GitHubhttps://github.com/ZhangGaoxing/windows-iot-demo/tree/master/HC_SR04Demo

  你需要在项目中添加一个 C# 代码文件 HCSR04.cs,将下面的代码复制粘贴,并且不要忘记添加引用 Windows IoT Extensions for the UWP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using System.Diagnostics;
using System.Threading.Tasks;
using Windows.Devices.Gpio;

namespace HC_SR04Demo
{
    class HCSR04
    {
        private int sensorTrig;
        private int sensorEcho;

        private GpioPin pinTrig;
        private GpioPin pinEcho;

        Stopwatch time = new Stopwatch();

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="trig">Trig Pin</param>
        /// <param name="echo">Echo Pin</param>
        public HCSR04(int trig, int echo)
        {
            sensorTrig = trig;
            sensorEcho = echo;
        }

        /// <summary>
        /// Initialize the sensor
        /// </summary>
        public void Initialize()
        {
            var gpio = GpioController.GetDefault();

            pinTrig = gpio.OpenPin(sensorTrig);
            pinEcho = gpio.OpenPin(sensorEcho);

            pinTrig.SetDriveMode(GpioPinDriveMode.Output);
            pinEcho.SetDriveMode(GpioPinDriveMode.Input);

            pinTrig.Write(GpioPinValue.Low);
        }

        /// <summary>
        /// Read data from the sensor
        /// </summary>
        /// <returns>A double type distance data</returns>
        public async Task<double> ReadAsync()
        {
            double result;

            pinTrig.Write(GpioPinValue.High);
            await Task.Delay(10);
            pinTrig.Write(GpioPinValue.Low);

            while (pinEcho.Read() == GpioPinValue.Low)
            {

            }
            time.Restart();
            while (pinEcho.Read() == GpioPinValue.High)
            {

            }
            time.Stop();

            result = (time.Elapsed.TotalSeconds * 34000) / 2;

            return result;
        }

        /// <summary>
        /// Cleanup
        /// </summary>
        public void Dispose()
        {
            pinTrig.Dispose();
            pinEcho.Dispose();
        }
    }
}

4. 如何使用

  第一步调用构造函数将 HCSR04 实例化,请传入 Trig 和 Echo 的连接值

  第二步调用 Initialize() 初始化设备

  第三步调用 ReadAsync() 读取数据,返回的是一个 double 类型的值

  当需要关闭设备时,调用 Dispose() 

  详见 GitHub

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-01-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于STM32的HC-SR04超声波测距模块实验
超声波测距是借助于超声脉冲回波渡越时间法来实现的。设超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为c,则从传感器到目标物体的距离D可用下式求出:D = ct/2,图 2是相应的系统框图。
用户8913398
2021/08/16
4.1K0
基于STM32的HC-SR04超声波测距模块实验
张高兴的 .NET Core IoT 入门指南:(二)GPIO 的使用
GPIO 是 General Purpose Input Output 的缩写,即“通用输入输出”。 Raspberry Pi 有两行 GPIO 引脚, Raspberry Pi 通过这两行引脚进行一些硬件上的扩展,与传感器进行交互等等。
张高兴
2019/02/26
1.6K0
张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器
  BH1750FVI 是一款 IIC 接口的数字型光强度传感器集成电路。下面介绍一下其在 Windows 10 IoT Core 环境下的用法。   项目运行在 Raspberry Pi 2/3 上
张高兴
2018/05/18
7220
基于STM32和HC-SR04模块实现超声波测距功能
本文用的单片机是STM32F103C8T6,超声波测距模块是HC-SR04,显示测距结果用的是0.96寸OLED屏模块。
zeruns
2022/11/11
2.3K0
基于STM32和HC-SR04模块实现超声波测距功能
张高兴的 Windows 10 IoT 开发笔记:串口红外编解码模块 YS-IRTM
This is a Windows 10 IoT Core project on the Raspberry Pi 2/3, coded by C#.
张高兴
2018/05/25
5880
张高兴的 Windows 10 IoT 开发笔记:串口红外编解码模块 YS-IRTM
张高兴的 Windows 10 IoT 开发笔记:FM 电台模块 KT0803L
This is a Windows 10 IoT Core project on the Raspberry Pi 2/3, coded by C#. GitHub:https://github.co
张高兴
2018/05/18
8450
张高兴的 Windows 10 IoT 开发笔记:无线收发芯片 nRF24L01
This is a Windows 10 IoT Core project on the Raspberry Pi 2/3, coded by C#. GitHub:https://github.co
张高兴
2018/05/18
6240
使用.NET IoT驱动超声波测距传感器
最近买的一堆传感器到货了,先来把玩一下超声波测距传感器。超声波传感器一般用于机器人,小车的避障,物体的测距,液位检测,停车检测等领域。
桑榆肖物
2022/11/18
6670
使用.NET IoT驱动超声波测距传感器
张高兴的 Windows 10 IoT 开发笔记:0.96 寸 I2C OLED
This is a Windows 10 IoT Core project on the Raspberry Pi 2/3, coded by C#. GitHub:https://github.co
张高兴
2018/05/18
7640
stm32f103+HC-SR04+ssd1306实现超声波测距
如果你经常做一些嵌入式设备,HC-SR04应该不陌生,一款便宜简单的超声波测距装置,可以应用在智能小车测距壁障,航模飞行器定高等。这篇文章简单讲解,通过一个示例来揉和。
秋名山码神
2023/11/07
3780
stm32f103+HC-SR04+ssd1306实现超声波测距
树莓派基础实验24:超声波测距传感器实验
   超声波传感器使用超声波来准确检测物体并测量距离。他发出超声波并将它们转换成电信号,主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场。
张国平
2020/09/27
2.3K0
张高兴的 Windows 10 IoT 开发笔记:使用 MAX7219 驱动数码管
This is a Windows 10 IoT Core project on the Raspberry Pi 2/3, coded by C#. GitHub:https://github.co
张高兴
2018/05/18
8350
win10 uwp iot 检测霜设计电路
这篇文章主要译: https://msdn.microsoft.com/magazine/mt694090 有很多都是胡说,随便喷,但我不会理。 https://blogs.msdn.microsoft.com/lucian 今天的科技行业最常用的短语之一就是“物联网”,物联网可以让每个设备使用云而智能。使用云,设备可以分享数据和控制别的设备。我们可以远程控制相机,远程收集分析数据。
林德熙
2018/09/18
8350
win10 uwp iot
            检测霜设计电路
STM32CubeMX-39 | 使用硬件定时器测算超声波模块数据(HC-SR04)
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的通用定时器外设,捕获超声波模块的距离信号。
Mculover666
2021/05/18
1.2K0
STM32CubeMX-39 | 使用硬件定时器测算超声波模块数据(HC-SR04)
4.9 51单片机-(HC-SR04)超声波测距模块
HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器、 接收器与控制电路。
DS小龙哥
2022/01/12
1.8K0
4.9 51单片机-(HC-SR04)超声波测距模块
基于单片机设计的超声波测距仪(采用HC-SR04模块)
本项目是基于单片机设计的超声波测距仪,主要采用了STC89C52单片机和HC-SR04超声波测距模块。通过LCD1602液晶显示屏来展示测量的距离信息。
DS小龙哥
2023/11/28
7850
基于单片机设计的超声波测距仪(采用HC-SR04模块)
张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号
  考虑到 Raspberry Pi 读取模拟信号是很烦人的事情,更何况是在没人玩的 Windows 10 IoT 下,所以准备正儿八经的写点东西。   需求:使用 Raspberry Pi 读取输出模拟信号的 MQ 系列气体传感器。(GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/ADS1115)    由于 Raspberry Pi 3B 内部并没有集成 ADC,因此需要外接 ADC 来进行模数转换。外接 ADC 选
张高兴
2018/05/18
1.5K0
在全志H616核桃派开发板上实现超声波传感器测距
超声波传感器是一款测量距离的传感器。其原理是利用声波在遇到障碍物反射接收结合声波在空气中传播的速度计算的得出。在测量、避障小车,无人驾驶等领域都有相关应用。
阿志小管家
2024/05/13
1320
在全志H616核桃派开发板上实现超声波传感器测距
超声波测距模块
硬件介绍 1.使用场景 超声波测距模块在平时做电子产品、机器人、智能设备中的应用里还是非常常用的,使用非常简单,但是代码的编写和理解其实并不容易,在这里想和大家交流一下。有不同的意见和建议可以给我留言或者私信我。 2. 工作原理
跋扈洋
2021/01/28
1K0
雷达测距和超声波测距_超声波测距的原理是什么
本实验是基于MSP430利用HC-SR04超声波传感器进行测距,测距范围是3-65cm,讲得到的数据显示在LCD 1602液晶屏上。
全栈程序员站长
2022/10/03
7930
雷达测距和超声波测距_超声波测距的原理是什么
推荐阅读
相关推荐
基于STM32的HC-SR04超声波测距模块实验
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验