做看板的过程中我陆续买过三种屏,正好可以把它们的差别摊开写清楚。很多人选屏时只看"几色"和"多少寸",但真正决定你调试要花多少时间的是驱动芯片和社区资料的多少。下面这三块都是我实际上手过的。
三块屏的参数对比
| 屏幕 | 尺寸 | 分辨率 | 颜色 | 驱动 | 资料/生态 |
|---|---|---|---|---|---|
| GDEY042Z98 | 4.2 寸 | 400×300 | 黑 / 白 / 红 | SSD1683 | 最多 |
| GDEM0397F81 | 3.97 寸 | 768×552 | 黑 / 白 / 红 / 黄 | SSD2677 | 中等 |
| 华为 3.98 寸四色 | 3.98 寸 | 768×552 | 黑 / 白 / 红 / 黄 | JD79665 / JDY79668 | 少 |
4.2 寸三色:生态最好,颜色一般
GDEY042Z98 是 400×300 的三色屏,SSD1683 驱动。它的好处只有一个,但这个好处非常致命地重要:资料多。GxEPD2 里有现成的驱动类 GxEPD2_420c,接线、初始化、刷屏的代码网上随处可见,遇到问题搜一下基本能找到别人踩过的同一个坑。我第一块能正常工作的屏就是它。
缺点也明显:分辨率只有 400×300,画满一屏中文时字不能太小;红色偏砖红,不是那种鲜艳的正红,屏幕本身决定的,调不出来。如果你的目标是"黑白红信息看板、内容以文字为主",这块屏基本是默认答案。
3.97 寸四色:分辨率翻倍,但显色偏灰
GDEM0397F81 是 768×552 的四色屏,SSD2677 驱动。分辨率比 4.2 寸三色高一倍多,字号可以更小、能塞下更细的表格。我第一次刷出来的时候确实被清晰度震了一下。
但它的黄红两色显色都偏灰,尤其黄色,偏土黄,跟我预期的那种亮黄差得远。这不是我的驱动错了,是四色屏靠有限的几种颜料粒子混出来的颜色,物理上就到这个程度。如果你买四色是为了"颜色更丰富好看",要有心理准备,它换来的主要是分辨率,不是鲜艳度。
华为 3.98 寸四色:驱动是硬骨头
同样是 768×552 的四色,用的是 JD79665 / JDY79668 这类驱动。社区资料最少,很多时候你拿到的只是一份厂商的初始化序列,需要自己翻译成代码。它的初始化要按特定顺序走:先解锁,再设置窗口,然后写数据,最后触发刷新,四步缺一步或者顺序错一步,屏幕就是一整片白或者干脆不响应。
我在这块屏上花的时间最多。不是说它不好,而是它刚上手时的学习成本远高于前两块,你需要有能力读时序表、能接受"刷了没反应但也不报错"这种调试体验。如果你的项目有时间预算,可以试;如果只是想快点做出东西,建议先跳过。
颜色编码上的一个事实
四色屏的黄色在 2bit 编码里是独立的一个档位,黑、白、红、黄各占一种组合。而三色屏在硬件上根本没有黄色这个档位,你不可能通过软件让三色屏显黄。这一点决定了:如果你确定要黄色,那就只能在四色屏里选,没有折中方案。反过来,如果你只要黑白红,四色屏并不会让你的红更好看,它只是多给了你一个黄。
我的结论
只要黑白红,就选 4.2 寸三色。GDEY042Z98 加 GxEPD2_420c 是最省事的组合,生态最好,出问题最容易被搜索到答案。分辨率对文字看板够用,红色虽然偏砖红但一眼能认出来。
如果必须要黄色,或者需要更高分辨率来塞更密的排版,才考虑四色。选四色时把"调驱动的时间"算进预算:GDEM0397F81 那类 SSD2677 的屏相对好调一些,华为那类 JD 系列的要按上面说的四步初始化慢慢磨。别指望拿到手当天就能跑通,给自己留两天。
还有一点别忽略:三块屏的排线接口和供电要求都不同,三色那块我是直接插开发板上的现成模块,四色那两块则要额外留意驱动板的跳线和接口是否匹配。买屏之前先看清楚卖的是裸屏还是带转接板的模块,裸屏自己焊排线很容易把柔性排线烫坏。
如果你不确定未来会不会想加黄色,那就先买三色。三色的代码换成四色时,主要改动是初始化和颜色平面的处理,排版和渲染那一套基本可以复用;反过来先上四色再退回三色,反而会觉得分辨率降下来不能接受。
最后一句实话:这两类屏的刷新都很慢,四色的一次整屏刷新比三色更久,做交互式的东西都不合适。它们适合的是"一天变几次"的信息看板,这一点选什么屏都改变不了。