溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

micropython中如何用單片機(jī)制作鞋碼匹配儀

發(fā)布時(shí)間:2021-12-22 13:36:36 來(lái)源:億速云 閱讀:135 作者:柒染 欄目:互聯(lián)網(wǎng)科技

本篇文章給大家分享的是有關(guān)micropython中如何用單片機(jī)制作鞋碼匹配儀,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

自己測(cè)了下稍微有些偏差,顯示鞋碼比我實(shí)際鞋碼大了一號(hào),各位大大有沒有意見我改正下。下面是具體的制作過(guò)程和代碼。

1.原理

鞋碼匹配儀,利用超聲波測(cè)距的原理。通過(guò)使用超聲波遇到障礙返回的特性,計(jì)算超聲波放出與返回的時(shí)間計(jì)算來(lái)測(cè)定障礙與超聲波模塊的距離。

鞋碼匹配儀的固有大小已知,在腳放入時(shí),大小會(huì)發(fā)生改變 使用已知距離對(duì)改變后的距離做差獲得腳的尺寸,再通過(guò)尺寸與距離的轉(zhuǎn)換得到正確的鞋碼(此處使用標(biāo)準(zhǔn)鞋碼)。

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

· 超聲波模塊 1個(gè)

· TPYBoard v102板子 1塊

· 四位數(shù)碼管 1個(gè)

· micro USB數(shù)據(jù)線 1條

· 杜邦線 若干

3. 超聲波模塊工作原理

(1)采用IO口TRIG觸發(fā)測(cè)距,給最少10us的高電平信號(hào)。

(2)模塊自動(dòng)發(fā)送 8 個(gè) 40khz 的方波,自動(dòng)檢測(cè)是否有信號(hào)返回。

(3)有信號(hào)返回,通過(guò) IO 口 ECHO 輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速(340M/S))/2。

如下圖接線,VCC 供 5V電源, GND 為地線,TRIG 觸發(fā)控制信號(hào)輸入,ECHO 回響信號(hào)輸出等四個(gè)接口端。

micropython中如何用單片機(jī)制作鞋碼匹配儀

  4. 控制四位數(shù)碼管顯示數(shù)字

micropython中如何用單片機(jī)制作鞋碼匹配儀

micropython中如何用單片機(jī)制作鞋碼匹配儀

        (1)1、2、3、4是“位選”針腳,用于控制具體哪一位顯示。

        (2)a、b、c、d、e、f、g、dp(h)是“段選”針腳,用法和1位數(shù)碼管一致,用來(lái)顯示具體的數(shù)值。

數(shù)碼管(位選)

TPYBoard v10x開發(fā)板

1

X3

2

X4

3

X5

4

GND(鞋碼匹配用不到四位所以該腳拉低)

數(shù)碼管(段選)

TPYBoard v10x開發(fā)板

a

X6

b

X7

c

X8

d

Y9

e

Y10

f

Y11

g

Y12

dp(h)

留空(此腳為小數(shù)點(diǎn)的控制腳懸空即可)

5. 接線圖

micropython中如何用單片機(jī)制作鞋碼匹配儀

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

以上就是micropython中如何用單片機(jī)制作鞋碼匹配儀,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI