国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

做一個激光測距測高儀

2015-06-05 01:37謝作如鄭一粟
中國信息技術(shù)教育 2015年5期
關(guān)鍵詞:顯示屏儀器激光

謝作如 鄭一粟

筆者做激光測距測高儀的想法源自一款用攝像頭作為測量工具的APP。這類APP的測量原理是根據(jù)手機、平板的攝像頭成像的比例關(guān)系,計算出測量距離和物體高度。例如,iPhone有款軟件叫“光學(xué)測距儀”,運行界面如圖1所示。

在使用過程中,筆者發(fā)現(xiàn)這類APP的操作其實還是比較麻煩的,因為需要參照物。如果要測量某頭頂某條梁的長度,或者屋頂離地面的高度,基于攝像頭的測量軟件幾乎是無能為力了。那么,有沒有其他的解決方案呢?于是,筆者與學(xué)生一起進行研究,最終基于激光的測距測高儀就這樣產(chǎn)生了。

● 原理

筆者準備使用激光作為測量工具,并非使用反射時間來計算。接下來要用到數(shù)學(xué)知識了。如果要測量物體P到物體T的距離,可以用這樣的辦法:如圖2所示,在物體P處找兩個點,如A、B,分別連接物體T的C點。這時,只要知道∠BAC(θ1)和∠ABC(θ2)的角度,以及AB線段的長度,就可以算出C點到AB的垂直距離L。

計算公式為:

只要能得到這兩個夾角的準確角度,就可以計算出物體離測量儀器的距離了。然后,是否還可以利用這樣的原理繼續(xù)得到物體的高度或者長度呢?(參見圖3)

如果在測量儀器上設(shè)置3個點。其中點1連接被測物體的一端A,點2和點3分別連接被測物體的另一段B。只要得到線段ab的長度及角度θ1、θ2和θ3的大小,便可以求出被測物的高度h以及測距儀器與被測物的水平距離x。

那么,連接測量儀器和被測物體的直線用什么來實現(xiàn)?毫無疑問,激光是最好的方案。因為激光具有定向發(fā)光、亮度極高的特點。只要把3個激光發(fā)射頭安裝在測量儀器上,手動調(diào)整其中兩束激光在被測物體的一個端點上重疊,另一束激光則發(fā)射在物體的另一端點。只要能確保測量儀器和被測物體之間是平行的,就能計算出距離和高度。

● 材料

根據(jù)上面的原理,要制作一個這樣的激光測距測高儀,大致需要如下材料。

1.微控制器

因為涉及計算,就需要用到一個小型的中央處理器。由于筆者僅是為了做出一個模型,所以就選擇了常見的Arduino。如果在意計算的精度,可以選擇樹莓派或者pcDuino之類的迷你電腦。

2.角度傳感器

角度傳感器的選擇是最重要的,因為要獲取精確的角度進行計算。牽一發(fā)而動全身,一點點的誤差,經(jīng)過計算放大后,誤差就很可怕了。在淘寶上常見的角度傳感器如圖4所示。

這種傳感器的旋轉(zhuǎn)角度最多只有300度,將5V電壓均分到每1度后,精度是相當(dāng)?shù)偷摹:髞砉P者又在淘寶上找到了多圈的精密角度傳感器(如圖5),才算初步解決了誤差的問題。

3.液晶顯示器

計算結(jié)果如果需要實時顯示,那么儀器上就需要液晶顯示屏,或稱LCD。因為儀器上僅僅需要顯示幾行字符,所以筆者選擇了標準1602液晶顯示屏(如圖6),兩行,每行顯示16個字符。

4.激光頭

激光頭利用的是低功率的可視激光,常見的激光指示器有紅光(655/635nm)、黃光(589/593nm)、綠光(532nm)、藍光(473/445nm)和藍紫光(405nm)等。起初,筆者把手頭的電子教鞭拆了,后來發(fā)現(xiàn)淘寶上有現(xiàn)成的激光頭賣(如圖7),筆者選擇了一款5V的,直接使用Arduino輸出的5V電流。需要注意的是,激光頭很危險,絕對不能用肉眼去看,建議調(diào)試的時候先不要給激光頭供電。

● 接線

