原标题:Micropython进阶 | 如何用单片机制作鞋码匹配仪

非常简单的小制作,适合新手以及初学者 入门学习,也请各位大神多多指点。自己测了下稍微有些偏差,显示鞋码比我实际鞋码大了一号,各位大大有没有意见我改正下。下面是具体的制作过程和代码。

1.原理

鞋码匹配仪,利用超声波测距的原理。通过使用超声波遇到障碍返回的特性,计算超声波放出与返回的时间计算来测定障碍与超声波模块的距离。

鞋码匹配仪的固有大小已知,在脚放入时,大小会发生改变 使用已知距离对改变后的距离做差获得脚的尺寸,再通过尺寸与距离的转换得到正确的鞋码(此处使用标准鞋码)。

2. 所需元器件(某宝能买到 挺便宜的)

· 超声波模块 1个

· TPYBoard v102板子 1块

· 四位数码管 1个

· micro USB数据线 1条

· 杜邦线 若干3. 超声波模块工作原理

(1) 采用IO口TRIG触发测距,给最少10us的高电平信号。

(2) 模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回。

(3) 有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。

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

4. 控制四位数码管显示数字

(2)a、b、c、d、e、f、g、dp(h)是“段选”针脚,用法和1位数码管一致,用来显示具体的数值。

数码管(位选) TPYBoard v10x开发板 1 X3 2 X4 3 X5 4 GND(鞋码匹配用不到四位所以该脚拉低) 数码管(段选) TPYBoard v10x开发板 a X6 b X7 c X8 d Y9 e Y10 f Y11 g Y12 dp(h) 留空(此脚为小数点的控制脚悬空即可) 5. 接线图

6. 源代码 import pyb from pyb import Pin from pyb import Timer 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) sizecc = [35,36,37,38,39,40,41,42,43,44,45,46,47]#280-47 -5 while True: if(run==1): 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/1000*34000/2 print('Distance') print(distance,'mm') cc = (int)((distance-215)/5) if cc<0: cc=0 elif cc>12: cc=12 print(sizecc[cc],'cc') flag=0 run=0

*本文作者:bodasister,转载请注明来自FreeBuf.COM返回搜狐,查看更多

责任编辑:

micropython大小_Micropython进阶 | 如何用单片机制作鞋码匹配仪相关推荐

  1. micropython 进阶小实验 如何用单片机制作鞋码匹配仪

    2019独角兽企业重金招聘Python工程师标准>>> 非常简单的小制作,适合新手以及初学者 入门学习,也请各位大神多多指点.自己测了下稍微有些偏差,显示鞋码比我实际鞋码大了一号,各 ...

  2. Micropython进阶小实验 如何用单片机制作鞋码匹配仪

    非常简单的小制作,适合新手以及初学者 入门学习,也请各位大神多多指点.自己测了下稍微有些偏差,显示鞋码比我实际鞋码大了一号,各位大大有没有意见我改正下.下面是具体的制作过程和代码. 1.原理 鞋码匹配 ...

  3. 创意小发明:单片机制作电容电阻测量仪 (含C语言原源码,仿真文件与实物图)

    应一个读者的要求,用单片机单片机制作电容电阻测量仪 课题 电路元件参数RC测量电路的设计 设计要求: 测量仪的工作原理为:利用振荡电路,将电阻.电容的测量转变为与之成一定函数关系频率的测量,再利用单片 ...

  4. python鞋子_Micropython 鞋码匹配仪(标题图与内容无关)

    实物略low,不上图了哈哈.实测有一点点误差.下面是原理和代码. 鞋码匹配仪,利用超声波测距的原理.通过使用超声波遇到障碍返回的特性,计算超声波放出与返回的时间计算来测定障碍与超声波模块的距离. 鞋码 ...

  5. Tecplot进阶——如何用Tecplot制作一张满足论文投稿要求的图片

    如题,一两年前刚刚做Tecplot入门,满足自己基础的作图需求.之后投了自己的第一篇文章,Tecplot作为作图主力被大量使用.除了基础功能外,还有很多额外的操作被用到,这里进行一个简单的总结. 基础 ...

  6. 文字抖动_如何用PS制作故障风文字效果

    今天教大家如何用PS制作故障文字效果 1.首先我们新建一个1920X1080宽高文档,背景颜色为黑色,72分辨率 2.使用文字工具,这里我输入Photoshop,调整文字的大小和位置,如下图 3.右键 ...

  7. 如何用python制作动画_如何基于Python Matplotlib实现网格动画

    -1- 如果你对本文的代码感兴趣,可以去 Github (文末提供)里查看.第一次运行的时候会报一个错误(还没找到解决办法),不过只要再运行一次就正常了. 这篇文章虽然不是篇典型的数据科学类文章,不过 ...

  8. 如何用VB制作DLL文件

    1.新建一个ActiveX Dll,工程名字为vbmytestdll,类模块名字为mytestdll  2.类模块内容只有一个函数,主要返回DLL的HELLO WORLD  Public Functi ...

  9. 如何用PR制作GIF图(Premiere)

    如何用PR制作GIF 打开PR 将视频素材导入PR 双击刚刚导入的素材,在 源面板 预览素材内容 在 源面板 拖动进度条,按快捷键 I(入点) .O(出点) 进行粗剪 直接将 源面板 内粗剪过的视频拖 ...

最新文章

  1. 多线程:并发实现方法之J.U.C
  2. 【莫队】区间众数(Codeforces Round #716 (Div. 2) D)
  3. matlab矩阵 0,matlab zeros初始化为0矩阵
  4. 3 天撸了个数据中台出来,我飘了~
  5. 3-5Tensor创建编程实例
  6. Linux之whereis命令
  7. 关于RCP引用jar包的几个问题。
  8. 里氏替换原则_趣谈设计模式之里氏替代原则
  9. 办公技巧:分享100个Excel快捷键,值得收藏!
  10. c语言常量要const,C语言常量-C语言const-嗨客网
  11. Visual Studio Code启动时提示“Code安装似乎损坏。请重新安装。”、标题栏显示“不受支持”信息的解决办法
  12. 三网融合融什么融,团购网站团什么团【涂雅速涂】
  13. 如何搭建个人私有云盘
  14. 美团外卖前端可视化界面组装平台 —— 乐高
  15. 数据结构 | 十大排序超硬核八万字详解【附动图演示、算法复杂度性能分析】
  16. MC0101 冰雪大冒险
  17. linux加载模块失败,linux 第二次加载netlink模块时,内核创建sock失败
  18. parseInt() 函数的奇怪行为
  19. selenium+python 输入含有span标签的标题
  20. 如何在Excel中用单元格中的单个空格替换多个空格?

热门文章

  1. 数据结构里怎么只根据邻接表写出深度优先搜索和广度优先搜索序列
  2. DevpTips【golang】安装到测试
  3. vue 百度地图获取经纬度地址
  4. git在idea中的冲突解决(非常重要)
  5. java fx svg 图像 缩放 控件,支持调整SVG图像大小!Aspose.Imaging v19.11新功能示例演示!...
  6. (Win10+vs2017)配置OpenCV开发环境
  7. 自动控制原理7.7---离散系统的数字校正
  8. python生成递归json_python函数、递归、json模块操作
  9. 什么是嵌入式培养?要不要选嵌入式培养?
  10. 【技美百人计划】图形 4.4 抗锯齿概论