【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
相关文章
|
4月前
|
机器学习/深度学习 人工智能 数据挖掘
Numba是一个Python库,用于对Python代码进行即时(JIT)编译,以便在硬件上高效执行。
Numba是一个Python库,用于对Python代码进行即时(JIT)编译,以便在硬件上高效执行。
|
4月前
|
监控 网络协议 安全
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
|
传感器 物联网 数据处理
【Python入门系列】第二十一篇:Python物联网和传感器应用
物联网和传感器在现代科技中扮演着重要的角色。物联网是指通过互联网连接各种设备和传感器,实现设备之间的通信和数据交换。传感器则是物联网的核心组成部分,用于感知和采集环境中的各种数据。在这篇文章中,我们将探讨使用Python开发物联网和传感器应用的主题。
571 0
|
传感器 人工智能 开发框架
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
239 0
|
传感器 监控 物联网
饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
207 0
|
传感器 编解码 Python
【HaaS Python硬件积木】空气质量检测模块 - CCS811
【HaaS Python硬件积木】空气质量检测模块 - CCS811
220 0
|
8天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
7天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
8天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
9天前
|
设计模式 算法 搜索推荐
Python编程中的设计模式:优雅解决复杂问题的钥匙####
本文将探讨Python编程中几种核心设计模式的应用实例与优势,不涉及具体代码示例,而是聚焦于每种模式背后的设计理念、适用场景及其如何促进代码的可维护性和扩展性。通过理解这些设计模式,开发者可以更加高效地构建软件系统,实现代码复用,提升项目质量。 ####
下一篇
无影云桌面