【捡垃圾】使用4.2寸三色墨水屏做一个任务待办清单
此篇文章在2024年1月9日被记录
熟悉了解本章博客需要你有较为入门的编程基础,包括但是不限于C语言、python
1、前言
最近在老五这里看到4.2寸的三色墨水屏只要7.5一张,于是下单了两个,到货后发现是全新设备,保护膜都在,拆开后发现是telink8359处理器,3个纽扣电池,这个价格还要什么自行车,但是暂时还不太想折腾telink,就先来玩玩墨水屏。
刚好手里有上学时候买的电子墨水屏驱动板,长这个样子,型号为DESPI-C02。电子墨水屏驱动板立创有很多开源方案,也可以自己打板玩一玩
2、开始调试
刚开始在淘宝评论区看了很多大佬的回复,也算了解到了一些信息:这款屏幕可以使用微雪4.2V2的驱动程序直接驱动(这里有微雪的全套文档以及驱动代码),驱动芯片为SSD1683。但是我实际测试后发现微雪的4.2V2驱动代码只完成了黑白和灰度,并没有实现黑红白三色同时存在的代码,于是我查看文档,补全了红色的驱动代码,实现了三色同时显示
3、制作一个任务待办显示器
3.1需求
- 我在工作中喜欢将待办事项写在txt中保存,因此这个任务待办显示器需要具备文本同步的功能
- 任务代办需要分级别,分为重要、一般、已经完成三个等级
- 我希望能显示今天明天两天的天气信息,当天的天气信息尽可能的详细
- 我希望每次看屏幕都有点不同的东西,因此加入每日一句
- 在备忘录更新的情况下最长十分钟同步到墨水屏,备忘录不更新的情况下一小时刷新一次信息
3.2制作
由上面的需求,我认为最简单的办法就是设备使用串口直接连接到电脑,电脑上位机负责待办事项的获取,天气API解析,每日一句数据获取。除此之外,还要满足串口通信,图像处理,图像显示等。上位机还需要将制作好的图像转化成单片机可以解析的数据进而发送给下位机
上位机:
上位机使用python,需要使用的库为numpy、opecv-python、PIL、requests、configparser,其中numpy、opecv-python主要用来做图像处理和矩阵处理,PIL图像库主要用来在图片上写汉字,requests主要用来api访问,configparser主要用来解析配置文件,所有的配置信息写在config.ini中,主要包含天气api、每日一言、备忘录路径,你需要将备忘录路径修改为自己的备忘录路径
设备接线:
硬件方面使用ESP32+驱动板+4.2寸墨水屏+数据线
- ESP32与驱动板连接使用代码中的引脚配置:
#define EPD_SCK_PIN 19
#define EPD_MOSI_PIN 18
#define EPD_CS_PIN 14
#define EPD_RST_PIN 26
#define EPD_DC_PIN 27
#define EPD_BUSY_PIN 25
- 墨水屏与驱动板按照下面图片连接即可,注意正反
设备烧录:
打开工程中的arduino工程,直接下载即可
使用:
数据线连接ESP32与电脑,在命令行运行COMx为你设备的连接的串口号,与下载串口号相同
python .\uart_tran_img.py COMx
如果你想后台运行,不长时间占据CMD窗口:
pythonw .\uart_tran_img.py COMx
4、成果演示
在ini文件中将备忘录地址修改为自己的备忘录地址,按照上述流程操作后下图是最终效果
上位机预览
下位机显示
5、其他
所有代码开源放在github,如果你觉的我的创意不错,请帮忙在GitHub右上角点一个star,git地址点击我,如果你有更好的UI设计或者其他建议欢迎留言!