1.角度傳感器的接線

角度傳感器接在Arduino的模擬口(如圖8),如果3個角度傳感器分別用跳線接入Arduino控制板會顯得很亂,于是筆者使用了一塊擴展板。

2.激光頭的接線

激光頭的電源直接從Arduino的5V和Gnd上接出。

3.顯示屏的接線

筆者使用的LCD是IIC/TWI接口的,用4根線連接到Arduino擴展板的專用接口即可(如圖9)。

● 編程

Arduino的代碼比筆者想象中簡單,其核心代碼如下頁表所示。

最終的測試效果如下頁圖10所示,顯示屏上第一行數(shù)據(jù)是傳感器的參考值,第二行數(shù)據(jù)分別是距離和高度,用“|”分開。例如,想要測量一堵墻的高度,筆者先要將測量儀器保持垂直,一束激光束(激光點一)射向墻的一端,另外兩束射向墻的另一端,按下按鈕,Arduino就可以實時計算,便可得到樹的高度和人與樹之間的距離了。

● 包裝

為了看起來像個作品,筆者使用雕刻機制作了激光頭和角度傳感器的連接件(如圖11)。當(dāng)然,用3D打印機打印也是可以的,只是當(dāng)時筆者的創(chuàng)客空間還沒有買3D打印機。

再用雕刻機做一個底板,固定這些儀器。3個激光頭排列在一起,看起來是不是很酷?旁邊一條四線的接口是預(yù)留給接LCD用的,圖12為整體效果。

再看看另一面的效果,雖然線有點多,但是并不是很亂(如圖13)。

這款儀器的使用步驟如下:①連接電池,保持儀器呈垂直狀態(tài);②打開電源,顯示屏若未正常顯示數(shù)字,請按下Arduino主板上的reset按鈕;③調(diào)節(jié)“下、中”激光,同時對準被測物體下端;④調(diào)節(jié)“上”激光,對準被測物體上端;⑤在顯示屏上將顯示X(測距儀與被測物之間的水平距離)與Y(被測物兩個端點之間的距離)。

● 優(yōu)化

正如一開始擔(dān)心的那樣,因為角度傳感器的精度問題,測量距離稍微遠一點的物體,誤差就很大了。因為如果距離一遠,角度傳感器上的1度,對應(yīng)的就是一兩米的距離。要解決這個問題,找精度很高的角度傳感器也無濟于事,因為調(diào)節(jié)激光頭給角度傳感器帶來的旋轉(zhuǎn)角度實在太小了。除非如圖14一樣,用齒輪組將激光頭的旋轉(zhuǎn)角度放大,然后給角度傳感器。

因為自己動手做齒輪組,誤差還是挺大,因此筆者還試著拆了一個塑料的直流電機變速箱。但是這樣一來,整個儀器的體積就要大很多,看來如果要實現(xiàn)做工精細并不是一件容易的事(如圖15)。

筆者還為這款儀器設(shè)計了一個外殼,如圖16所示。黑色是激光調(diào)節(jié)旋鈕,紅色按鈕是開關(guān)。僅僅是設(shè)計,但并沒有真正生產(chǎn)。

當(dāng)然,如果僅僅考慮演示用激光進行測距、測高的原理,筆者也已經(jīng)達到了探究的目的。其實這個作品原理還可以用于課堂教學(xué)。如果將角度傳感器的數(shù)據(jù)接入電腦,使用S4A或者Scratch2.0之類的軟件,教師可以直接使用這些數(shù)據(jù)進行教學(xué)或者驗證一些數(shù)學(xué)原理,如三角函數(shù)、相似三角形等知識,定然會有助于學(xué)生的學(xué)習(xí)。

如果對相關(guān)內(nèi)容感興趣,請關(guān)注主持人博客。

猜你喜歡
顯示屏儀器激光
2018年智能手表顯示屏出貨量同比增長42%
蒼蠅迷戀顯示屏
事出有因
LG申請歐盟商標 或布局MicroLED顯示屏
發(fā)明
激光3D長繩
不可忽視的化學(xué)儀器的創(chuàng)新使用
神奇的激光
電子書 等
儀器工作原理決定了儀器的讀數(shù)規(guī)則