前言
咸鱼给我推了一批全新墨水屏。看了一下,全新带膜,膜上标签是黄色,应该是黑白黄三色的。问了老板,说是没有技术手册和例程。一片三元,咬咬牙买了10片回来研究。
外观
26Pin焊接式排线,需要自己垫一点东西+剪窄一点。外观看起来类似之前买的HSSE屏幕,不过这款是黑白黄。
屏幕排线型号HINK-E0213A31-A0-A0
,查了一下墨水屏丝印对应驱动表,只查到了HINK-E0213A30-A0-A0
这款是250x122
的黑白墨水屏,主控芯片SSD1675B
。
合力泰(HINK)的屏幕排线丝印,如果是相邻的两个数字(如A07与A08),往往是采用不同主控芯片的同一种类屏幕。
HINK-E0213A07
是SSD1675B
的黑白红三色,而HINK-E0213A08
是UC8151c
的黑白红三色,两者都是212x104
分辨率的。
反正只有两种可能:要么SSD,要么UC。IL3895:什么在想我的事情
UC驱动测试
之前做 2.13寸黑白红墨水屏 时用的是UC8251的驱动。直接加载没有反应。失败。
对于UC的屏幕,只要发送0x04
让其开机就行了,不用设置其他参数也能进行刷新。
SSD驱动测试
找了HINK-E0213A22
这款屏幕的驱动,芯片是SSD1675B
,分辨率250x122
,颜色黑白红。轻松秒杀~
[{"url":"https://webp.esing.dev/img/IMG_20240720_113011_2024-7-20_1445_arpl9kko95.jpg","alt":"大连佳显的驱动可点"},{"url":"https://webp.esing.dev/img/IMG_20240720_132428_2024-7-20_1446_dusekpe3op.jpg","alt":"赛博符箓(确信)"},{"url":"https://webp.esing.dev/img/IMG_20240720_174326_2024-7-20_1744_v3nus32kwi.jpg","alt":"三色日历效果也不错,可惜边框设置不了"}]
第一张图使用大连佳显的驱动点亮,但是刷新时会附带上一张图片的残影,且多次刷新后才能消失。推测和LUT选择以及驱动电压有关。换用GxEPD2的库点亮并刷新,一切正常。选择Z98的驱动即可:GxEPD2_213_Z98c
此外,SSD1675B
设置边框颜色使用0x3C
指令,之后输入颜色。0x05
是白色,0x06
是彩色,0x04
是黑色。
指令 |
颜色 |
0x00 |
B |
0x01 |
W |
0x02 |
C |
0x03 |
0x04 |
B |
0x05 |
W |
0x06 |
C |
0x07 |
亮屏例程示例
以下来自GxEPD2库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| void EPD_HW_Init(void) { EPD_W21_RST_0; delay(10); EPD_W21_RST_1; delay(10);
Epaper_READBUSY(); Epaper_Write_Command(0x12); Epaper_READBUSY();
Epaper_Write_Command(0x01); Epaper_Write_Data(0xF9); Epaper_Write_Data(0x00); Epaper_Write_Data(0x00);
Epaper_Write_Command(0x11); Epaper_Write_Data(0x03);
Epaper_Write_Command(0x3C); Epaper_Write_Data(0x05);
Epaper_Write_Command(0x18); Epaper_Write_Data(0x80);
Epaper_Write_Command(0x21); Epaper_Write_Data(0x00); Epaper_Write_Data(0x80);
Epaper_READBUSY(); }
void EPD_Yellow(void) { unsigned int i; Epaper_Write_Command(0x24); for (i = 0; i < ALLSCREEN_GRAGHBYTES; i++) { Epaper_Write_Data(0xff); } Epaper_Write_Command(0x26); for (i = 0; i < ALLSCREEN_GRAGHBYTES; i++) { Epaper_Write_Data(0xff); } EPD_Update(); }
void EPD_Update(void) { Epaper_Write_Command(0x22); Epaper_Write_Data(0xF7);
Epaper_Write_Command(0x20); Epaper_READBUSY(); }
void EPD_DeepSleep(void) { Epaper_Write_Command(0x10); Epaper_Write_Data(0x01); delay(100); } void Epaper_READBUSY(void) { while (1) { if (isEPD_W21_BUSY == 0) break; } }
|
完结撒花!
封面图来自:#ポケモン ポケモッンログ - わ的插画
还在摸索如何读取内置的温度传感器值。这样子就可以直接当温度时钟了
还在研究如何多色局刷快刷,我记得有例子的。
2024.07.20 非常奇怪,边框只有初始化的时候设置才行,而且是永久生效。还在研究。