ESP32简单实现新版HC 您所在的位置:网站首页 超声波传感器模块 ESP32简单实现新版HC

ESP32简单实现新版HC

2024-06-29 23:04| 来源: 网络整理| 查看: 265

一、新版HC-SR04简介

新版HC-SR04,性能远超老版HC-SR04,US-015;在测距精度高于老版HC-SR04和US-015的情况下,测距范围更 远,可达6米,远超一般超声波测距模块。采用CS-100A超声波测距SOC芯片,高性能,工业级,宽电压、低价格,成本击穿底价,只有普通超声波测距模块一半的价格,而性能远超普通超声波测距模块。性能与US-025A相同,均采用CS100A芯片,接口完全兼容。

新版HC-SR04

二、电路连接

ESP32HC-SR043V3VCCGPIO19TrigGPIO18EchoGNDGND

Fritzing连接图

三、MicroPython代码 from machine import Pin import time # echo脚会由0变为1,MCU开始计时,当超声波模块接收到返回的声波时,echo由1变为0,MCU停止计时, #定义IO口模式,以及初始状态 trig = Pin(19, Pin.OUT) echo = Pin(18, Pin.IN) trig.value(0) echo.value(0) cars = 0 #构建函数 def measure(): #触发超声波模块测距 trig.value(1) time.sleep_us(10) trig.value(0) #检测回响信号,为低时,测距完成 while(echo.value() == 0): pass #开始不断递增的微秒计数器 1 t1 = time.ticks_us() #检测回响信号,为高时,测距开始 while(echo.value() == 1): pass #开始不断递增的微秒计数器 2 t2 = time.ticks_us() #计算两次调用 ticks_ms(), ticks_us(), 或 ticks_cpu()之间的时间,这里是ticks_us() # 这时间差就是测距总时间,在乘声音的传播速度340米/秒,除2就是距离。 t3 = time.ticks_diff(t2,t1)/10000 #返回一个值给调用方,不带表达式的return相当于返回 None。 #这里返回的是:开始测距的时间减测距完成的时间*声音的速度/2(来回) return t3*340/2 result = measure() #try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理 try: if int(result)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有