
ESP32图传小车+遥控
简介
使用两个ESP32S3N16R8作为主控,一个搭载摄像头和电机作为小车部分,一个搭载240*320屏幕及摇杆按钮等作为遥控部分。外壳使用3D打印制作。通讯采用UDP通讯传输命令和图像。
简介:使用两个ESP32S3N16R8作为主控,一个搭载摄像头和电机作为小车部分,一个搭载240*320屏幕及摇杆按钮等作为遥控部分。外壳使用3D打印制作。通讯采用UDP通讯传输命令和图像。开源协议
:MIT License
描述
视频链接:
工程源码分析文档_链接
文档里记录了我制作ESP图传小车的学习过程,从有做图传小车的想法到项目落地,用了大概3个月的时间。
工程源码
源码里有我第一版的总代码,分为小车端和遥控端。其余代码为工程文档配套的分步骤代码。
ESP32图传小车 gitee 链接
编译环境:ESP-IDF 5.3.2
所用到的ESP32乐鑫组件库
遥控端(LCD显示端)
- espressif/esp32-camera: ^2.0.15 //摄像头组件
- espressif/esp_new_jpeg: ^0.6.1 //jpeg转RGB565
- espressif/knob: ^1.0.0 //编码器组件
- espressif/button: ^4.1.3 //按钮组件
- espressif/esp_lvgl_port: ^2.6.0 //LVGL接口组件
- espressif/esp_lcd_touch: ^1.1.2 //lvgl接口所依赖的组件
- LVGL接口组件,默认是调用的LVGL V9版本。如果需要切换需要在idf_component.yml文件里添加
- lvgl/lvgl: //LVGL用的版本。
version: ^8
public: true
小车端 (摄像头发送端)
- espressif/esp32-camera: ^2.0.15 //摄像头组件
- espressif/esp_lvgl_port: ^2.6.0 //LVGL接口组件
- espressif/esp_lcd_sh1107: ^1.1.0 //oled用组件
lvgl/lvgl:
version: ^8
public: true
项目简介
本项目是基于ESP32S3N16R8主控,实现无线图传和控制小车的运动,小车端搭载ov2640摄像头负责图像采集以及电机的运动控制。遥控端搭载ST7789驱动LCD屏,通过UDP接收小车端发送来的数据,并显示到LCD屏上。
项目功能
本设计是基于ESP32S3N16R8单片机设计的图传小车+遥控;小车部分有两个9g舵机,一个N30减速电机,电机驱动采用两路TB6612芯片,舵机一个负责转弯方向,一个负责摄像头方向,小车搭载一个OLED屏负责小车参数的调整,三个功能案件负责菜单的筛选;遥控部分,方向操控通过一个十字摇杆控制小车的速度和左右方向,按钮负责前进后退,编码器负责摄像头的方向,在LCD屏幕上会实时显示小车端发送回来的行驶速度和角度。
项目参数
小车端
- OLED屏显示小车行驶参数以及设置菜单。
- TB6612驱动N30减速电机正转反转和速度调节。
- s9g舵机,一个负责车轮前桥转向,一个摄像头的转向。
- 功能按钮,调节设置功能按钮。
- 供电采用两节18650进行串联,通过DC-DC降压到5v,给TB6612供电。单片机采用ASM1117转3.3V供电。


遥控端
- 采用ESP32S3作为主控
- 通过UDP接收小车端发送来的camera数据,解析后显示到LCD屏上。
- 屏幕采用ST7789驱动。显示小车端回传来的参数数据。
- 通过采集摇杆的ADC数据,控制小车的前桥转向和后桥速度。
- 功能按钮负责小车的前进后退菜单设置等功能。
- 正交编码器输出信号负责摄像头的俯仰角度,功能按键可以复位到设置角度。
- W2812灯珠用来显示运行状态。


原理解析(硬件说明)
小车端——Camera主板
- camera接线
ESP32S3N16R8上的camera接线和果云cam板接线一样

- 主控供电
主控供电采用ASM1117 5V转3.3V供电,摄像头供电由CX6206P芯片3.3v转1.2v和2.8v

- 电机驱动
采用TB6612电机驱动芯片,供电使用5v供电,引出两路输出,输入使用pwm调速,两个引进控制电机正反转。

*OLED调试屏
为了学习LVGL的OLED驱动,特意添加了按钮和OLED屏幕

遥控端
- 主控ESP32S3N16R8
剩余部分引脚未引出

- 下载电路
采用ch340c的一键下载电路


- LCD连接
lcd采用SPI通讯,ST7789驱动,排母连接,分辨率240*320

- 摇杆电位器
x方向自动回中,y方向不回中。电位器的电压值x方向代表小车前桥舵机的角度,y方向代表小车的速度。

- 编码器
编码器的滚动代表相机的俯仰角的值,可以做LCD上菜单选项用。

- 指示灯和功能按钮
预留功能按钮,控制小车的前进后退,做一些特定动作,灯作为指示灯和氛围灯用。

- 供电部分
供电采用3.7v锂电池供电,升压到5v后由AMS1117转成3.3v给单片机供电。

软件代码
后期我会把代码整理到github上,下面的程序是我的第一个程序,写的比较乱,还在整理中。
通过网盘分享的文件:ESP32_图传小车+遥控.zip
链接: https://pan.baidu.com/s/1_38IFinL9wnNBZxA4qK-yQ?pwd=bhx4 提取码: bhx4
小车端代码链接
遥控端代码链接(https://gitee.com/bob521yang/esp-image-transmission-car/tree/main/udp_rec_w把中文去了x28_)
注意事项
- 3D打印小车时,齿轮部分最好使用0.2的喷头,0.4的喷头也可以用,不过感觉没有0.2的好
- 车外壳部分在重新改进中
- 所有的程序我最开始是使用果云的esp32cam板和esp32s3板用面包板验证的。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










