您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關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. 控制四位數碼管顯示數字
(1)1、2、3、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
以上就是micropython中如何用單片機制作鞋碼匹配儀,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。