網站首頁 趣味美術 生活小製作 兒童製作 親子互動 陶藝製作 傳統手工 民間手藝 歲月綻放 創意與設計

用網絡攝像頭快速搭建WIFI智能機器人小車手工電子DIY教程

欄目: 電子DIY / 發佈於: / 人氣:1.56W

用網絡攝像頭快速搭建WIFI智能機器人小車

在網上看到 蠻好玩的

主要材料

  1、網絡攝像頭   2、Arduino控制板
  3、電機驅動擴展板    4、Arduino穩壓板(爲了保證網絡攝像頭穩定的電源)
  5、10k電阻(端口上拉)及麪包線   6、小車底盤、( 2WD / 4WD)(含直流電機、電源)

所需工具:

  手

製作步驟:

第1步:

用網絡攝像頭快速搭建WIFI智能機器人小車 第2張

網絡攝像頭我是在網上買的凱聰(KaiCong)高清網絡監控攝像頭SIP1018。Arduino控制板使用的是DFRduino UNO R3。電機驅動使用的是L298P電機驅動擴展板。爲了保證攝像頭使用電壓的穩定,我沒有使用Arduino板上的5V電壓,而是單獨用了一個穩壓擴展板。該擴展板在小車調試前期可不用,直接用穩壓器給網絡攝像頭提供電源。小車底盤( 2WD / 4WD)是路虎5履帶底盤。最後找了一個直插的10k電阻,再準備一些麪包線,這樣所有的材料都準備好了。

第2步:

用網絡攝像頭快速搭建WIFI智能機器人小車 第3張

穩壓擴展板的使用很簡單,我們先來簡單介紹一下。如下圖的標識,將電池接到擴展板的輸入端子,輸入端子旁邊的兩個跳線帽要跳到PWRIN位置;然後調節輸出電壓微調電位器,用萬用表測量電源輸出端電壓使其穩定在5V;最後將網路攝像頭電源接口與擴展板電源輸出端連在一起。

第3步:

用網絡攝像頭快速搭建WIFI智能機器人小車 第4張

電機驅動板的使用大家可能都比較熟悉了,本人這裏再簡單提兩句。先要選擇控制方式,這個製作中使用的是PWM方式;再者就是連接直流電機,如下圖所示的連接端子。M1+和M1—連接一個直流電機,M2+和M2—連接另一個直流電機,電機驅動板佔用Arduino的4、5、6、7腳。

第4步:

用網絡攝像頭快速搭建WIFI智能機器人小車 第5張

最後我們重點來說一下Arduino控制板與網絡攝像頭的連接。在網上的那篇文章中作者用攝像頭公司提供的插件做了一個運行在PC端的軟件,以此來控制繼電器產生寬窄不一的脈衝。這裏我沒有采用這種方式,PC軟件的製作也不是誰都能完成的。本人採用的方式是直接用Arduino捕獲網絡攝像頭內控制步進電機的信號,拆掉了網絡攝像頭中左右轉的步進電機,用攝像頭本身左右旋轉的信號來控制小車的左右轉,而用繼電器的吸合來控制小車的前進與停止。

思路定下來之後,開始手拆網絡攝像頭。拆掉底蓋後就能看到網絡攝像頭的控制板,如下圖所示。

第5步:

用網絡攝像頭快速搭建WIFI智能機器人小車 第6張

導線引出後,我們合上網絡攝像頭的底蓋,來看看它背面的接口。如下圖所示,在攝像頭後面最中間的是天線接口,天線右側的4個I/O口就是報警輸出端口,4個I/O用1、2、3、4標識,其中1、2是報警輸出端口,分別接到了繼電器兩端,3爲報警輸入端口(此端口未用),4爲攝像頭內容電路的數字地。

第6步:

用網絡攝像頭快速搭建WIFI智能機器人小車 第7張

這3個I/O(不包括3號I/O)加上之前的A+和B+總共5條線,與Arduino的連接關係如下圖所示。連接網絡攝像頭內報警繼電器一端的2腳連到Arduino的GND,而連接繼電器另一端的1腳連到Arduino的9腳,同時在9腳加上10k的上拉電阻,這樣當繼電器未吸合時,9腳因爲上拉電阻,所以狀態爲高;而當繼電器吸合時,9腳接GND,所以狀態爲低。網絡攝像頭報警接口的4腳也要連接到Arduino的GND,以使網絡攝像頭控制板與Arduino共地。A+與B+分別連接到Arduino的2、3腳,這兩個腳如果連反了可以在程序中調整。

第7步:

用網絡攝像頭快速搭建WIFI智能機器人小車 第8張

步進電機的控制方式是不斷的變化A、B兩相上的電壓大小和電流方向,這樣在A+和B+上就會產生一串脈衝。使用示波器觀察我們發現,當發送左轉的命令時,首先在A+上產生脈衝,而當發送右轉的命令時,首先在B+上產生脈衝,效果如下圖所示。

第8步:

用網絡攝像頭快速搭建WIFI智能機器人小車 第9張

我們就利用A+、B+上的信號差異,以及繼電器的吸合來實現對小車的控制。Arduino端用到了外部中斷功能,2腳對應Arduino外部中斷0,3腳對應Arduino外部中斷1,詳細代碼如下:

/**********************************************
捕獲步進電機信號控制直流電機
使用Arduino的外部中斷

created 2013
by Nille

**********************************************/
int InterruptA = 1; //定義InterruptA 爲外部中斷1,也就是引腳3
int InterruptB = 0; //定義InterruptB 爲外部中斷0,也就是引腳2
volatile int state = 0; //定義state用來保存小車左右轉的狀態,
//1爲左轉,2爲右轉

void setup()
{
//2、3腳爲外部中斷0、1,用來捕獲A+、B+上的信號
pinMode(2, INPUT);
pinMode(3, INPUT);

//4、5、6、7用於控制直流電機
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);

//9腳用於檢測繼電器的狀態
pinMode(9, INPUT);

// 監視外部中斷輸入引腳的變化
attachInterrupt(InterruptA, stateInterruptA, FALLING);
attachInterrupt(InterruptB, stateInterruptB, FALLING);

}

void loop()
{
if(digitalRead(2) == LOW

第9步:

第10步:

第11步:

用網絡攝像頭快速搭建WIFI智能機器人小車 第10張

完成後的wifi小車上電工作正常後,如圖下圖所示。wifi小車的控制與網絡攝像頭的控制方式類似,打開電腦端的瀏覽器,在地址欄中輸入網絡攝像頭的IP地址(不確定IP地址的話可以使用產品中附帶的IP網絡攝像頭搜索軟件搜一下),我這裏的IP地址是。進入監控界面,就使用界面右側的按鈕來控制這部簡易的wifi小車。另外該攝像頭還有一個廠家分配的唯一域名,只要在我們的路由器端簡單配置就能夠實現廣域網條件下的小車控制了。

第12步:

用網絡攝像頭快速搭建WIFI智能機器人小車 第11張