站内搜索
发作品签到
ESP32图传小车+遥控
专业版

ESP32图传小车+遥控

简介

使用两个ESP32S3N16R8作为主控,一个搭载摄像头和电机作为小车部分,一个搭载240*320屏幕及摇杆按钮等作为遥控部分。外壳使用3D打印制作。通讯采用UDP通讯传输命令和图像。

简介:使用两个ESP32S3N16R8作为主控,一个搭载摄像头和电机作为小车部分,一个搭载240*320屏幕及摇杆按钮等作为遥控部分。外壳使用3D打印制作。通讯采用UDP通讯传输命令和图像。
星火计划2025
复刻成本:200

开源协议

MIT License

创建时间:2025-06-17 20:50:30更新时间:2025-11-27 09:52:39

描述

视频链接:

ESP32图传小车 第一版

工程源码分析文档_链接

文档里记录了我制作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供电。

image.png

3d2f0a8240d922e7b7415973cd9f654.jpg

遥控端

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

image.png

140a860884a1df4e6d298645a09162d.jpg

原理解析(硬件说明)

小车端——Camera主板

  • camera接线
    ESP32S3N16R8上的camera接线和果云cam板接线一样

image.png

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

image.png

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

image.png

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

遥控端

  • 主控ESP32S3N16R8
    剩余部分引脚未引出
    image.png
  • 下载电路
    采用ch340c的一键下载电路

image.png

image.png

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

image.png

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

image.png

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

image.png

  • 指示灯和功能按钮
    预留功能按钮,控制小车的前进后退,做一些特定动作,灯作为指示灯和氛围灯用。
    image.png
  • 供电部分
    供电采用3.7v锂电池供电,升压到5v后由AMS1117转成3.3v给单片机供电。
    image.png

软件代码

后期我会把代码整理到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

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
遥控.x_t
205
2
车体.x_t
233
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航