11
本文作者: 吳攀 | 2015-12-03 14:08 |
編者注:本項(xiàng)目編譯自Instructables,原作者是Tsartsanis,轉(zhuǎn)載請(qǐng)注明。
市面上銷(xiāo)售的可操控的監(jiān)控相機(jī)價(jià)格都挺高的,但實(shí)際上只需要一些舵機(jī)和一個(gè)網(wǎng)絡(luò)攝像頭,任何人都可以自己做一個(gè)網(wǎng)絡(luò)監(jiān)控相機(jī)。
所需硬件:
計(jì)算機(jī)(必須安裝Windows XP Service Pack2或更新版本的系統(tǒng))
Actobotics旋轉(zhuǎn)、傾斜結(jié)構(gòu)DDT560和DDT155
Hitec HS-625MG連續(xù)調(diào)制舵機(jī)和HS-5485HB舵機(jī)
Arduino Leonardo
USB攝像頭
面包板
線(xiàn)材、扎帶和螺絲等
所需軟件:
操作系統(tǒng):Linux Distro或Windows XP Service Pack 2或以上
Contacam,用于視頻監(jiān)控和圖像處理(只支持Windows)
遠(yuǎn)程控制接入軟件:Tight VNC或VNC或其它
對(duì)Linux用戶(hù)而言,需要安裝VLC,Arduino IDE,Process IDE 和Tightvnc。
對(duì)Windows用戶(hù)而言,需要安裝Contacam(也可使用VLC,但Contacam更好),Arduino IDE,Process IDE 和Tightvnc。
基座旋轉(zhuǎn)結(jié)構(gòu)DDT155的組裝工作非常簡(jiǎn)單,有條件的也可以選擇自己設(shè)計(jì)結(jié)構(gòu)單元。這里我們選用的舵機(jī)是Hitec HS-625MG連續(xù)調(diào)制舵機(jī),讓整個(gè)結(jié)構(gòu)能夠在水平上實(shí)現(xiàn)360度的旋轉(zhuǎn)。
(視頻教程第一部分)
(視頻教程第二部分)
只要實(shí)現(xiàn)了水平基座的360度旋轉(zhuǎn),要想實(shí)現(xiàn)對(duì)整個(gè)空間的監(jiān)控,就只需要素質(zhì)豎直方向的舵機(jī)具有180度的工作范圍即可。這里選用的是標(biāo)準(zhǔn)HS-5485HB舵機(jī)。
接下來(lái)將本結(jié)構(gòu)和基座安裝到一起,基本結(jié)構(gòu)方面就完成了。
將攝像頭組件固定到能夠豎直轉(zhuǎn)向的結(jié)構(gòu)上,根據(jù)你選擇的攝像頭的不同,可以選擇膠帶或螺釘進(jìn)行固定。
舵機(jī)的導(dǎo)線(xiàn)并不長(zhǎng),我們需要對(duì)其進(jìn)行延長(zhǎng)。這個(gè)工作并不復(fù)雜,說(shuō)明一下舵機(jī)的幾條導(dǎo)線(xiàn)的作用:
黃色導(dǎo)線(xiàn)是信號(hào)線(xiàn)(連接到Arduino的數(shù)字/模擬引腳)
紅色導(dǎo)線(xiàn)是電源線(xiàn)(連接到Arduino的5V引腳)
黑色導(dǎo)線(xiàn)是接地線(xiàn)(連接到Arduino的GND引腳)
這里可以用到一塊面包板,只要保證一塊Arduino能為兩個(gè)舵機(jī)提供電力即可。其中HS-625MG連續(xù)調(diào)制舵機(jī)的信號(hào)線(xiàn)連接到Arduino的第10腳,而HS-5485HB舵機(jī)則使用Arduino的第9腳。這兩個(gè)引腳是可以重新定義的,但修改的同時(shí)還需要調(diào)整相應(yīng)的代碼。
基座使用的是可以連續(xù)旋轉(zhuǎn)的舵機(jī),其旋轉(zhuǎn)速度由脈沖調(diào)制控制。因?yàn)槠湫D(zhuǎn)角度為360度無(wú)死角,所以其旋轉(zhuǎn)方向總是選擇旋轉(zhuǎn)角度較小的方向。
為了對(duì)基座的旋轉(zhuǎn)進(jìn)行更好的測(cè)試,我分別寫(xiě)了用于左轉(zhuǎn)和右轉(zhuǎn)的代碼,代碼非常簡(jiǎn)單,即讓轉(zhuǎn)動(dòng)結(jié)構(gòu)左轉(zhuǎn)或右轉(zhuǎn)5秒,然后暫停10秒。其中可以對(duì)函數(shù)myservo.write(89)的值進(jìn)行修改以調(diào)整基座旋轉(zhuǎn)的速度,比如可以改成myservo.write(86),可以看看是變快了還是變慢了。函數(shù)myservo.write(90)則是用于控制舵機(jī)的停止點(diǎn)。
將以上代碼逐個(gè)上傳到Arduino測(cè)試即可。
首先下載代碼sketch_servo_mouse_control.ino并將其上傳到Arduino。然后打開(kāi)Processing程序,將文件processing_single_servo_mouse.pde上傳;完成之后運(yùn)行此代碼,那么你會(huì)在計(jì)算機(jī)桌面上看到一個(gè)彈出的對(duì)話(huà)框,此時(shí)移動(dòng)鼠標(biāo)你能看到豎直轉(zhuǎn)動(dòng)結(jié)構(gòu)會(huì)發(fā)生相應(yīng)的運(yùn)動(dòng)。
將攝像頭連接到電腦。如果是Linux,按路徑Vlc --> Media --> Open capture device打開(kāi)攝像頭;如果是Windows,則按路徑Contacam --> Capture打開(kāi)攝像頭即可。
當(dāng)然,通過(guò)更多的網(wǎng)絡(luò)配置,你開(kāi)始通過(guò)遠(yuǎn)程的方式查看攝像頭的內(nèi)容。
到這里我們項(xiàng)目就基本上完成了,但是系統(tǒng)還是略有些臃腫,操作方式也較為復(fù)雜。事實(shí)上再配置上更復(fù)雜的代碼可以實(shí)現(xiàn)對(duì)目標(biāo)的跟蹤拍攝,也可以通過(guò)恰當(dāng)?shù)呐渲脤⒋讼到y(tǒng)用于網(wǎng)絡(luò)在線(xiàn)直播。
你有什么想法?不妨與我們分享。
2015-2016賽季全球創(chuàng)客馬拉松深圳大學(xué)站已經(jīng)開(kāi)始接受報(bào)名啦!關(guān)注“硬創(chuàng)邦”(微信號(hào):leiphone_bang),回復(fù)“深大”即可參與報(bào)名!而且,雷鋒網(wǎng)在未來(lái)三個(gè)月內(nèi)選一個(gè)合適的時(shí)間,在北上深選擇一個(gè)地點(diǎn),舉辦創(chuàng)馬“火星救援”專(zhuān)場(chǎng)!詳情可點(diǎn)此處了解。
此外還可加入全球創(chuàng)客馬拉松主群(群號(hào):259592983),參與我們的互動(dòng)討論~
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。