
esp32天气时钟
简介
根据开源的修改后设计了一个基于esp32的天气时钟,屏幕是2.8寸的ST7789V的。
简介:根据开源的修改后设计了一个基于esp32的天气时钟,屏幕是2.8寸的ST7789V的。开源协议
:GPL 3.0
描述
使用esp32开发板,便于操作,另外屏幕是2.8寸的ST7789V的。由于手头只有插件的,需要贴片的可以修改一下电容和电阻
注意:esp32开发板有宽的有窄的,注意尺寸,一般板载340的窄一些,210x的宽一些,根据实际需求调整排母间的距离。
排母是20p的,但是esp32单排是19p的,有个引脚是空的,插的时候注意一下,pcb上打叉的就是空出来的。
设计成20p是考虑到没有20p排母的,可以用手头4p或者8p的拼接一下。
DHT11代码没添加,可以不用焊接(如果需要焊接弯折一下成90度躺在pcb板上,板上预留空间就为了这个的,不然dht11高度太高了),蜂鸣器也可以不用焊接,需要闹钟自己在程序里面添加。有些按键没有定义功能,可以自行探索开发。
由于对于线路没太大要求,导线比较细,不放心的可以自己修改导线重新布线,需要铺铜的自行添加。
更新
1,新增底部动画和bili粉丝数量
2,其他预留功能待完善
操作说明
1,因字库较大,需修改内存分配设置(默认用户程序空间1.2M):
* ********* >> Arduino IDE - 工具 - Partition Scheme - Huge APP(3M No OTA/1M SPIFFS)
2,程序需要改下分辨率
更改两个地方,一个是Arduino\libraries\TFT_eSPI\User_Setup.h
#define TFT_WIDTH 240
#define TFT_HEIGHT 320
另外一个地方主程序
//绘制一个视口
//tft.setViewport(0, 20, 240, 240);
tft.fillScreen(0x0000);
tft.fillRoundRect(0,0,240,320,0,bgColor);//实心矩形
3,需要调整颜色库
Arduino\libraries\TFT_eSPI\User_Setup.h中,调整为rgb通道,关闭颜色反色(反色是黑会变白)
#define TFT_RGB_ORDER TFT_RGB
// #define TFT_RGB_ORDER TFT_BGR
// #define TFT_INVERSION_ON
#define TFT_INVERSION_OFF
4, * 【按钮功能-介绍】→ 此按键用于设置启动广告页的开启/关闭+进入WIFI配网模式+主屏动画切换(太空人、龙猫转圈、打乒乓、龙猫跳绳)
* 使用方法:1、断电情况下,按下按钮不松开,然后插上TYPE-C数据线通电,上电后大概等待1秒,屏幕上会有提示,提示停留在哪一个步骤,松开按钮就会进入该步骤
* 正常工作时,按下按钮不松开,设备会自动重启(ESP32.restart()函数),大概等待1秒,屏幕上会有提示,提示停留在哪一个步骤,松开按钮就会进入该步骤
5,首次使用,搜索一个名称为XX天气时钟的热点,然后配网,设置wifi名称和密码,城市代码
高清视频见:b站视频
欢迎点赞和收藏
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | BTN | BACK,DOWN,ENTER,FMQSW,HOME,UP | SW-TH_4P-L6.0-W6.0-P4.50-LS6.5 | 6 |
2 | HNB09A03 | BUZZER1 | BUZ-TH_BD9.0-P5.00-D0.6-FD | 1 |
3 | TMB12A03 | BUZZER2 | BUZ-TH_BD12.0-P7.60-D0.6-FD | 1 |
4 | 100nF | C1,C2,C5,C8 | CAP-TH_BD4.0-P1.50-D0.8-FD | 4 |
5 | 100uF | C3,C6 | CAP-TH_BD5.0-P2.00-D0.8-FD | 2 |

评论