站内搜索
发作品签到
专业版

TD3-带无线供电的移动小吊饰

工程标签

4.3k
0
0
5

简介

一个基于ESP32-S3R8和1.89寸QSPI屏幕的小吊饰,体验丝滑,还支持无线充电和磁吸接口充电,板载时钟芯片、六轴陀螺仪、压力传感器、无源蜂鸣器等,支持SDMMC的储存卡文件系统。

简介:一个基于ESP32-S3R8和1.89寸QSPI屏幕的小吊饰,体验丝滑,还支持无线充电和磁吸接口充电,板载时钟芯片、六轴陀螺仪、压力传感器、无源蜂鸣器等,支持SDMMC的储存卡文件系统。
基于ESP32物联网征集令

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2024-08-12 17:35:11更新时间:2024-08-13 16:50:29

描述

<h1>TD3-TouchDisplay3.0</h1> <p>一个基于ESP32-S3R8和1.89寸QSPI屏幕的小吊饰,体验丝滑,还支持无线充电和磁吸接口充电,板载时钟芯片、六轴陀螺仪、压力传感器、无源蜂鸣器等,支持SDMMC的储存卡文件系统。</p> <p><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/oshwhub/37a7624f92ff49bcb8865ee209507914.png" alt="" width="401" height="485" /><a title="早期B站介绍视频" href="https://player.bilibili.com/player.html?isOutside=true&amp;aid=1853047000&amp;bvid=BV1cp421R78N&amp;cid=1508688648&amp;p=1">早期B站介绍视频</a></p> <div>&nbsp;</div> <div>整体硬件厚度在15mm以内,内含一块300mah的锂电池,通过AXP173当电源原理,通过路径选择切换磁吸接口与无线供电。</div> <div>&nbsp;</div> <div><span style="font-size: 18pt; color: #e03e2d;"><strong>打板厚度选1.2mm</strong></span></div> <div>&nbsp;</div> <h3>无线供电</h3> <p>使用伏达的NU1680方案,最高支持5W的无限充电,基本上通过AXP173的充电速度限制不会让充电电流超过1A的,1680的外围元件对材质是有要求的,建议参考手册选择对应材质的阻容。</p> <h3>电源管理</h3> <p>使用的是老方案AXP173这块芯片,许多复刻的同学说这片子定制电压太多不好买,可以修改成我开源的单节锂电池充放电方案,只需要多写一路ADC采集方案即可。</p> <p><a title="锂电池购买链接:【淘宝】限时满20减2 https://m.tb.cn/h.gPwur8v7pjAurAq?tk=iaC63e7ytO5 MF6563 「3.7V聚合物锂电池对讲机故事机行车记录仪音箱通用大容量内置电池」 点击链接直接打开 或者 淘宝搜索直接打开" href="【淘宝】限时满20减2 https://m.tb.cn/h.gPwur8v7pjAurAq?tk=iaC63e7ytO5 MF6563 「3.7V聚合物锂电池对讲机故事机行车记录仪音箱通用大容量内置电池」 点击链接直接打开 或者 淘宝搜索直接打开" target="_blank" rel="noopener">锂电池购买链接:【淘宝】限时满20减2 https://m.tb.cn/h.gPwur8v7pjAurAq?tk=iaC63e7ytO5 MF6563 「3.7V聚合物锂电池对讲机故事机行车记录仪音箱通用大容量内置电池」 点击链接直接打开 或者 淘宝搜索直接打开</a></p> <p><strong>买402530!!!买402530!!!买402530!!!买不合适的放不去进去的</strong></p> <h3><strong>显示屏</strong></h3> <p>使用的是华夏彩的1.89寸QSPI屏幕,价格有点小贵目前暂时没有替代平,整个项目最贵的硬件是这块屏幕,屏幕的IC是GC9B71正好这个驱动在idf的例程当中,迁移十分方便,同时还是带触摸的例程,芯片也是一致的,不想用我提供的代码开发,可以自己尝试迁移。</p> <h3>磁吸供电</h3> <p>选磁吸供电的原因是可以很方便的做底座设计,并且磁吸供电的两个元件的模型已经建好了,需要的可以问我要。</p> <p>&nbsp;</p> <h2>开发配置</h2> <div><br /> <div>1. 基于 `esp-idf5.1.2`版本开发,后续可能会更换威更新的 idf 版本</div> <div>2. `lvgl`版本为 `8.3.11`,后续可能会升级到 `9`</div> <br /> <h4>环境配置</h4> <br /> <div>拉取下来的代码是不包含 `.vscode`文件夹的,需要打开一个 idf 示例项目,然后复制.`vscode`文件夹到项目根目录下即可,或者idf插件直接添加</div> <br /> <h4>目标板配置</h4> <div>1. 设置当前目标板:</div> <div>2. 选择当前的工作区</div> <div>3. 选择 `esp32s3`</div> <div>4. 选择 `via ESP-PROG`项</div> <br /> <h4>&nbsp;项目文件结构说明</h4> <br /> <div>&nbsp;</div> <div>├─components</div> <div>│ &nbsp;├─axp173 &nbsp; &nbsp; &nbsp; // AXP173电源管理驱动</div> <div>│ &nbsp;├─backlight &nbsp; &nbsp;// AW9364驱动</div> <div>│ &nbsp;├─beep &nbsp; &nbsp; &nbsp; &nbsp; // 蜂鸣器驱动</div> <div>│ &nbsp;├─bmp280 &nbsp; &nbsp; &nbsp; // BMP280驱动</div> <div>│ &nbsp;├─espressif__cmake_utilities</div> <div>│ &nbsp;├─espressif__esp_lcd_gc9b71</div> <div>│ &nbsp;├─espressif__esp_lcd_touch</div> <div>│ &nbsp;├─espressif__esp_lcd_touch_cst816s</div> <div>│ &nbsp;├─i2c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// I2C驱动</div> <div>│ &nbsp;├─lsm6ds3 &nbsp; &nbsp; &nbsp;// LSM6DS3驱动</div> <div>│ &nbsp;├─lvgl &nbsp; &nbsp; &nbsp; &nbsp; // LVGL</div> <div>│ &nbsp;├─pcf8563 &nbsp; &nbsp; &nbsp;// PCF8563驱动</div> <div>│ &nbsp;└─qmc5883l &nbsp; &nbsp; // QMC5883L驱动</div> <div>│</div> <div>├─docs</div> <div>│</div> <div>├─image</div> <div>├─main</div> <div>│ &nbsp; │ &nbsp;CMakeLists.txt</div> <div>│ &nbsp; │ &nbsp;main.c</div> <div>│ &nbsp; ├─HAL &nbsp; // 硬件抽象层提供硬件的接口</div> <div>│ &nbsp; ├─Model // 模型层主要处理数据,创建消息队列,创建采集任务</div> <div>│ &nbsp; └─View &nbsp;// mvvm结构中viewmodel层主要放生成的UI</div> <div>│ &nbsp;.gitignore</div> <div>│ &nbsp;CMakeLists.txt</div> <div>│ &nbsp;partitions.csv</div> <div>│ &nbsp;README.md</div> <div>│ &nbsp;sdkconfig</div> <div>│ &nbsp;sdkconfig.old</div> <div>│ &nbsp;sdkconfig.temp</div> <div>&nbsp;</div> <br /> <h4>flash download tools 烧录(不需要bin文件烧录请忽略)</h4> <br /> <div>1. 单独的 bin 文件烧录方式</div> <br /> <div>&nbsp; &nbsp;| bin &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 地址 &nbsp; &nbsp;|</div> <div>&nbsp; &nbsp;| -------------------- | ------- |</div> <div>&nbsp; &nbsp;| bootloader.bin &nbsp; &nbsp; &nbsp; | 0x0 &nbsp; &nbsp; |</div> <div>&nbsp; &nbsp;| partition-table &nbsp; &nbsp; &nbsp;| 0x8000 &nbsp;|</div> <div>&nbsp; &nbsp;| ota_data_initial.bin | 0xd000 &nbsp;|</div> <div>&nbsp; &nbsp;| TD3V2.0.bin &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 0x10000 |</div> <br /> <div>2. 合并的 bin 文件烧录方式</div> <div>&nbsp; &nbsp;| bin | 地址 |</div> <div>&nbsp; &nbsp;| -------------------- | ------- |</div> <div>&nbsp; &nbsp;| target.bin | 0x0 |</div> <br /> <div>3. SPIFlashConfiig</div> <div>&nbsp; &nbsp;| 配置项 | 选项 |</div> <div>&nbsp; &nbsp;| --------- | ----- |</div> <div>&nbsp; &nbsp;| SPI SPEED | 80MHz |</div> <div>&nbsp; &nbsp;| SPI MODE | DOUT |</div> <br /> <div>4. 烧录后手动关机重启即可</div> <br /> <h4>页面管理框架的介绍</h4> <br /> <div>这个页面管理框架是我从老的 TD3-App 项目移植过来的,原项目基于 Arduino 平台开发,所以使用的是 c++,但是 idf 是 c 的,虽然 idf 支持 c++混编但是太麻烦所以改成 c,失去了类跟命名空间。</div> <br /> <h4>如何添加页面</h4> <br /> <div>1. 在 `main\View\Pages`目录下新建你的页面文件夹,文件夹包含 xxx.c 文件和 xxx.h 文件,xxx 为你的页面名。</div> <br /> <div>其中.c 文件需要遵循标准模板如下:</div> <br /> <div>&nbsp;</div> <div>#include "Setting.h"</div> <br /> <div>PageType *Setting;</div> <br /><br /> <div>static void Created()</div> <div>{</div> <br /> <div>&nbsp;</div> <div>}</div> <br /> <div>static void Update(void)</div> <div>{</div> <div>}</div> <br /> <div>static void Destroy(void)</div> <div>{</div> <div>&nbsp; if (lv_obj_is_valid(Setting-&gt;PageContent))</div> <div>&nbsp; {</div> <div>&nbsp; &nbsp; lv_async_call(lv_obj_clean, Setting-&gt;PageContent);</div> <div>&nbsp; }</div> <div>}</div> <br /> <div>static void Method(void *btn, int event)</div> <div>{</div> <div>}</div> <br /> <div>void Setting_Init()</div> <div>{</div> <div>&nbsp; Setting = lv_mem_alloc(sizeof(PageType));</div> <div>&nbsp; strcpy(Setting-&gt;name, "Setting");</div> <div>&nbsp; Setting-&gt;show_status_bar = 1;</div> <div>&nbsp; Setting-&gt;BeforeEnter = NULL;</div> <div>&nbsp; Setting-&gt;Created = Created;</div> <div>&nbsp; Setting-&gt;Update = Update;</div> <div>&nbsp; Setting-&gt;Destroy = Destroy;</div> <div>&nbsp; Setting-&gt;Method = Method;</div> <div>&nbsp; Setting-&gt;PageContent = create_new_screen();</div> <div>&nbsp; Page_Register(*Setting);</div> <div>}</div> <div>&nbsp;</div> <br /> <div>只需要将文件中的全部 `Setting`替换成其他名字即可。</div> <br /> <div>.h 文件就比较简单,同样是将 Setting全部换成自己的,然后条件编译那里的大写 Setting也改掉就行。</div> <br /> <div>&nbsp;</div> <div>#ifndef SETTING_H</div> <div>#define SETTING_H</div> <br /> <div>#ifdef __cplusplus</div> <div>extern "C" {</div> <div>#endif</div> <br /> <div>#include "Page.h"</div> <br /><br /> <div>void Setting_Init();</div> <br /><br /> <div>#ifdef __cplusplus</div> <div>} /*extern "C"*/</div> <div>#endif</div> <br /> <div>#endif</div> <div>&nbsp;</div> <br /> <h4>优设标题黑取模文字内容</h4> <div>&nbsp;</div> <div>电池信息陀螺仪气压计储存卡实时时钟系统设置网络信息天气查询音乐蓝牙蜂鸣器配置串口数据上位机监控连接断开终端</div> <div>&nbsp;</div> <br /> <div>2. 修改 `main\CMakeLists.txt`添加 `"View/Pages/xxx"`其中 xxx 为你的页面目录名,至于为什么不写一个统一的 cmake 文件需要时遵循 idf 的项目标准,其实时不会,对就是&ldquo;不会&rdquo;。</div> </div> <p>&nbsp;</p>

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

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

附件

序号文件名称下载次数
1
1679a70535a9eb775573e34a422ad5ad.mp4
17
2
565e4efe1eeff1892c14f7ff6bfda248.mp4
22
3
BOM_主板_Schematic1_2024-05-27.xlsx
29
4
外壳.step
48
5
按钮.step
25
6
SD卡内容(将里边的文件复制到SD卡根目录下).zip
37
7
Gerber.zip
20
8
NU1680_Datasheet_V1.2.pdf
38
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

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

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

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航