這是個 ESP32 凸輪使用伺服系統(tǒng)的傾斜控制器。
本文將向您展示如何使用兩個舵機為 ESP32-CAM 創(chuàng)建云臺控制。ESP32-CAM 是一款小型相機,可用于拍照和視頻。
伺服器用于平移和傾斜攝像機,同時還可用于創(chuàng)建安全攝像頭、機械眼或您能想到的任何其他東西。我們還將向您展示如何使用 Web 界面來控制相機
第 1 步:所需材料
ESP32 凸輪模塊
云臺伺服組件
SG90 伺服電機
面包板
跳線
第 2 步:用伺服電機組裝傾斜套件

這個完全組裝的云臺套件是使用兩個伺服系統(tǒng)為您的項目提供最大運動范圍的絕佳方式。
云臺可以左右旋轉(zhuǎn) 180° 左右,可以上下傾斜接近 150°。它還完全組裝,包括兩個微型伺服系統(tǒng)(SG-90 型)和一個 38 毫米 x 36 毫米的空間來安裝相機。
您可以使用任何微控制器。它們適合想要讓物體移動的初學者,云臺是一種輕松的方式,可以讓您在左右和上下運動中做出任何動作。
第 3 步:ESP32 攝像頭模塊
ESP32-CAM 是一款內(nèi)置攝像頭的開發(fā)板。它基于 ESP32 芯片,可用于拍攝高質(zhì)量的靜止圖像和視頻。ESP32-CAM 可以與各種傳感器和外圍設(shè)備連接,以創(chuàng)建強大的攝像頭系統(tǒng)。
我們使用 ESP32-CAM 開發(fā)板來控制兩個舵機,它們充當攝像機的云臺機構(gòu)。我們將首先編寫代碼來使用 Arduino IDE 控制伺服系統(tǒng),
對于這個項目,我們將使用 SG90 舵機,它的最小脈沖寬度為 500 微秒,最大脈沖寬度為 2500 微秒,我們將為每個舵機使用 0 度到 180 度的范圍。
伺服電機是一種可用于控制物體位置的電動機。伺服電機通常用于機器人應用中,以控制機器人手臂或腿的運動。伺服電機也用于無線電遙控飛機和汽車,以控制控制面的運動。
第 4 步:接線圖

接線圖很清楚。您必須按照示意圖將伺服電機引腳與 ESP32 引腳連接起來。示意圖如上所示。
使用原理圖連接所有部件。使用一塊雙面膠帶將 ESP32-CAM 連接到云臺。
第 5 步:設(shè)置 ESP32 開發(fā)板

您可以使用 Arduino IDE 對相機模塊進行編程。安裝好開發(fā)環(huán)境后,可以打開它,為使用攝像頭模組做準備。
1. 啟動 Arduino IDE 并打開 Preferences 窗口。
2. 進入https://dl.espressif.com/dl/package_esp32_index。進入 Arduino IDE 的 File》Preferences》Additional Boards Manager URLs 字段。您可以添加多個 URL,并用逗號分隔它們。
3. 使用 OK 按鈕關(guān)閉此窗口。從 Tools 》 Board 菜單打開 Boards Manager 并選擇正確的 ESP32 Cam 板。
第 6 步:上傳代碼
#define DUMMY_SERVO1_PIN 12 //We need to create 2 dummy servos.
#define DUMMY_SERVO2_PIN 13 //So that ESP32Servo library does not interfere with pwm channel and timer used by esp32 camera.
#define PAN_PIN 14
#define TILT_PIN 15
Servo dummyServo1;
Servo dummyServo2;
Servo panServo;
Servo tiltServo;
//Camera related constants
#define PWDN_GPIO_NUM 32
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 0
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 21
#define Y4_GPIO_NUM 19
#define Y3_GPIO_NUM 18
#define Y2_GPIO_NUM 5
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22
const char* ssid = "NowISeeYou";
const char* password = "12345678";
AsyncWebServer server(80);
AsyncWebSocket wsCamera("/Camera");
AsyncWebSocket wsServoInput("/ServoInput");
uint32_t cameraClientId = 0;
#define LIGHT_PIN 4
const int PWMLightChannel = 4;
const char* htmlHomePage PROGMEM = R"HTMLHOMEPAGE(
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
supported by Chrome and Opera */
}
.slidecontainer {
width: 100%;
}
.slider {
-webkit-appearance: none;
width: 100%;
height: 20px;
border-radius: 5px;
background: #d3d3d3;
outline: none;
opacity: 0.7;
-webkit-transition: .2s;
transition: opacity .2s;
}
.slider:hover {
opacity: 1;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 40px;
height: 40px;
border-radius: 50%;
background: red;
cursor: pointer;
}
.slider::-moz-range-thumb {
width: 40px;
height: 40px;
border-radius: 50%;
background: red;
cursor: pointer;
}
第 7 步:測試

安裝攝像頭模塊,將您的 SD 卡插入攝像頭的插槽,將那一小塊橡膠推回,通過滑動背面的開關(guān)為攝像頭供電,然后找到其獨特的 IP 攝像頭網(wǎng)絡(luò)服務器。
我對這個小工具的最終結(jié)果非常滿意。完成以后你也可以在任何場合將此小工具贈送給其他人。
-
舵機
+關(guān)注
關(guān)注
17文章
375瀏覽量
43213 -
ESP32
+關(guān)注
關(guān)注
26文章
1195瀏覽量
21780
發(fā)布評論請先 登錄
基于ESP32-CAM模塊IP監(jiān)控CCTV的人臉識別系統(tǒng)
ESP32-CAM高性價比溫濕度監(jiān)控系統(tǒng)是什么
ESP32-CAM ArduinoIDE開發(fā)
ESP32-CAM使用Arduino編譯燒錄
基于ESP32-CAM的簡易監(jiān)控遙控車參考方案
關(guān)于ESP32-CAM引腳使用問題
使用ESP32-CAM板訪問網(wǎng)絡(luò)
Arduino-IDE配置ESP32-CAM開發(fā)環(huán)境踩過的那些坑
ESP32-CAM高性價比溫濕度監(jiān)控系統(tǒng)配網(wǎng)與上網(wǎng)方案設(shè)計與實現(xiàn)
使用ESP32-CAM構(gòu)建人臉I(yè)D控制的數(shù)字門鎖系統(tǒng)
如何使用ESP32-CAM構(gòu)建一個人臉識別系統(tǒng)
什么是ESP32-CAM攝像頭?
如何使用兩個舵機為ESP32-CAM創(chuàng)建云臺控制
評論