tpyBoard102超声波测距2.0--数据滤波_nutron-ma的博客-程序员秘密_超声波滤波

技术标签: ESP8266---micropython  

# main.py -- put your code here!
"""
超声波测距2.0新增:1.加上数据滤波程序,增加准确性
2020-1-2
"""
"""
原理:
(1)用IO口给TRIG触发测距,给最少10us的高电平信呈。
(2)模块自动发送 8 个 40khz 的方波,自动检测Echo是否有信号返回。
(3)Echo有信号返回,通过io输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。
"""
import pyb
from pyb import Pin
import time

Trig = Pin('Y2', Pin.OUT_PP)   #触发超声波模块发射超声波
Echo = Pin('Y1', Pin.IN)    #接收超声波信号

count = 0
distance_list = [0,1,2,3,4,5,6,7,8]

while True:
    # 给一个高电平触发信号维持20微秒,然后变成低电平
    Trig.value(1)
    time.sleep_us(20)
    Trig.value(0)
    while (Echo.value() == 0):   #如果没有收到信号,再触发一次,发射超声波
        Trig.value(1)
        time.sleep_us(20)
        Trig.value(0)
    if (Echo.value() == 1):     #如果接收到了信号
        ts = time.ticks_us()    #此时定下高电平的开始时刻
        while (Echo.value() == 1):  #如果还是高电平就不断地运行这段代码,直到高电平
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43328166/article/details/103897599

智能推荐

第二十章 幻读是什么,幻读有什么问题?_猿小羽的博客-程序员秘密

第二十章 幻读是什么,幻读有什么问题?CREATE TABLE `t` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, `d` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `c` (`c`)) ENGINE=InnoDB;insert into t values(0,0,0),(5,5,5),(10,10,10),(15,15,15),(20,20,20),(25,25,25)

kali搭建go语言环境__空_白_的博客-程序员秘密_kali安装go

目录1. 下载安装包2. 进行解压操作,如图所示3. 安装完成后,删除安装包4.将解压后的Go文件夹移动到 /usr/local/目录下5.配置Go语言环境变量1)写入环境变量2) 在/home目录下新建go目录(文件名随意),然后在go目录下分别新建三个目录:3) 设置GOPATH环境变量4) 使环境变量生效6.检验Go语言环境安装是否成功1. 下载安装包到官网下载Go语言安装包,如图示操作(官网可能需要梯子,没有的可以从国内相关网站下载)下...

HIVE优化系列(1)-- 自动合并输出的小文件_安静的技术控的博客-程序员秘密

小文件的缺陷我们就不说了,直接进入到正题.HIVE自动合并输出的小文件的主要优化手段为:set hive.merge.mapfiles = true:在只有map的作业结束时合并小文件,set hive.merge.mapredfiles = true:在Map-Reduce的任务结束时合并小文件,默认为False;set hive.merge.size.per.task = 25600...

示波器参数理解_【ql君】qlexcel的博客-程序员秘密_示波器参数详解

示波器的三个重要参数是:带宽、采样率、存储深度。1.带宽定义:示波器带宽的定义没有变,就是输入一个正弦波,保持幅度不变,增加信号频率,当示波器上显示的信号是实际信号幅度的70.7%(即3dB衰减)的时候,该对应的频率就等于示波器带宽。100MHz的带宽在测量100MHz的正弦波时,幅度会下降到原来的0.7,但是100mhz带宽的示波器不能测100mhz的方波,因为方波由基波和奇次谐

Tensorboard--模型可视化工具_小陈同学-陈百万的博客-程序员秘密_模型可视化工具

Tensorboard1.tensorboard in tensorflow1.1 tensorboard的启动过程1.2 tf.summary 可视化类型1.3 tf.summary 使用demo2.tensorboard in pytorch2.1 SummaryWriter 使用demotensorboard in tensorflow :tensorboard 是一套用于tensorflow训练过程可视化工具,能够可视化模型的结构,参数,损失函数等。最常用于记录训练过程中参数和损失函数值的变化,

随便推点

TIFF图像文件格式详解_smilestone322的博客-程序员秘密

该文转自:http://blog.csdn.net/dcraw/archive/2011/05/24/6443537.aspx 1 什么是TIFF? TIFF是Tagged Image File Format的缩写。在现在的标准中,只有TIFF存在, 其他的提法已经舍弃不用了。做为一种标记语言,TIFF与其他文件格式最大的不同在于除了图像数据,它还可以记录很多图像的其他信息。它记录图像

Linux usb子系统_杨Jun的博客-程序员秘密

一、USB协议基础知识  前序:USB概念概述  USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB)  USB2.0版本速度480Mbps(高速USB)。  USB 分为主从两大体系,一般而言, PC 中的 USB 系统就是作主,而一般的 USB 鼠标, U 盘则是典型的 USB 从系统。  USB主控制器这一块,我们至少要开发出 US

微信浏览器唤醒App_紫轩阁的博客-程序员秘密_微信浏览器打开app

实现效果如下图所示,顶部会有一个广告图,点击这个广告图,如果手机上已经安装了App,则直接打开,如果没有安装,则开始下载,如果在微信公众号中,则跳转应用宝第三方平台跳转。html<span @click="openAppClick" class="see-btn">打开APP</span>jsopenclient(){ let ua = navigator.userAgent.toLowerCase(); //config 配置文件 JS 传递

网络编程课堂笔记_diaowei6622的博客-程序员秘密

网络编程软件开发架构c/s架构c:客户端s:服务端b/s架构b:浏览器s:服务端手机端:好像C/S架构比较火,其实不然,微信小程序,支付宝第三方接口都类似于b/s架构目的都在于统一接口,聚集用户群pc端:b/s比较火本质:b/s架构本质也是c/s架构客户端与服务端概念服务端:24小时不间断提供服务,谁来我就服务谁...

Android 应用(7)——untrusted_app访问底层硬件_横山郡守的博客-程序员秘密_untrusted_app

参考链接:https://blog.csdn.net/Sunxiaolin2016/article/details/91039775https://blog.csdn.net/scottmvp/article/details/115871037背景:用户自行开发的app需要访问底层serial port。我们开发的app在SELinux(或SEAndroid)中分为主要三种类型(根据user不同,也有其他的domain类型):1)untrusted_app 第三方app,没有Android平台签名

单元测试小记_markix的博客-程序员秘密

工具Junit:测试框架Mockito:模拟框架(模拟数据、模拟方法…)https://site.mockito.orgPowerMock:更强大的模拟框架(支持模拟静态方法、私有方法…)https://github.com/powermock/powermockJaCoCo:代码覆盖率统计工具https://www.jacoco.org/jacoco/index.html使用使用Mockito比如要测试Service类,则需要将service类中的dao给mock掉。@Inje