1.实验目的

  1. 学习在PC机系统中扩展简单I/O 接口的方法。
  2. 进一步学习编制数据输出程序的设计方法。
  3. 学习超声波模块的测距原理。
  4. 学习LCD5110接线方法
  5. 学习TPYboard控制超声波模块测距。

2.所需元器件

超声波模块一个
TPYBoard板子一块
5110LCD显示屏一个
数据线一条

详细教程请参考TPYBoard官网链接内容

3.超声波模块工作原理

(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。
(2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回。
(3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。

如下图接线,VCC 供 5V电源, GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四个接口端。

4.控制5110显示屏显示6x8字符

先看一下LCD5110针脚含义吧(注意:LCD5110的针脚有些不一样的)
TPYBoard的针脚与5110的针脚对应关系如下:
TPYBoard LCD5110 memo
————————————————————————————
# any Pin => RST Reset pin (0=reset, 1=normal)
# any Pin => CE Chip Enable (0=listen for input, 1=ignore input)
# any Pin => DC Data/Command (0=commands, 1=data)
# MOSI => DIN data flow (Master out, Slave in)
# SCK => CLK SPI clock
# 3V3 or any Pin => VCC 3.3V logic voltage (0=off, 1=on)
# any Pin => LIGHT Light (0=on, 1=off)
# GND => GND
还是看不明白的话,直接上针脚编号吧
TPYBoard LCD5110 memo
————————————————————————————
Y10 => RST Reset pin (0=reset, 1=normal)
Y11 => CE Chip Enable (0=listen for input, 1=ignore input)
Y9 => DC Data/Command (0=commands, 1=data)
X8 => DIN data flow (Master out, Slave in)
X6 => CLK SPI clock
VCC
Y12 => LIGHT Light (0=on, 1=off)
GND

接线ok后,并且导入font.py文件和upcd8544.py文件,编写main.py将测到的距离显示在5110显示屏上,运行main.py就ok了。(font.py和upcd8544.py可以从官网上下载,最后会告诉下载地址)。

5.源代码

import pyb
from pyb import Pin
from pyb import Timer
import upcd8544
from machine import SPI,PinTrig = Pin('X2',Pin.OUT_PP)
Echo = Pin('X1',Pin.IN)
num=0
flag=0
run=1
def start(t):global flagglobal numif(flag==0):num=0else:num=num+1
def stop(t):global runif(run==0):run=1
start1=Timer(1,freq=10000,callback=start)
stop1=Timer(4,freq=2,callback=stop)while True:if(run==1):SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK#DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)#CLK =>SPI(1).SCK  'X6' SPI clockRST    = pyb.Pin('Y10')CE     = pyb.Pin('Y11')DC     = pyb.Pin('Y9')LIGHT  = pyb.Pin('Y12')lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)Trig.value(1)pyb.udelay(100)Trig.value(0)while(Echo.value()==0):Trig.value(1)pyb.udelay(100)Trig.value(0)flag=0if(Echo.value()==1):flag=1while(Echo.value()==1):           flag=1if(num!=0):#print('num:',num)distance=num/10000*34000/2print('Distance')print(distance,'cm')lcd_5110.lcd_write_string('Distance',0,0)lcd_5110.lcd_write_string(str(distance),6,1)lcd_5110.lcd_write_string('cm',58,1)lcd_5110.lcd_write_string('This is a test of Distance',0,2)flag=0run=0

Python超声波测距仪制作教程相关推荐

  1. 2个Python学习网站制作教程

    最近次条总结了一些2个Python学习网站制作教程的一些核心技术,这里整理了下一些目录,分别是两个网站,大部分技术都在前端,熟悉前端的话直接可以查看网页源码对应去了解学习,这些教程重在理解思路,思路通 ...

  2. python小软件制作教程_[Python]手把手教程:Python制作番茄钟

    这篇文章是根据Udacity的免费课程 编程基础:Python所做的笔记,适合零基础学习Python 我们先了解这个番茄钟的概念,就是每隔一段固定的时间就提醒你休息一下,可能是播放一段音乐, 弹出一个 ...

  3. python可视化报表制作教程_如何使用Python快速制作可视化报表

    数据可视化能力已经越来越成为各岗位的基础技能.领英的数据报告显示,数据可视化技能在2017年中国最热门技能中排名第一. 就数据分析而言,可视化探索几乎是你正式进行数据分析的第一步,通过SQL拿到数据之 ...

  4. python利用thinker制作多页面切换的桌面应用实例教程

    本篇文章主要讲解,python利用thinker制作多页面的桌面实例教程.可以在一个主界面中相互进行切换和设置相关的表单信息,布局等方法 代码片段的实际效果 视频演示: python使用thinker ...

  5. 超声波测距仪设计制作

    一.硬件设计 在现实的生活生产中,测距的应用比较多,比如汽车倒车时到障碍物的距离.水塔中顶部到液面的距离等很多方面都需要使用到测距,伴随着电子技术的迅速发展,超声波的出现为测距提供了良好的实现方法,利 ...

  6. 超声波测距仪编程_简易超声波测距仪的制作

    没有进行补偿, 能达到简单应用的基本要求. 3 电路结构 根据超声波测距基本原理, 可 以设计出超声波测距系统的 组成框图如图 3- 1 所示. 3.1 单片机系统及显示电路 单片机用 P1.0 端口 ...

  7. 如何使用Arduino Uno开发板制作超声波测距仪

    测距仪是用于查找从点到最近障碍物的距离的设备.该装置使用超声波技术测量距离.您可以将它视为一种无障碍的电子卷尺,测量范围为2cm至400cm,精度为1cm. Arduino超声波测距仪的典型应用包括停 ...

  8. Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用)

    Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用).内有制作雷达扫描GIF图的源代码包含. ''' matplotlib雷达扫描 ''' ...

  9. chatgpt赋能python:Python平面图制作教程

    Python平面图制作教程 Python是一种高级编程语言,也是数据科学和机器学习领域中使用最广泛的编程语言之一.在数据可视化中,Python语言具有优秀的表现力和灵活性,可以为用户展示各种数据可视化 ...

最新文章

  1. dede列表分页php,dede列表页分页英文调用方法
  2. 指针数组概念 和 函数指针数组实战 和指针函数的概念和实战
  3. [download]-软件下载地址-百度网盘
  4. 27 | 案例篇:为什么我的磁盘I/O延迟很高?
  5. 调用cmd不显示黑框的方法
  6. 计算机的alu的作用,算术逻辑运算单元(ALU)的基本功能是什么 – 手机爱问
  7. How to Fix Git Push Time Consuming Issue in a Big Team?
  8. Android安全补丁程序下载,2017年一月win7安全补丁更新包官方下载-2017Win7安全更新补丁包64位下载-西西软件下载...
  9. 绿坝十年,儿童网络安全保护问题仍未解决
  10. 项目管理十大知识领域和47个过程
  11. 消除IBM P750小机上的黄色报警灯
  12. 创维电视安装第三方app
  13. pr2020视频剪辑出现闪烁抖动
  14. vue前端怎么导出图片_Vue将页面导出为图片或者PDF
  15. C#ObjectArx Cad将图形范围缩放至指定实体
  16. python 爬取数据(CBA所有球队数据) -爬虫
  17. 开关为什么要过零检测?内附带代码
  18. 电脑开机后鼠标右键点击桌面图标反应很慢,要等上1分钟左右右键内容才能出来怎么办?
  19. 等保测评--计算环境安全测评
  20. 微软官网服务器dns,域名系统 (DNS)

热门文章

  1. 用《饿狼传说》中的不知火舞女神来验证python模块中imshow()和show()的区别
  2. 从高德搁置O2O看BAT“圈地”
  3. 使用jSignature生成手写数字签名并保存为图片
  4. mysql的ole db 访问接口msdasql的数据源对象_数据库访问接口(ODBC,OLEDB,ADO)
  5. Chrome浏览器不重新加载css,js等静态文件
  6. 识读电路图,分析其功能
  7. 给VMWare Workstation添加永久磁盘
  8. 形而上学(亚里士多德)
  9. OpenSSL的安装与使用
  10. 微软的COM中GUID和UUID、CLSID、IID