12.48电子墨水屏使用教程

12.48寸电子墨水屏硬件连接和软件设置

特点

  • 尺寸: 12.48inch
  • 外形尺寸(裸屏):261.5mm × 211mm × 0.3mm
  • 外形尺寸(亚克力外壳):280mm x 229.5mm
  • 显示尺寸:252.98mm × 190.90mm
  • 工作电压:3.3V/5V
  • 通信接口:SPI
  • 点距:0.194mm × 0.194mm
  • 分辨率:1304 x 984
  • 显示颜色:黑、白、红
  • 灰度等级:2
  • 全局刷新 :16s
  • 刷新功耗 : 82.5mW(typ.)
  • 待机功耗 :<=0.017mW

【备注】: 刷新时间:刷新时间为实验测试数据,实际刷新时间会有误差,以实际效果为准。全局刷新过程中会有闪烁效果,这个是正常现象
功耗:功耗数据为实验测试数据,实际功耗由于驱动板的存在和实际使用情况的不同,会有一定误差,以实际效果为准

SPI 通信时序


由于墨水屏只需要显示,这里将从机发,主机收的数据线(MISO)隐藏。
CS:从机片选,当CS为低电平的时候,芯片使能
DC:数据/命令控制引脚,当DC=0时写入命令;DC=1时写入数据
SCLK: SPI通信时钟
SDIN:SPI通信主机发送,从机接收
时序:CPHL=0, CPOL=0 (SPI0)
【备注】具体关于SPI通信的相关信息,可以自行网上搜索资料了解

屏幕图片刷新实质

上面了解到屏幕使用的是SPI通信,对于此屏幕可能有些客户会觉得奇怪为什么会有两个排线?
对于此问题的解释就是该屏幕是由4块小屏幕拼接而成变得大尺寸屏幕,因此对应着4路片选信号。

  • 刷新实质

简略图如下:

我们把四部分分别命名为S2,M2,M1,S1,他们在程序中是依次进行传输的。
其中S2,M1是同样大小的分辨率:648*492,M2,S1是同样大小的分辨率:656*492.
他们的横竖加起来分辨率就是:1304*984

  • 控制原理

4个屏幕,那么他们就对应这4个SPI从机,所需要的控制线就是4个屏幕的总数:
一般SPI接口类显示屏具有以下4条控制线:MOSI,SCLK,CS,DC
然后需要最基本电源和复位:VCC,GND,RST
由于墨水屏的刷新特性,会一直闪烁,用于表示屏幕忙碌:BUSY
为了节省接口,其中4块屏幕共用VCC,GND,MOSI,SCLK;2块屏幕共用DC,RST
此时,重点来了,4块屏幕所需要电源线加控制线16条:

  • 核心代码分析

屏幕要进行工作,一般都会进行复位并初始化一些相关的寄存器,然后传输图像数据,最后打开显示。
这里主要讲述传输图像数据:
对于黑白或者红白,我们都可以认为是一张二阶灰度图片,那么一个字节的8个位就对应8个像素点,那么S2部分和M1部分:一行像素点有648点,将占用648/8 = 81个字节,有492列,总共占用81 * 492 = 39852个字节。同理M2部分与S1部分:一行像素点有656点,将占用656/8 = 82个字节,有492列,总共占用82 * 492 = 40344个字节。
12.48inch e-paper的寄存器0x13和0x10分别用于控制黑色图片数据和红色图片数据的传输。
他们的关系如下:

颜色0x100x13
白色0xff0x00
黑色0x000x00
红色0xff/0x000xff

下面以黑白屏为例子:

  1. void EPD_12in48_Display(const UBYTE *Image)
  2. {
  3. int x,y;
  4. //S1 part 648*492
  5. EPD_S2_SendCommand(0x13);
  6. for(y = 0; y < 492; y++)
  7. for(x = 0; x < 81; x++) {
  8. EPD_S2_SendData(*(Image + (y*163 + x)));
  9. }
  10.  
  11. //M2 part 656*492
  12. EPD_M2_SendCommand(0x13);
  13. for(y = 0; y < 492; y++)
  14. for(x = 81; x < 163; x++) {
  15. EPD_M2_SendData(*(Image+ (y*163) +x));
  16. }
  17.  
  18. //S1 part 656*492
  19. EPD_S1_SendCommand(0x13);
  20. for(y = 492; y < 984; y++)
  21. for(x = 81; x < 163; x++) {
  22. EPD_S1_SendData(*(Image+ (y*163) +x));
  23. }
  24.  
  25. //M1 part 648*492
  26. EPD_M1_SendCommand(0x13);
  27. for(y = 492; y < 984; y++)
  28. for(x = 0; x < 81; x++) {
  29. EPD_M1_SendData(*(Image+ (y*163) +x));
  30. }
  31. EPD_12in48_TurnOnDisplay();
  32. }
TAG: USART显示屏 激光雷达教程 全金属紧凑型UGV悬挂高强度弹簧3KG负载适用于DDSM210/400轮毂电机 TTGO T-Echo NRF52840 SX1262 LoRa收发器SoftRF/Meshtastic BME280 GPS GNSS L76K 1.54电子墨水屏兼容LILYGO ESP32-H2-MINI-1-N4 树莓派HDMI显示屏8寸LCD触摸显示屏768x1024 树莓派自动对焦摄像头 Flash固件的烧录与擦除 Barcode QR条形码二维码扫描识别模块 支持高精度扫描模组 板载USB和UART接口 树莓派1.5寸LCD 树莓派5 Gen3 ESP32-S3工业级8路继电器WiFi蓝牙网口ETH物联网RS485 RJ45 POE 串口屏 Modbus RTU工业级8路导轨式模拟量采集模块 DC 7~36V宽电压供电 支持电压电流采集 PDF 树莓派5迷你PoE HAT (G)以太网RJ45供电扩展板5V 5A 树莓派RTC看门狗 Luckfox Pico开发板 450纳米高精度激光器模组可调焦距激光雕刻激光3D打印 红外热像仪