基于esp32cam摄像头的实时画面在tft彩屏的显示

1 篇文章 0 订阅
1 篇文章 0 订阅

目录

一、Arduino ide下载

二、更改ide显示文字模式

三、添加附加开发板地址

四、下载esp32的开发板。

五、下载GitHub源文件。

六、下载库文件。

七、更改User_Setup.h文件内容

八、烧录程序。

PS:前段时间刚刚拿到一个带摄像头模块的esp32开发板,基于博主是一个Arduino开发的小白,因为之前没有用过这款开发板加上不熟悉Arduino的开发模式,听身边的朋友说Arduino的开发很简单,但是开发的过程并不顺利。

本文基于一个小小白如何成功实现esp32cam在tft实时画面的显示的保姆级教程,请跟紧,如有错误,请指出。

先附带实物演示:

esp32cam在tft彩屏的实时显示

一、Arduino ide下载

       作为一个开发者,我们都知道要想驱动开发板及实现相应的功能,我们少不了一个写代码的工具,而本文使用的是Arduino ide,我们这里需要使用这个ide里面的库文件进行开发,这样就可以极大的缩短我们的开发周期了。

下载地址Software | Arduino

点击链接即可下载。

二、更改ide显示文字模式

        首先,我们打开Arduino ide ,首次打开可能是英文模式,本文讲解以中文模式讲解标注,如需更改软件语言可以参考博文:http://t.csdnimg.cn/XWbLE

三、添加附加开发板地址

打开Arduino IDE菜单 > 文件 >首选项,在 附加开发板管理器网址 输入框中,填入以下网址:
https://arduino.me/packages/esp32.json

四、下载esp32的开发板。

在左上角的菜单栏的“工具”选项卡下找到“开发板”选项卡,然后选择“开发板管理器”,进入面板后在搜索栏输入 esp32 

选择红色框框内容,点击下载。等待下载成功,这个过程可能比较久,有条件可以科学上网或者下载开发板的离线包,这样会比较快。

离线包参考链接:esp32_package_2.0.12_arduinome.exe官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

下载完以后直接运行.exe就行,会自动安装到相应环境。(因为开发板版本更替很快,可能你们安装的并不是最新版的,可能会落后几个版本,但是不影响基础开发使用,介意可在线下载最新即可)

安装完毕后重启ide即会显示esp32开发板安装成功

当我们插上开发板,再次重启ide之后就能在Arduino IDE菜单 > 文件 >示例中看到esp32的身影了。

五、下载GitHub源文件。

基于我们是二次开发,前面已经有很多牛人完成了我们所需要的功能,所以我们最快捷的方法就是学习牛人的代码,站在巨人的肩膀上才能走得更远。

tft彩屏显示的开源地址:https://github.com/vivian-ng/ESP32CAM_TFT

六、下载库文件。

将该文件下载后打开.ino文件。

打开文件以后,我们划到.ino文件的最上边,查看所有的include文件,将没有的库下载,可以通过编译输出的错误信息知道自己没有下载到哪些包。

可以通过库管理下载相应缺失的库。如下:

将相应的库文件下载完毕后我们的操作就可以完成80%啦!!!

七、更改User_Setup.h文件内容

在你的电脑找到以下路径的User_Setup.h文件

文件路径:xxx\Documents\Arduino\libraries\TFT_eSPI

第一步找到后打开User_Setup.h ,然后大概在47行左右,将其他的定义注释掉,使用ST7735_DRIVER定义。

第二步找到并启用

#define TFT_RGB_ORDER TFT_BGR

其他两个框框的是根据你所买的tft屏幕尺寸选择的,比如128*160,那就选用如下文代码。

往下引脚部分很重要!!!

记住是找对esp32的部分,大概在212行左右,改成你的esp32cam与tft连接的引脚

更改完成后保存文件!!!

八、烧录程序。

终于到了最最后的一步,就是将程序烧录进去,等你将程序烧录进去,tft就能显示你的摄像头画面啦!!!

void showingImage(){
  camera_fb_t *fb = capture();
  if(!fb || fb->format != PIXFORMAT_JPEG){
    Serial.println("Camera capture failed");
    esp_camera_fb_return(fb);
    return;
  }else{
    TJpgDec.drawJpg(0,0,(const uint8_t*)fb->buf, fb->len);
    esp_camera_fb_return(fb);
  }
}



void loop() {
  buttonEvent();
  showingImage();
}

本文到此结束,希望能解决大家的困难,如有错误之处,评论区留言相互学习!

  • 35
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

7-nj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值