ESP32CAM 视频小车

简介


请添加图片描述

演示视频

开源esp32视频小车支持自动发现

这是最后一个可以轻松使用arduino ide编译的版本源码以打标签可在此下载压缩包https://gitcode.net/qq_26700087/esp32camcar/-/releases/0.0.3

当前的可以通过服务端远程操作的版本

esp32cam 4g远程小车

源码路径https://gitcode.net/qq_26700087/esp32camcar 对应标签0.0.3.1

所需原料

  • esp32Cam开发板带摄像头

    默认是ov2640,本文代码只支持ov2640。若更换了摄像头请修改src目录的下cam.cpp的摄像头初始化配置。

  • 电机驱动板:

    这里的代码测试过迷你超L298NL9110S两路电机驱动板,其它的两路电机驱动板也可尝试。

    由于esp32Cam的io被摄像头和sd卡槽大量占用,剩余的io有较多strapping 引脚,我们使用到strapping引脚去连接驱动板,而L9110S一旦上电,接收PWM输入的针脚会有反灌电压到MCU,而ESP系列芯片上电时会检测strapping管脚的电平状态来决定芯片的工作模式,所以反灌电压到strapping引脚产生不正确的电平状态导致无法启动。

    若只有L9110S可以实际使用中先将ESP32cam上电再将L9110S上电。

    更推荐前者迷你超L298N。(参考下图,大约售价在1.3 ~2元,不要买成更贵的还装了散热片那种,那种没有测试过当前代码)。

迷你超L298N

  • 供电:两节 18650电池

  • 18650电池座两节版本

  • 本文使用的小车底盘,含4个TT电机和轮子。但代码是两路的驱动的,鄙人使用两路驱动板驱动四个马达,动力层面是四驱的。

    此处可按自己喜好选用两路或者四路。

  • 杜邦线若干。

  • USB-TTL烧录器,或者ESP32-CAM专用的TTL烧录底座。

  • 天线可选

    在esp32s模组上有个天线接口,可以外接天线增加wifi效果,但注意天线接口附近有个0欧电阻,需要将其掉头连接外接天线或者去掉它用一坨锡代替连接外接天线。

  • 散热片可选

    大量传图芯片本身会较严重发热,而这个降压的电路比较简单,这里输入7.4v也会造成严重发热。

关于供电

L9110S的输入在 2.5 V~ 12 V

ESP32-CAM 的5V引脚不止可以输入5V。

官网可以看到原理图如下(也可以点击前面的链接跳转)。

在这里插入图片描述

可以看到ESPCAM上的AMS1117-3.3 模块的输入端是直连5V引脚的

AMS1117-3.3的输入范围 4.75~15V,官方建议ESP32CAM的5V引脚 至少5V 2A否则图片会有水纹。

因而为了简便供电,我们可以与 L298N或L9110S 的输入取一个并集。5 ~ 10V。虽然并联会分流,但这里使用两节18650输出7.4V,实测没有影响,因为不需要输入特别精准的电压。

当然此处还要考虑马达可以承受的电压。普通的TT电机说的是6V上限。不过我实测在两节18650电池输入,在L9110S的输出端接了四个TT马达并无异常。

接线

两种接线大同小异

  • 迷你超L298N

在这里插入图片描述

  • L9110S两路

Esp32CamCar接线图

有些L9110S标记的控制引脚可能与图中不一致,大体上按照两个IO控制一个电机接口的方式即可

注意:在esp32Cam启动之前将L9110S的VCC和GND与电源断开,否则会导致ESP32Cam无法启动。

代码

开发环境

不再累述,参考本人上一篇esp32cam 服务端远程视频方案中关于ardunio ide 准备esp32cam环境 以及 platformio 准备esp32cam 环境相关内容。

新建项目时请选择对应的开发板AI Thinker ESP32-CAM。platformio注意framework选择ardunio。

该教程将不再更新,请具体参考设备代码和安卓代码的readme ,因为每当新特性更新,教程就会过时。

以下内容已过时

代码路径

云逸之 / Esp32CamCar · GitCode :https://gitcode.net/qq_26700087/esp32camcar

点个star ⭐️,烧录不报错。

使用platformio的同学,注意源码中platformio.ini的已指定端口请按自己实际情况修改。
使用ardunio ide的同学,为了保险起见,可以将src目录下内容拷贝到一个新的目录,把main.cpp改名,main.ino或者其他以ino结尾的名字。
修改main.cpp 其中的wifi的ssid和密码以及上位机的ip.
但如果你使用手机热点,可能热点所在ip与以下的host值一致,而热点的ssid和密码可以设置,你也可以不用修改ssid和密码,重设手机热点wifi也行。查看热点所在的ip参考后文–安卓上位机项目中的readme.

const char* ssid = "test0";
const char* passwd = "12345687";

安卓上位机

该项目的发行版中有apk文件的压缩包可以下载云逸之 / Light Handler · GitCode
需要查看当前手机的ip可以,也可以借助该app。
本人使用手机开启2.4G(开热点时注意必须2.4G)的wifi热点,再使用esp32Cam连接该上位机,进行控制。这样可以方便在户外操作。
但软件对组网方式无限制,你依然可以使用无线路由器,然后esp32Cam和以及手机加入连接该路由器,然后进行控制。

猜你喜欢

转载自blog.csdn.net/qq_26700087/article/details/125525946