【HaaS Python硬件积木】HCSR04超声波测距传感器

简介: 【HaaS Python硬件积木】HCSR04超声波测距传感器

来这里发现更多拿来即用的传感器

HaaS开发框架

HaaS积木方案,赋能生态开发者,让您快速找到自己需要的解决方案,硬件主板与外设,以及各种应用组件。

https://haas.iot.aliyun.com/solution/hardware


一、产品简介

  HC-SR04超声波传感器使用声纳来确定物体的距离,其工作原理类似与蝙蝠。测量范围从2厘米到450厘米,HC-SR04超声波传感器上配有超声波发射器和接收器两个模块。


  超声波测距传感器是数字接口类型,其基本工作过程如下:


发射器(触发引脚-Trig),发送信号 一段高频声音

当信号遇到一个物体时,它会被反射

然后发射器(回声引脚-Echo)接收该信号


引脚定义


VCC:DC-5V

Trig:触发(输入)

Echo:回声(输出)

GND:地

二、技术参数

电源:+ 5V DC

静态电流:<2mA

工作电流:15mA

有效角度:<15°

测距:2厘米 - 450厘米

分辨率:0.3厘米

测量角度:30度

触发输入脉冲宽度:10uS

尺寸:45mm x 20mm x 15mm

三、软件接口

超声波测距传感器HaaS Python驱动:下载地址


HCSR04(trigObj,echoObj) - 创建超声波传感器对象

函数原型

hcsr04Obj = HCSR04(trigObj,echoObj)


参数说明

参数 类型 必选参数? 说明

trigObj GPIO 是 GPIO配置输出,触发引脚,调用此函数前需确保trigObj对象已经处于open状态

echoObj GPIO 是 GPIO配置输入,测量引脚,调用此函数前需确保echoObj对象已经处于open状态

返回值

HCSR04对象成功,返回HCSR04对象;HCSR04对象创建失败,抛出Exception


示例代码

import hcsr04

from driver import GPIO

print("Testing HCSR04 ...")

echoDev = GPIO()

echoDev.open("echo")

trigDev = GPIO()

trigDev.open("trig")

hcsr04Dev = hcsr04.HCSR04(trigDev,echoDev)

输出

Testing HCSR04 ...

measureDistance() - 获取超声波测量的距离

函数功能:

获取超声波测量的距离


函数原型:

HCSR04.measureDistance()


参数说明:


返回值:

返回值为cm单位的距离值


示例:

import hcsr04

from driver import GPIO

import utime

print("Testing HCSR04 ...")

echoDev = GPIO()

echoDev.open("echo")

trigDev = GPIO()

trigDev.open("trig")

hcsr04Dev = hcsr04.HCSR04(trigDev,echoDev)

while True:             # 无限循环

   distance = hcsr04Dev.measureDistance()

   print(str(distance)+' CM')

   utime.sleep(1)      # 打印完之后休眠1秒

输出

Testing HCSR04 ...

34 CM

492 CM

四、接口案例

此使用实例在board.json中定义了名为IR的GPIO类型的对象。在Python脚本中执行一次获取IR人体红外传感器状态值并打印在日志中。


案例代码

{

 "name": "board-name",

 "version": "1.0.0",

 "io": {

   "trig": {

     "type": "GPIO",

     "port": 25,

     "dir": "output",

     "pull": "pullup"

   },

   "echo": {

     "type": "GPIO",

     "port": 26,

     "dir": "input",

     "pull": "pullup"

   }

 }

}


import hcsr04

from driver import GPIO

import utime

print("Testing HCSR04 ...")

echoDev = GPIO()

echoDev.open("echo")

trigDev = GPIO()

trigDev.open("trig")

hcsr04Dev = hcsr04.HCSR04(trigDev,echoDev)

while True:             # 无限循环

   distance = hcsr04Dev.measureDistance()

   print(str(distance)+' CM')

   utime.sleep(1)      # 打印完之后休眠1秒

输出

Testing HCSR04 ...

34 CM

492 CM

五、工作原理

超声波工作示意图


基本原理

采用IO口Trig触发测距,对Trig口输出至少10us的高电平

模块自动发送8个40Khz的方波,自动检测是否有信号返回

有信号返回,通过IO口Echo输出一个高电平,高电平持续的时间就是超声波从发送到返回的时间

测试距离 = (高电平持续的时间/声速340m/s)/2

时序原理

————————————————

版权声明:本文为CSDN博主「HaaS技术社区」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/HaaSTech/article/details/124864255

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5月前
|
机器学习/深度学习 人工智能 数据挖掘
Numba是一个Python库,用于对Python代码进行即时(JIT)编译,以便在硬件上高效执行。
Numba是一个Python库,用于对Python代码进行即时(JIT)编译,以便在硬件上高效执行。
|
5月前
|
监控 网络协议 安全
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
|
传感器 物联网 数据处理
【Python入门系列】第二十一篇:Python物联网和传感器应用
物联网和传感器在现代科技中扮演着重要的角色。物联网是指通过互联网连接各种设备和传感器,实现设备之间的通信和数据交换。传感器则是物联网的核心组成部分,用于感知和采集环境中的各种数据。在这篇文章中,我们将探讨使用Python开发物联网和传感器应用的主题。
589 0
|
传感器 人工智能 开发框架
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
253 0
|
传感器 监控 物联网
饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
215 0
|
传感器 编解码 Python
【HaaS Python硬件积木】空气质量检测模块 - CCS811
【HaaS Python硬件积木】空气质量检测模块 - CCS811
227 0
|
21天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
20天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
8天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
101 80
|
27天前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
134 59