千家信息网

python怎么实现DIY超声波测距仪

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"python怎么实现DIY超声波测距仪"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"python怎么实现DIY超声波测距仪"文章能帮助大家解
千家信息网最后更新 2026年11月02日python怎么实现DIY超声波测距仪

这篇文章主要介绍"python怎么实现DIY超声波测距仪"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"python怎么实现DIY超声波测距仪"文章能帮助大家解决问题。

1.实验目的

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

2.所需元器件

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

3.超声波模块工作原理

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

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可以从官网上下载,最后会告诉下载地址)。。(萝卜学科编程教育tpyboard。com)

5.源代码

import pybfrom pyb import Pinfrom pyb import Timerimport upcd8544from machine import SPI,PinTrig = Pin('X2',Pin.OUT_PP)Echo = Pin('X1',Pin.IN)num=0flag=0run=1def start(t):    global flag    global num    if(flag==0):        num=0    else:        num=num+1def stop(t):    global run    if(run==0):        run=1start1=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 clock        RST    = 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=0        if(Echo.value()==1):            flag=1            while(Echo.value()==1):                           flag=1        if(num!=0):            #print('num:',num)            distance=num/10000*34000/2            print('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=0        run=0

关于"python怎么实现DIY超声波测距仪"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

超声 超声波 模块 针脚 学习 信号 方法 电平 测距仪 学科 时间 显示屏 知识 萝卜 接线 控制 教育 编程 输出 原理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳市人人互联网科技有限公司 科技金融是不是互联网金融 科技平台互联网 互联网电商科技 狮子座互联网科技有限公司 科技大学互联网专业好不好 广西拼得多互联网科技有限公司 安控科技rtu产品工业互联网 江苏南京365互联网科技 互联网教育科技公司vipkid 央行互联网金融科技公司 汽车互联网创新科技园 福建科技产业互联网发展 迪庆互联网科技招生 恒生互联网科技业指数调整周期 锡山区互联网智能科技产品供应 黑科技 体验场景 互联网大会 深圳互联网科技的发展 互联网相关科技技术 国产互联网科技公司 河南云网互联网络科技有限公司 合肥互联网科技公司 上海喔噻互联网科技 上游互联网科技 互联网科技大会案例 洛阳共同富裕互联网科技有限公司 互联网与数字科技关系 福建互联网展示科技馆设计 10位科技互联网大佬 优雇互联网科技有限公司
0