2回答

1收藏

micropython TPYBoard v202 超声波测距

#开源分享 #开源分享 3594 人阅读 | 2 人回复 | 2017-12-25

micropython TPYBoard v202 超声波测距
实验目的
了解超声波模块工作原理
学习使用超声波模块测量距离
实验器材
TPYBoard v202 1块
超声波模块(HC-SR041
micro USB数据线 1
杜邦线 若干
超声波模块的介绍
实物图
工作原理
(1) 采用IOTrig触发测距,给最少10us的高电平信号。
(2) 模块自动发送 8 40khz 的方波,自动检测是否有信号返回。
(3) 有信号返回,通过 IO Echo 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2
硬件连接
TPYBoard v002超声波模块的接线图,如下:
TPYBoard v202
超声波模块(HC-SR04)
+5V
Vcc
G5
Trig
G4
Echo
GND
Gnd
程序源码如下:

  1. from machine import Pin
  2. import time
  3.   
  4. Trig = Pin(5,Pin.OUT)
  5. Echo = Pin(4,Pin.IN)

  6. while True:

  7.     Trig.value(1)
  8.     time.sleep_us(20)
  9.     Trig.value(0)
  10.     while(Echo.value()==0):
  11.         Trig.value(1)
  12.         time.sleep_us(20)
  13.         Trig.value(0)
  14.     if(Echo.value()==1):
  15.         ts=time.ticks_us()
  16.         while(Echo.value()==1):
  17.             pass
  18.         te=time.ticks_us()
  19.         tc=te-ts
  20.         distance=(tc*0.034)/2
  21.         print('Distance:',distance,'cm')
  22.     time.sleep(2)
复制代码
测试,发现存在一点误差,还请大家多多指正。

分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

风之山谷

发表于 2017-12-25 18:22:12 | 只看该作者

写得很认真,误差可能是模块的问题,又或者是反射物的材质的问题。
板凳

酥小小酥

发表于 2017-12-26 14:43:14 | 只看该作者

风之山谷 发表于 2017-12-25 18:22
写得很认真,误差可能是模块的问题,又或者是反射物的材质的问题。

多谢意见 回去再调试下
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条