咸鱼ZTMR实例—超声波测距

咸鱼ZTMR实例—超声波测距

主控板:ZTMR1.1python开发板

超声波模块
在这里插入图片描述

超声波模块工作原理
(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。
(2)模块自动发送 8 个 40khz的方波,自动检测是否有信号返回。
(3)有信号返回,通过 IO 口 ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。
VCC供 5V电源, GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四个接口端。

引脚说明

引脚 说明
VCC 5v
Trig 输出
Echo 输入
GND GND
# main.py -- put your code here!
import pyb
from pyb import Pin
from time import sleep_us,ticks_us

trig = Pin('A8',Pin.OUT_PP)
echo = Pin('A7',Pin.IN)
distance = 0
while True:	
	trig.value(1)
	sleep_us(20)
	trig.value(0)
	while echo.value == 0:
		trig.value(1)
		sleep_us(20)
		trig.value(0)
	if echo.value() == 1:
		ts = ticks_us()                 #开始时间
		while echo.value()==1:          #等待脉冲高电平结束
			pass
		te = ticks_us()         
		tc = te-ts				         #结束时间
		distance = (tc*170)/10000        #us(微秒) 1微秒等于一百万分之一秒(10的负6次方秒)
		print('distance',distance,'cm')  #距离计算 (单位为:cm)
	pyb.udelay(20)

串口工具查看效果
在这里插入图片描述

发布了166 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45020839/article/details/105482977
今日推荐