【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
相关文章
|
9月前
|
传感器 物联网 数据处理
【Python入门系列】第二十一篇:Python物联网和传感器应用
物联网和传感器在现代科技中扮演着重要的角色。物联网是指通过互联网连接各种设备和传感器,实现设备之间的通信和数据交换。传感器则是物联网的核心组成部分,用于感知和采集环境中的各种数据。在这篇文章中,我们将探讨使用Python开发物联网和传感器应用的主题。
398 0
|
12月前
|
传感器 人工智能 开发框架
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
ESP32 + Python 还不知道怎么垃圾分类? 用HaaS DIY一个智能垃圾桶吧
173 0
|
12月前
|
传感器 监控 物联网
饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿
157 0
|
12月前
|
传感器 编解码 Python
【HaaS Python硬件积木】空气质量检测模块 - CCS811
【HaaS Python硬件积木】空气质量检测模块 - CCS811
191 0
|
12月前
|
传感器 开发框架 芯片
【HaaS Python硬件积木】土壤湿度传感器
【HaaS Python硬件积木】土壤湿度传感器
136 0
|
12月前
|
传感器 开发框架 开发者
【HaaS Python硬件积木】4路触摸电容模块-TTP224
【HaaS Python硬件积木】4路触摸电容模块-TTP224
143 0
|
2天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
2天前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python:编程的艺术与魅力
Python:编程的艺术与魅力
11 3
|
5天前
|
机器学习/深度学习 数据挖掘 API
pymc,一个灵活的的 Python 概率编程库!
pymc,一个灵活的的 Python 概率编程库!
13 1
|
5天前
|
人工智能 算法 调度
uvloop,一个强大的 Python 异步IO编程库!
uvloop,一个强大的 Python 异步IO编程库!
18 2