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. 操控四位数码管显现数字
(1)1、2、3、4是“位选”针脚,用于操控详细哪一位显现。 (2)a、b、c、d、e、f、g、dp(h)是“段选”针脚,用法和1位数码管共同,用来显现详细的数值。
数码管(位选)TPYBoard v10x开发板1X32X43X54GND(鞋码匹配用不到四位所以该脚拉低)数码管(段选)TPYBoard v10x开发板aX6bX7cX8dY9eY10fY11gY12dp(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