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