0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用两个舵机为ESP32-CAM创建云台控制

科技观察员 来源:Next PCB 作者:Next PCB 2022-06-09 15:24 次阅读

这是个 ESP32 凸轮使用伺服系统的倾斜控制器

本文将向您展示如何使用两个舵机为 ESP32-CAM 创建云台控制。ESP32-CAM 是一款小型相机,可用于拍照和视频

伺服器用于平移和倾斜摄像机,同时还可用于创建安全摄像头、机械眼或您能想到的任何其他东西。我们还将向您展示如何使用 Web 界面来控制相机

第 1 步:所需材料

ESP32 凸轮模块

云台伺服组件

SG90 伺服电机

5V AC DC 适配器

面包板

跳线

第 2 步:用伺服电机组装倾斜套件

poYBAGKhn9SAQCWgAAYZ0SeDQ00047.png

这个完全组装的云台套件是使用两个伺服系统为您的项目提供最大运动范围的绝佳方式。

云台可以左右旋转 180° 左右,可以上下倾斜接近 150°。它还完全组装,包括两个微型伺服系统(SG-90 型)和一个 38 毫米 x 36 毫米的空间来安装相机。

您可以使用任何微控制器。它们适合想要让物体移动的初学者,云台是一种轻松的方式,可以让您在左右和上下运动中做出任何动作。

第 3 步:ESP32 摄像头模块

ESP32-CAM 是一款内置摄像头的开发板。它基于 ESP32 芯片,可用于拍摄高质量的静止图像和视频。ESP32-CAM 可以与各种传感器和外围设备连接,以创建强大的摄像头系统。

我们使用 ESP32-CAM 开发板来控制两个舵机,它们充当摄像机的云台机构。我们将首先编写代码来使用 Arduino IDE 控制伺服系统,

对于这个项目,我们将使用 SG90 舵机,它的最小脉冲宽度为 500 微秒,最大脉冲宽度为 2500 微秒,我们将为每个舵机使用 0 度到 180 度的范围。

伺服电机是一种可用于控制物体位置的电动机。伺服电机通常用于机器人应用中,以控制机器人手臂或腿的运动。伺服电机也用于无线电遥控飞机和汽车,以控制控制面的运动。

第 4 步:接线图

pYYBAGKhn9qATHlGAAFYLAe5T7Y784.png

接线图很清楚。您必须按照示意图将伺服电机引脚与 ESP32 引脚连接起来。示意图如上所示。

使用原理图连接所有部件。使用一块双面胶带将 ESP32-CAM 连接到云台。

第 5 步:设置 ESP32 开发板

poYBAGKhn9-AJz1uAANMgb7AT_E744.png

您可以使用 Arduino IDE 对相机模块进行编程。安装好开发环境后,可以打开它,为使用摄像头模组做准备。

1. 启动 Arduino IDE 并打开 Preferences 窗口。

2. 进入https://dl.espressif.com/dl/package_esp32_index。进入 Arduino IDE 的 File》Preferences》Additional Boards Manager URLs 字段。您可以添加多个 URL,并用逗号分隔它们。

3. 使用 OK 按钮关闭此窗口。从 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 步:测试

pYYBAGKhoG-AeHEgAAMKwi5Tt40337.png

安装摄像头模块,将您的 SD 卡插入摄像头的插槽,将那一小块橡胶推回,通过滑动背面的开关为摄像头供电,然后找到其独特的 IP 摄像头网络服务器。

我对这个小工具的最终结果非常满意。完成以后你也可以在任何场合将此小工具赠送给其他人。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 舵机
    +关注

    关注

    17

    文章

    239

    浏览量

    40388
  • ESP32
    +关注

    关注

    13

    文章

    896

    浏览量

    15806
