基于Arduino IDE的ESP32 CAM監(jiān)控機(jī)器人
掃描二維碼
隨時(shí)隨地手機(jī)看文章
之前我們用NodeMCU制造了一個(gè)Wi-Fi控制的機(jī)器人,這次我們給機(jī)器人安裝了攝像頭,使它成為一輛監(jiān)控機(jī)器人車。使用ESP32-CAM模塊可以輕松構(gòu)建這種網(wǎng)絡(luò)控制監(jiān)控車。除了ESP32-Camera模塊,這里我們將使用兩個(gè)帶有機(jī)器人底盤的直流電機(jī)和L293D電機(jī)驅(qū)動(dòng)模塊來構(gòu)建這個(gè)機(jī)器人汽車。ESP32是構(gòu)建基于物聯(lián)網(wǎng)的項(xiàng)目最受歡迎的電路板之一,在這里查看所有基于ESP32的物聯(lián)網(wǎng)項(xiàng)目。
AI-Thinker ESP32-CAM模塊配備了一個(gè)ESP32-S芯片,一個(gè)非常小的OV2640攝像頭和一個(gè)microSD卡插槽。MicroSD卡插槽可用于存儲(chǔ)從相機(jī)拍攝的圖像。這里將使用HTTP通信協(xié)議通過web瀏覽器接收來自O(shè)V2640攝像機(jī)的視頻流。網(wǎng)頁(yè)也將有按鈕移動(dòng)汽車在左,右,向前和反向,如上圖所示。
組件的要求
?ESP32-CAM
?FTDI程序員
?直流電機(jī)(2)
?電機(jī)司機(jī)(L293D)
?電池
此外,下載并安裝Arduino IDE以將其上傳到ESP32。
線路圖
ESP32-監(jiān)控?cái)z像機(jī)的所有連接如下:
ESP32-CAM沒有USB接口,需要FTDI板才能將代碼上傳到ESP32-CAM中。ESP32的VCC和GND引腳與FTDI板的VCC和GND引腳相連。ESP32的Tx和Rx與FTDI板的Rx和Tx相連。兩臺(tái)直流電機(jī)通過L293D模塊連接到ESP32上。模塊引腳連接ESP32的IO4、IO2、IO14和IO15引腳。
注:上傳代碼前,請(qǐng)先將IO0接地。IO0決定ESP32是否處于閃爍模式。當(dāng)GPIO 0連接到GND時(shí),ESP32處于閃爍模式。
我們用現(xiàn)成的機(jī)器人底盤、輪子和直流電機(jī)制造了一個(gè)機(jī)器人。我們使用電池為電機(jī)驅(qū)動(dòng)模塊和ESP32-CAM供電。這是我的監(jiān)控機(jī)器人的樣子:
在Arduino IDE上安裝ESP32板
我們將使用Arduino IDE對(duì)ESP32-CAM進(jìn)行編程。為此,我們必須在Arduino IDE上安裝ESP32附加組件。
要在Arduino IDE中安裝ESP32板,請(qǐng)轉(zhuǎn)到File> Preferences
現(xiàn)在復(fù)制并將其粘貼到“附加董事會(huì)管理器url”字段中,如下圖所示。然后,點(diǎn)擊“確定”按鈕:
現(xiàn)在轉(zhuǎn)到Tools > Board > Boards Manager
在板卡管理器中搜索ESP32并安裝“ESP32 by expressif Systems”。
代碼的解釋
這個(gè)ESP32監(jiān)控?cái)z像機(jī)總共有四個(gè)代碼文件,在項(xiàng)目結(jié)束時(shí)附上,也可以從這里下載。一個(gè)是相機(jī)和馬達(dá)的主代碼文件,另外三個(gè)代碼分別是網(wǎng)頁(yè)、相機(jī)索引和相機(jī)引腳。
通過包含頭文件和選擇正確的相機(jī)模型開始程序。在代碼中,定義了三種相機(jī)模型。取消您正在使用的相機(jī)模型的注釋。在這里,我們使用了ESP32自帶的AI思考者相機(jī)模型。
輸入網(wǎng)絡(luò)的Wi-Fi名稱和密碼。
ESP32的4個(gè)引腳4、2、14和15用于控制直流電機(jī)。
在真空設(shè)置回路內(nèi),啟動(dòng)串行監(jiān)視器并設(shè)置直流電機(jī)初始低電平。
使用給定的憑據(jù)連接到Wi-Fi并等待確認(rèn)
ESP32監(jiān)控機(jī)器人編程
要上傳代碼,請(qǐng)將FDTI板連接到筆記本電腦,并選擇“ESP32 Wrover模塊”作為板。同時(shí),根據(jù)下圖更改其他設(shè)置:
上傳代碼前,先按ESP32復(fù)位鍵,再點(diǎn)擊上傳按鈕。
注意:如果在上傳代碼時(shí)出現(xiàn)錯(cuò)誤,請(qǐng)檢查IO0是否連接到GND,并且在Tools菜單中選擇了正確的設(shè)置。
上傳代碼后,斷開IO0和GND引腳。然后打開串口監(jiān)視器,將波特率修改為115200。在按下ESP32復(fù)位按鈕后,它將在串行監(jiān)視器上打印ESP IP地址和端口號(hào)。
現(xiàn)在要訪問ESP32視頻流和汽車控制的網(wǎng)頁(yè),請(qǐng)導(dǎo)航到瀏覽器并輸入ESP IP地址。它會(huì)帶你到網(wǎng)頁(yè)。
在這里,你可以使用控制按鈕控制汽車,同時(shí)從網(wǎng)絡(luò)瀏覽器接收視頻流。
這是如何使用ESP32-CAM制作監(jiān)控機(jī)器人。完整的代碼和演示視頻如下。代碼文件夾具有四個(gè)代碼,其中第一個(gè)代碼用于ESP32和連接到ESP32的外設(shè);第二個(gè)代碼用于HTML網(wǎng)頁(yè),第三個(gè)代碼用于相機(jī)索引,第四個(gè)代碼用于相機(jī)引腳。
本文編譯自iotdesignpro