专业版
#第九届立创电赛#【桌面温湿度计Ultra Pro】

创建时间:4个月前

533 1

描述

<div> <h3 style="line-height:1.8"> 1、项目功能介绍</h3> 0.96寸tft彩屏桌面温湿度计+网络对时的时钟+秒表+多彩呼吸灯</div> <div> <p style="line-height:1.8">Micropython编程,【零基础小白一天就能搞定】。</p> <p style="line-height:1.8">简化电路,减少耗时的焊接,可重复利用ESP32开发板,无论你用【立创的ESP32-S3】还是【ESP32-C3经典版】都可以实现。区别就在电路板上的一个短接位置(原理图中有说明)</p> <p style="line-height:1.8"> </p> <p style="line-height:1.8"> </p> <h3 style="line-height:1.8">*2、项目属性</h3> <hr> <p style="line-height:1.8"><span style="color:#95a5a6"><span style="font-size:14px">首次原创</span></span></p> <p style="line-height:1.8"> </p> <h3 style="line-height:1.8">3、开源协议</h3> <hr> <p style="line-height:1.8">GPL 3.0(未经作者授权,禁止转载)</p> <h3 style="line-height:1.8">4、硬件部分</h3> <hr> <p>最少只需要焊接2个贴片电阻,0个LED(采用单色led,不用使用选择开关,有简单按键功能可考虑用开发板上boot按键)。</p> <p>剩下的统统都是直插,就算是小白也能搞定焊接。</p> <p>使用0.96寸TFT屏驱动ST7735s,可插接SHT40/3x温湿度传感器,如果觉得自己手够稳也可以直接尝试焊接传感器。</p> <p>三色LED,可实现各种颜色呼吸灯; 四脚两档选择开关可以轻松实现选择/切换。</p> <p>支持ESP32-C3经典版 和 立创ESP32-S3开发板,再也不用担心不知道用开发板做什么。</p> <p>温湿度计已经玩明白了?还想拿开发板去做其他事?可以!锁紧座设计,【一键拆装开发板】,重复利用不浪费。</p> <p>面板也在开源工程中,用pcb做面板,希望立创不会打我<img src="//image.lceda.cn/oshwhub/4b221bdc8ef9499ba271e3fbb68c4a97.png">,也在工程里,建议用1-1.2mm板打样。</p> <h3 style="line-height:1.8">*5、软件部分</h3> <hr> <p>使用MicroPython编程,上手快,小白也能一天拿下最基础的功能(温湿度测量显示)。</p> <p>专为ESP32-C3修改编译的MicroPython固件,扩展2个PIN(18,19)从usb改为GPIO。</p> <p>可熔丝设置再扩展一个PIN11(需要Ubuntu系统下安装Python后操作设置,小白可能有困难,但不用选择开关就可以不用)。</p> <p>不会熔丝也不想烧录修改后的固件,只想实现最基础的功能?只贴R4,R5两个电阻,其他的贴片统统不用管,选择开关也可以不要。</p> <p>有了ESP32,你不仅可以有一个<strong>桌面温湿度计</strong>,同时还可以有一个<strong>桌面时钟</strong>,一个<strong>桌面天气</strong>,一个<strong>幻彩呼吸灯</strong></p> <p>视频中的效果使用了协程,考虑到新手理解难度较大,该版本暂不开源</p> <p>还可以自动根据时间(傍晚/早上)调节显示屏亮度(简单,但是未实现,懒得搞,blk在esp32C3上接pin0,设置PWM即可实现,事实上函数已经内置库了,直接tft.back_light()函数里丢0-255的值就可以了)</p> <p>【代码及附件说明】</p> <p>.bin文件是我修改过的mpy固件,需要espdownloadtool下载,不懂的可以自行百度,教程很多且简单。</p> <p><strong>修改后的固件里新增了一些库,这些的库的说明文档我放在公众号<span style="color:#e03e2d">【编程游乐园】</span>里,因为公众号刚申请下来,一天只能推一个,资料我只能一点点放上去,大家耐心等等。</strong></p> <p><strong>说明手册链接:https://mp.weixin.qq.com/s/i4zHbHtT85C3H_K2b04Uhg</strong></p> <p>t16.bmf和t32.bmf是字库,我精简过的。加速字库查找,里边的字有:</p> <p><span style="color:#2dc26b">温湿度℃%启动中低高</span><br><span style="color:#2dc26b">LED白色常亮关闭多彩</span><br><span style="color:#2dc26b">表头颜色蓝色绿色红色黄色紫色白色黑色</span><br><span style="color:#2dc26b">字体颜色</span><br><span style="color:#2dc26b">背景颜色</span><br><span style="color:#2dc26b">屏幕亮度</span><br><span style="color:#2dc26b">主页设置为主时间</span><br><span style="color:#2dc26b">网络对时现在更新每天每8小时</span><br><span style="color:#2dc26b">更新天气阴晴雨大小中多云雪风雷闪电暴扬沙雾霾浮尘半</span><br><span style="color:#2dc26b">回到主页</span><br><span style="color:#2dc26b">>:-.1234567890</span></p> <p>超出这些的都没办法显示</p> <p><strong>关于固件,固件是我为本项目量身定制修改过的,ntptime(修改),sht4x,st7735s,ufont,都已经集成进了固件,Pin18,19也已经改成普通io了</strong></p> <p>其中ntptime是网络时间同步子函数,和官方库的例子使用方式一样,但是我已经改成国内服务器+北京时间东八区了,使用超简单,就一个函数</p> <p>led是三色led的驱动,单色的用不了,这个放在外边了,没进固件,因为总想改动玩玩</p> <p>sht4x是sht40的驱动,相当集成了,使用方法就是直接measurement,如main中的代码所示,返回值是最终的温湿度数据,元组格式</p> <p>st7735s是适配0.96寸屏的专版,但是买家不同,你的屏可能和我的有差异,异常显示是常事,但是我测了两个不同卖家的目前是一致的,有问题再说</p> <p>ufont是字库加载子模块,加载方式也自己在main中看吧,很简单了</p> <p>【驱动代码可以节省你的开发时间】:(因为度娘没啥资料,还好多是错的{可能是因为好多教程用的py2的老版本,mpy已经升级到了3})</p> <p>1、网络时间同步子模块,从mpy官方固件的国外服务器改为了国内服务器,时区调整为了东八区,只需一个函数就可实现 时间同步</p> <p>2、sht4x驱动子模块,解析,crc校验,计算统统都写好了,一个函数就能拿到温湿度值</p> <p>3、st7735s驱动子模块,65535色彩RGB565,适配0.96寸tft屏(我的适配你的屏可能会有差异,可能要自己改,但大概率不用)</p> <p>4、中文显示子模块font,随心加载中文字符,不过仅限我列出的字</p> <p>5、专为温湿度计开发的精简字库。楷体字,更好看!字数少,显示更快!(字库内容见上)</p> <p style="line-height:1.8">【总结】</p> <p style="line-height:1.8">A、想实现全功能必须要:</p> <p style="line-height:1.8">1、固件用我改的</p> <p style="line-height:1.8">2、固件用我改的</p> <p style="line-height:1.8">3、固件用我改的</p> <p style="line-height:1.8">B、可能遇到的问题:</p> <p style="line-height:1.8">1、开源的有st7735显示屏的驱动,这个我调试了两天才搞定,屏的显示位宽和这个驱动不完全匹配,要自己调节修改,有可能你的0.96tft屏和我的不一样,要自己改。我遇到过有花屏、文字斜体、显示不全、颜色不对等问题,遇到问题不要慌,我基本已经都帮你解决完了。</p> <p style="line-height:1.8">2、字体缩小时部分笔画显示不全,所以我上了2个字库,t16和t32,两个字完全一致,就是默认字号不一样,缩小时可能笔画不全,放大时字体颗粒度大,所以显示大的就用大号字库,小的~懒得再说一遍。</p> <p style="line-height:1.8">3、代码和固件基于esp32C3经典版开发板,立创ESP32S3开发板理论也可使用,但未做验证,可能有一些让人摸不着头脑的问题要自己解决,固件也没开发-时间紧张耗不起了</p> <p style="line-height:1.8">4、H2接口是立创本次活动赞助的传感器模块接口,H3是淘宝通用模块接口,U2是sht40传感器。使用一个就够了,但是,设计时候出了点点不算bug 的小bug,用器件和模块时候线序不一致,模块如丝印所示。器件需要在代码里反一下,但是也不影响。用器件建议把器件周边的覆铜去一下还有热盘。但是器件不好焊,建议模块。</p> <p style="line-height:1.8"><strong>main.py代码是一个示例,目的在于让大家明白这些库该怎么调用,</strong>要写成视频中的带有设置菜单的样子需要更多的逻辑和代码,难度比完成简单的显示要高出2-3倍,可以自己探索咯。</p> <h3 style="line-height:1.8">*6、BOM清单</h3> <hr> <p style="line-height:1.8"><span style="color:#95a5a6;font-size:14px">见开源工程</span></p> <h3 style="line-height:1.8">*7、大赛LOGO验证</h3> <hr> <p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/5e576272b318488fbbd75b8d6aa19306.jpg" alt="" width="1706" height="1279"></p> <p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/22199d60b96c46b4a3e871f17c3e7353.jpg" alt="" width="1706" height="1279"><img src="//image.lceda.cn/oshwhub/c7022faed1cb48b3b0ee0794d6a8839a.jpg" alt="" width="540" height="304"><img src="//image.lceda.cn/oshwhub/ec5b6bd32d2c4a0cb1ed65f48ff738cb.jpg" alt="" width="1706" height="1279"></p> <p style="line-height:1.8"> </p> <h3 style="line-height:1.8">* 8、演示您的项目并录制成视频上传</h3> <hr> <p style="line-height:1.8"><a href="https://b23.tv/1MZ8C5w" target="_blank">https://b23.tv/1MZ8C5w</a></p> </div>
  • 48009dcce719dd290fdd02a1b7410707.mp4

  • d746905b9524356d9372fe4e8f082d7b.mp4

文档

BOM

暂无

附件

附件名 下载
48009dcce719dd290fdd02a1b7410707.mp4
d746905b9524356d9372fe4e8f082d7b.mp4
main.py
led.py
t16.bmf
t32.bmf
ESP32C3_THmeter_MPYfirmwareV1.0725.bin

成员

评论(1)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
Leojun 回复
<p>复刻成本15的前提是,已经有ESP32C3开发板。参考价格,pcb-0;tft屏-7;选择开关-1;led+电容加电阻-几分钱忽略不计;传感器4-12,价格浮动大;锁紧座不超过3元。</p>
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow