PCB设计william hill官网
直播中

bodasister

8年用户 632经验值
擅长:嵌入式技术 micropython 单片机 开发板
私信 关注
[讨论]

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)

测试,发现存在一点误差,还请大家多多指正。

` 1.jpg 2 (2).png

回帖(1)

王栋春

2017-12-25 10:51:07
学习了   好好感谢楼主分享
举报

更多回帖

发帖
×
20
完善资料,
赚取积分