28圈.com

幼玩具嵌入式视频讲授这样上手最快从选硬件到烧录一次跑通全流程

幼玩具嵌入式视频讲授这样上手最快从选硬件到烧录一次跑通全流程

想把幼玩具加上屏幕、播个视频,,,,,,这事儿听着高级,,,,,,拆开看其实就是几块硬件加一段逻辑的事。。。。。。。。玩幼玩具嵌入式视频讲授,,,,,,最怕的不是不会写代码,,,,,,是卡在某个细节上半天找不到原因。。。。。。。。今天不绕弯子,,,,,,直接把这套流程的每一个坑都给你趟平了。。。。。。。。

先说结论:一块ESP32、一个1.8寸ST7735屏幕、一张TF卡,,,,,,就能跑起来最基础的视频播放。。。。。。。。整套下来成本不到五十块,,,,,,两周业余功夫足够玩领略。。。。。。。。?

选硬件这一步别贪便宜,,,,,,供电和屏幕驱动是关键

好多人上来就买最便宜的 ???? ???椋,,,,,了局不是屏幕花屏就是供电不稳。。。。。。。。幼玩具嵌入式视频讲授里,,,,,,硬件选择直接决定你后面要踩几多坑。。。。。。。。

ESP32选经典的DevKit V1版本就行,,,,,,把稳买带CP2102芯片的,,,,,,下载法式不容易掉线。。。。。。。。屏幕方面,,,,,,ST7735是入门首。。。。。。。。,,,,,资料多、驱动库成熟,,,,,,遇到问题搜一下就有答案。。。。。。。。别一上来就碰ILI9341或者带触摸的,,,,,,分辨率上去了,,,,,,内存和速度的压力也上去了,,,,,,新手容易挫败。。。。。。。。

TF卡 ???? ???橐盐妊〈缙阶坏模,,,,,ESP32是3.3V逻辑,,,,,,直接接5V ???? ???榛嵘找。。。。。。。。我见过太多人栽在这上面,,,,,,屏幕死活没反映,,,,,,其实是TF卡 ???? ???榘寻遄痈愎伊。。。。。。。。?

视频文件处置这步,,,,,,尺寸和帧率卡死了就别想流畅

视频文件不能直接抛进TF卡,,,,,,必须转成嵌入式能啃得动的体式。。。。。。。。幼玩具嵌入式视频讲授里,,,,,,最实用的是把MP4转成AVI,,,,,,分辨率压到160x128,,,,,,帧率节造在15fps以内。。。。。。。。

转换工具用体式工厂就行,,,,,,输出设置里视频编码选MJPEG,,,,,,音频直接不要。。。。。。。。由于ESP32的RAM和CPU就那么多,,,,,,你塞个高清视频进去,,,,,,它会直接罢工给你看。。。。。。。。

这里有个细节:每一帧的图片质量不要拉满,,,,,,85%左右就够了。。。。。。。。实测下来,,,,,,这个质量下画面观感和解码速度是最平衡的。。。。。。。。转换完看看文件夹大。。。。。。。。,,,,,一个十秒的视频或许在1-2MB之间,,,,,,这是正常领域。。。。。。。。?

代码烧录前,,,,,,先搞定库文件和引脚界说

这个环节是翻车沉灾区。。。。。。。。Arduino IDE里要装三个库:Adafruit_GFX、Adafruit_ST7735、TJpg_Decoder。。。。。。。。装完后别急着编译,,,,,,先查对引脚界说。。。。。。。。

官方库默认的引脚和国产 ???? ???槭笔倍圆簧。。。。。。。。你买的屏幕背面通常会印着接线图,,,,,,对照ESP32的引脚表逐一看明显。。。。。。。。CS接GPIO5,,,,,,DC接GPIO4,,,,,,RST接GPIO2,,,,,,BLK接3.3V。。。。。。。。SD卡的CS单独接GPIO13或GPIO15,,,,,,不能和屏幕共用。。。。。。。。

接线的时辰有个幼技巧:所有连线尽量短,,,,,,杜国线别超过10厘米。。。。。。。。线太长信号衰减,,,,,,屏幕上就会出现那种像素错乱的雪花点。。。。。。。。我之前就由于这个排查了整整一个晚上,,,,,,最后把线剪短,,,,,,问题直接隐没了。。。。。。。。?

烧录之后花屏或者白屏,,,,,,八成是初始化挨次错了

法式烧进去,,,,,,屏幕上出现乱码或者纯白,,,,,,别急着疑惑硬件坏了。。。。。。。。幼玩具嵌入式视频讲授里,,,,,,初始化挨次是个隐性门槛。。。。。。。。

正确流程是:先初始化SD卡,,,,,,再初始化屏幕,,,,,,最后打开视频文件循环读取。。。。。。。。挨次反了,,,,,,SD卡就读不到文件,,,,,,屏幕就只会显示一片空缺。。。。。。。;;;;;;;;褂懈鋈菀缀雎缘牡悖浩聊坏谋彻庖乓ザ郎栉叩缙绞涑觯,,,,,不然屏幕亮着但画面黑漆漆的,,,,,,像没通电一样。。。。。。。。

若是还是花屏,,,,,,试着降低SPI时钟频率,,,,,,从40MHz降到26MHz。。。。。。。。好多时辰是线材滋扰导致的,,,,,,降频以来就不变了。。。。。。。。这不算机能损失,,,,,,由于视频源的帧率自身就不高。。。。。。。。?

进阶玩法其实不难,,,,,,把传感器数据叠在画面上超酷

基础播放跑通以来,,,,,,能够试着在视频画面左上角叠一个帧数计数器,,,,,,或者把温湿度传感器的数据实时显示在屏幕下方。。。。。。。。这不算什么深邃技术,,,,,,就是在循环播放里多写两行绘造代码而已。。。。。。。。

主题思路是:视频画面是一张张图片往屏幕上贴,,,,,,而你画的文字相当于贴完图片后又盖了一层通明纸。。。。。。。。先贴图、再画文字,,,,,,挨次对了成效就出来了。。。。。。。。这样做出来的幼玩具,,,,,,就从一个纯播放器升级成了带数据处置能力的智能终端,,,,,,拿来当开学文章或者送给伴侣都很有面子。。。。。。。。?

幼玩具嵌入式视频讲授的乐趣就在这儿,,,,,,每一步操作都能看到即时反馈。。。。。。。。屏幕亮起来的那一刻,,,,,,之前烧掉的功夫全数值回来了。。。。。。。。别纠结代码风格,,,,,,别死磕效能优化,,,,,,先把流程跑通,,,,,,后面想怎么改都是你说了算。。。。。。。。

最后留个问题给你:若是要在视频播放的同时,,,,,,通过按键切换分歧视频文件,,,,,,该怎么改代码 ???? ???想领略这个,,,,,,你的幼玩具就真的“活”了。。。。。。。。?

[责任编纂:郑浩然]

为您推荐

热点文章

杰出视频

凤凰资讯官方微信
凤凰资讯官方微信
关注更多资讯
【网站地图】【sitemap】