
【征集令】基于ESP32的串口墨水屏万年历
简介
基于ESP32-Wrover-B的串口墨水屏日历显示终端
简介:基于ESP32-Wrover-B的串口墨水屏日历显示终端开源协议
:GPL 3.0
描述
项目简介
一直想做个东西玩玩,正好看到duck做的墨水屏天气预报的启发,于是也准备做一个低功耗的个人显示设备。
考虑到低功耗的个人显示设备,那就只有墨水屏了
于是设定了以下几个目标:
- 这个设备需要低功耗,最好几年都不用充电
- 要优雅美观一点,毕竟技术可以差,审美不能差
- 要实用,可以真正用得上
项目功能介绍
日历界面
日历功能说明
- 日历基本功能(当天日期,星期,月份)
- 农历
- 黄历宜忌
- 二十四节气
- 节假日提醒
- 最近的节假日倒计时
- 国家法定节假日以及调休情况
- 当日天气,最高最低温度
开发环境
vscode + esp-idf 用于显示端程序编写
keil + stm32 用于电源管理芯片的程序编写
python3 用于服务器端日历界面的编写
项目属性
[x] 原理图设计
[x] PCB图设计
[x] PCB打样
[x] 焊接测试
[x] 功能测试
[x] 程序测试
日历目前已经投入使用,使用的是400mAh的小电池,由于更新不是很频繁,基本可以做到半年充一次电。如果用大电池的话,基本可以不用充电了,满足了设计要求。
电路讲解
1.墨水屏的驱动
墨水屏的驱动照搬了github上epdiy项目中v2版本的电路,这个电路相对比较简单,成本也比较低,就是低功耗方面会大一点(这一点后面会说)。其他的话就没有什么缺点了
电路中最重要的就是五个电压,分别是+22V/+15V/-20V/-15V还有vCal。+22V 和 -20V 的电压主要由LT1945生成,+15V/-15V 是通过7815和7915两个LDO生成。VoltageCalibarate由LM358和可调电阻生成,因为要根据实际屏幕参数调整,具体可以看一下下面的文档:
epdiy document
2.esp32电路
esp32中,由于墨水屏的IO较多,使用了74HC4094D做IO扩展,也导致了该设备的静态电流居高不下,所以使用了另外一个低功耗的单片机做电源管理
3.电源管理电路
使用了STM32L010做电源管理芯片,这个是当时芯片还没涨价的时候买的,当时是2元/片,现在就不好说了。电源管理比较简单,STM32L010常带电,平时休眠状态每4小时唤醒一次,给后级供电,墨水屏唤醒向服务器请求最新的日历数据。
实测下来休眠的时候电流可以做到1uA.由于4小时才唤醒一次,所以整体功耗非常低。
软件
软件方面就是比较简单了,
直接使用epdiy例程中webimage的例程,注意修改以下几个定义
#define ESP_WIFI_SSID "" //你的wifi信息
#define ESP_WIFI_PASSWORD ""
#define STR_HELPER(x) #x
#define STR(x) STR_HELPER(x)
#define IMG_URL ("https://loremflickr.com/"STR(EPD_WIDTH)"/"STR(EPD_HEIGHT))//你的日历服务器的地址
修改后,编译一下就可以了,注意
墨水屏的型号要选择 EPD060SC4
PCB的版本要选择 V2/V3
具体可以参照:
快速入门- ESP32
epdiy
图片
注意事项
- FPC端子比较难焊接,有条件的话,去淘宝上开一个小钢网,才15元,可以保证焊接的成功率
- 屏幕的话,是在小黄鱼上买的,分辨率600x600 带背光 带触摸(触摸没驱动)16级灰度 3.8寸。我买的时候才20元,现在涨价了。
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | 4.7uF | C1 | C0603 | 1 |
2 | 1nF | C2,C13 | C0603 | 2 |
3 | 1uF | C3,C19 | C0603 | 2 |
4 | 100nF | C4,C16,C18,C20 | C0603 | 4 |
5 | 4.7pF | C5 | C0603 | 1 |

评论