收藏 人收藏

    评论

    相关推荐

    基于ESP32-CAM模块IP监控CCTV的人脸识别系统

    在本篇文章中,我们将主要介绍如何通过使用ESP32-CAM模块构建IP监控CCTV来创建人脸识别系统。 ESP32-CAM可以通过Wi-Fi托管视频流Web服务器,具有非常好的FPS(每秒帧数
    的头像 发表于 11-13 16:38 7754次阅读

    ESP32-CAM的学习使用方法

    记录ESP32-CAM的学习使用的是淘宝购买的安信可的模块,编程软件使用的Arduino。(本文记录个人学习,欢迎大佬们提提意见,帮助萌新学习,也希望能给其他人解决一些疑惑。)配置esp32的环境在左上的文件中首选项中添加附加开发板管理
    发表于 07-20 07:20

    ESP32-CAM高性价比温湿度监控系统是什么

    ESP32-CAM ArduinoIDE开发系列文章目录第一篇:ESP32-CAM高性价比WIFI图传方案快速入门教程第二篇:ESP32-CAM第一无线点灯程序第三篇:
    发表于 12-13 07:35

    ESP32-CAM ArduinoIDE开发

    ESP32-CAM ArduinoIDE开发系列文章目录第一篇:ESP32-CAM高性价比WIFI图传方案快速入门教程第二篇:ESP32-CAM第一无线点灯程序第三篇:
    发表于 12-16 07:01

    ESP32-CAM PIN与GPIO引脚对应关系

    0.前言基本上ESP32-CAM的测试也差不多了,下面放个合集,方便查找:1.【好奇心驱动力】ESP32-CAM定时拍照存储到SD卡2.【好奇心驱动力】ESP32-CAM PIN与GPIO引脚对应
    发表于 01-11 06:03

    ESP32-CAM使用Arduino编译烧录

    ESP32-CAM拍照输出jpeg,解码rgb565在tft屏显示ESP32-CAM使用Arduino编译烧录,STM32使用keil5编译。
    发表于 01-12 06:30

    基于ESP32-CAM的简易监控遥控车参考方案

    简单的监控 RC 机器人,带有 ESP32-CAM 和 Arduino Uno 模块,由任何智能手机上的网络浏览器控制ESP32-CAM 模块是一种廉价、低功耗的模块,但它为视觉
    发表于 08-03 14:59

    关于ESP32-CAM引脚使用问题

    ESP32-CAM在连接L298N模块做小车主控使用,模块本身的IO口也不是很多。如果加入舵机控制,又需要小车做PWM调整控制,这时就会难以兼顾到。板上本来有的IO口就有其它用途,各位
    发表于 12-22 16:11

    使用ESP32-CAM板访问网络

    在这个项目中,我们将使用ESP32-CAM板。 ESP32相机将托管视频流Web服务器您可以使用网络中的任何设备进行访问。
    发表于 04-06 11:45 42次下载
    使用<b class='flag-5'>ESP32-CAM</b>板访问网络

    ESP32-CAM高性价比温湿度监控系统配网与上网方案设计与实现

    的设计与实现第四篇:ESP32-CAM创建热点构成并发式DNS服务器第五篇:ESP32-CAM高性价比温湿度监控系统第六篇:ESP32-CAM高性价比温湿度监控系统配网与上网方案设计与
    发表于 12-29 19:05 18次下载
    <b class='flag-5'>ESP32-CAM</b>高性价比温湿度监控系统配网与上网方案设计与实现

    ESP32-CAM天线板资料免费下载

    ESP32-CAM天线板资料免费下载。
    发表于 02-21 15:09 12次下载

    esp32-cam入门资料

    esp32-cam入门资料
    发表于 06-10 15:33 17次下载

    使用ESP32-CAM构建人脸ID控制的数字门锁系统

    在本教程中,我们使用 ESP32-CAM 构建了一个人脸 ID 控制的数字门锁系统。
    发表于 08-08 15:53 4607次阅读
    使用<b class='flag-5'>ESP32-CAM</b>构建人脸ID<b class='flag-5'>控制</b>的数字门锁系统

    如何使用ESP32-CAM构建一个人脸识别系统

    在这个项目中,我们将使用 ESP32-CAM 构建一个人脸识别系统,该系统还可以通过识别未经授权的人的面部来作为 ESP32-CAM 安全系统。ESP32-CAM 是一款非常小的摄像头模组,采用
    发表于 08-22 16:35 1.4w次阅读
    如何使用<b class='flag-5'>ESP32-CAM</b>构建一个人脸识别系统

    什么是ESP32-CAM摄像头?

    ESP32-CAM是一款基于ESP32-S2 芯片,具有摄像功能的微型模组。同时配备了OV2640 摄像头、连接外设的GPIO,以及用于存储拍摄图像的microSD 卡。
    的头像 发表于 02-17 11:01 1.9w次阅读
    什么是<b class='flag-5'>ESP32-CAM</b>摄像头?