超声波测距仪编程_Micropython教程之TPYBoard 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 pyb
from pyb import Pin
from pyb import Timer
import upcd8544
from machine import SPI,Pin
Trig = Pin('X2',Pin.OUT_PP)
Echo = Pin('X1',Pin.IN)
num=0
flag=0
run=1
def start(t):
global flag
global num
if(flag==0):
num=0
else:
num=num+1
def stop(t):
global run
if(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 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
超声波测距仪编程_Micropython教程之TPYBoard DIY超声波测距仪实例演示相关推荐
- micropython做中继_超声波测距仪编程_Micropython教程之TPYBoard DIY超声波测距仪实例演示...
1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...
- micropython仿真器_Micropython教程之TPYBoard DIY超声波测距仪实例演示
1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...
- python can总线_MicroPython教程之TPYBoard v102 CAN总线通信
原标题:MicroPython教程之TPYBoard v102 CAN总线通信 0x00前言 CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是ISO国际标准化的串 ...
- micropython教程nucleo-f767zi开发板_Micropython教程之TPYBoard开发板制作电子时钟(萝卜学科编程教育)...
1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 什么是SPI接口. 3. 学习TPYBoard I2C接口的用法. 4. 学习LCD5110接线方法. 5. 设定时钟并将当前 ...
- Micropython教程之TPYBoard DIY金属探测仪实例演示(萝卜学科编程教育)
1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输入输出程序的设计方法. 3. 学习LJ12A3-4-Z/BX 金属接近开关的工作原理. 4. 硬件接线方法 ...
- Micropython教程之TPYBoard DIY电子时钟(萝卜学科编程教育)
1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 什么是SPI接口. 3. 学习TPYBoard I2C接口的用法. 4. 学习LCD5110接线方法. 5. 设定时钟并将当前 ...
- Micropython教程之TPYBoard开发板DIY智能温控小风扇(萝卜学科编程教育)
2019独角兽企业重金招聘Python工程师标准>>> 1.实验目的 1.?学习在PC机系统中扩展简单I/O?接口的方法. 2.?进一步学习编制数据输出程序的设计方法.?? ...
- Micropython教程之TPYBoard开发板驱动舵机教程(萝卜学科编程教育)
2019独角兽企业重金招聘Python工程师标准>>> 大家应该都看到过机器人的手臂啊腿脚啊什么的一抽一抽的在动弹吧...是不是和机械舞一样的有节奏,现在很多机器人模型里面的动力器件 ...
- Micropython教程之TPYBoardv102 DIY蓝牙智能小车实例
1.实验目的 1.学习在PC机系统中扩展简单I/O接口的方法. 2.进一步学习编制数据输出程序的设计方法. 3.学习蓝牙模块的接线方法及其工作原理. 4.学习L298N电机驱动板模块的接线方法. 5. ...
最新文章
- Excel 如何使某一列的值同时乘以某一个数
- Android开发——内存优化 图片处理
- Thinkphp怎样修改模板标签定界符
- 【Android 逆向】ART 脱壳 ( InMemoryDexClassLoader 脱壳 | DexFile 构造函数及相关调用函数 | Android 源码中查找 native 函数 )
- Deeplearning入门篇(2)
- python不带颜色的图形_python – 为什么seaborn pairplot中的kde子图中没有显示颜色?...
- 2019/12/11学习内容摘要(Linux系统用户与用户组管理①)
- 洛谷 P4300 BZOJ 1266 [AHOI2006]上学路线route
- 【英语学习】【Level 08】U05 Better option L5 A picture is worth a thousand words
- 计算机流水线作业员做什么,电子厂普通作业员的工作流程是什么
- Java中怎么控制线程訪问资源的数量
- 1032. Sharing (25)-PAT甲级真题
- elasticsearch 中文API 索引(三)
- Python + Selenium自动化测试
- 【无标题】解决谷歌浏览器最新chrome94版本CORS跨域问题
- malloc,calloc区别
- html网页嵌入shiny,用Shiny生态快速搭建交互网页应用
- VisualNet地税管网综合资源管理系统
- Unity实用小工具或脚本——读写Json工具
- 这些在 App Store 中找不到的 Mac 常用软件
热门文章
- 98-微服务项目的编写(下篇)
- linux 实验 ps,OS第1次实验报告:熟悉使用Linux命令和剖析ps命令
- wix图片导入设置_奇葩史的奇葩事 | [译]:WiX Toolset入门——内置的WixUI界面使用配置...
- Docker 介绍、安装、基础搭建 --01
- web 引入思源字体
- 单片机c语言 软件抗干扰,单片机软件抗干扰的几种常见方法
- python之会动的图片
- python decimal_实例详解Python模块decimal
- 【沙发管家】夏普电视怎么装软件?怎么才能看免费电影,电视直播?
- Michael Jackson Japanese Comic