7.3inch e-Paper HAT (G) Manual

来自Waveshare Wiki
跳转至: 导航搜索
{{{name2}}}
{{{name3}}}
功能简介
特性 树莓派7.3英寸墨水屏
分辨率 800 x 480
显示颜色 黑、白、黄、红
' 无特性,不解释
' 无特性,不解释
接口 SPI

说明

各项参数

尺寸 7.3英寸
驱动板尺寸 65mm × 30.5mm
显示尺寸 160mm × 96mm
外形尺寸(裸屏) 170.2mm × 111.2mm × 0.91mm
工作电压 3.3V / 5V(IO电平电压要和供电电压一致)
通信接口 SPI
点距 0.2mm × 0.2mm
分辨率 800 x 480
显示颜色 黑、白、黄、红
灰度等级 2
刷新时间 16s
刷新功耗 < 85 mW(typ.)
休眠电流 < 0.01uA(接近0)
工作温度 0 ~ 40 ℃
存储温度 -25 ~ 60 ℃
  • 刷新时间:刷新时间为实验测试数据,实际刷新时间会有误差,以实际效果为准。全局刷新过程中会有闪烁效果,这个是正常现象。
  • 刷新功耗:功耗数据为实验测试数据,实际功耗由于驱动板的存在和实际使用情况不同,会有一定误差,以实际效果为准。
  • 在低温环境下进行刷新可能出现显示偏色,需要在25℃的环境中静止6小时后,在进行刷新。

通信方式

E-paper-spi-timing-new2.jpg
CSB(CS):从机片选信号,低电平有效,为低电平的时候,芯片使能。
SCL(SCK/SCLK):串行时钟信号。
D/C(DC):数据/命令控制信号,低电平时写入命令(Command);高电平时写入数据(Data/parameter)。
SDA(DIN):串行数据信号。
时序:CPHL=0,CPOL=0,即 SPI 模式0。
【备注】具体关于SPI通信的相关信息,可以自行网上搜索资料了解。

工作原理

本产品使用的电子纸采用“微胶囊电泳显示”技术进行图像显示,其基本原理是悬浮在液体中的带电纳米粒子受到电场作用而产生迁移。电子纸显示屏是靠反射环境光来显示图案的,不需要背光,在环境光下,电子纸显示屏清晰可视,可视角度几乎达到了 180°。因此,电子纸显示屏非常适合阅读。

编程原理

对于四色墨水屏,我们可以参照黑白四灰度的图片进行理解,不过还是有写不同
为了节约内存空间、墨水屏对像素进行了压缩:
黑色:对应00b
白色:对应01b
黄色:对应10b
红色:对应11b
我们拿4个像素点来举例:

pixel 1 2 3 4
bit 0 1 2 3 4 5 6 7
存储的数据 0 0 0 1 1 0 1 1
对应颜色
byte 0x1B

往寄存器0x10中写入数据0x1B,则将墨水屏中的四个像素点设置成黑、白、黄、红四种颜色

注意事项

  1. 支持局刷的屏幕,注意使用的时候不能一直用局刷对屏幕进行刷新,需要在做几次局刷之后,对屏幕进行一次全刷清屏。否则会造成屏幕显示效果异常。
  2. 三色或多色的墨水屏在批量的时候,会存在一定的色差,这个是正常现象,建议将屏幕刷白朝上存放,使用前,先上电做几次刷白操作。
  3. 注意屏幕不能长时间上电,在屏幕不刷新的时候,要将屏幕设置成睡眠模式,或者进行断电处理。否则屏幕长时间保持高电压状态,会损坏膜片,无法修复。
  4. 使用墨水屏的时候,建议刷新时间间隔至少是180s, 并且至少每24小时做一次刷新,如果长期不使用墨水屏的话,要将墨水屏刷白存放。(具体储存环境需求参考数据手册)
  5. 屏幕进入睡眠模式之后,会忽略发送的图片数据,只有重新初始化才能正常刷新。
  6. 控制 0x3C 或 0x50 (具体参照数据手册)寄存器可以调节边框颜色,在例程中可以调节 Border Waveform Control 寄存器或者 VCOM AND DATA INERTVAL SETTING 进行设置。
  7. 如果发现制作的图片数据在屏幕上显示错误,建议检查一下图片大小设置是否正确,调换一下宽度和高度设置再试一下。
  8. 墨水屏的工作电压要求是 3.3V,如果您购买的是裸屏的话,设计电路的时候如果需要配合 5V 工作环境的话,建议做一下电平转换处理。新版驱动板(Rev2.1及后续版本)加入了电平处理电路,可以同时支持 3.3V 和 5V 工作环境,老版本只能支持 3.3V 工作环境,使用的时候可以先确认一下版本号(版本号在板名下)。
  9. 屏幕的 FPC 排线比较脆弱,请注意:不要沿屏幕垂直方向弯曲排线,避免排线被撕裂;不要反复过度弯曲排线,避免排线断裂;不要往屏幕正面方向弯曲排线,避免排线与面板的连接断开。调试研发时建议固定排线后使用。
  10. 墨水屏屏幕较为脆弱,注意尽量避免跌落、碰撞、用力按压。
  11. 我们建议客户拿到屏幕之后,先用我们提供的示例程序,使用对应的开发板进行测试。


图片处理

多色墨水屏的图片制作与转换

图片制作

准备

所需软件:Adobe PhotoShop CC、画图

介绍

  • Floyd-Steinberg抖动算法非常适合在颜色数量很少的情况下,展示出丰富的层次感。使得获得更多的颜色组合,对原始图片进行更好的阴影渲染。特别适合电子墨水屏的各种使用场景。
  • 以下将介绍如何将普通图片转为Floyd-Steinberg散点图。
  • 如果你对实际的算法有兴趣,可以了解我们在ESP32ESP8266的算法移植。在这里不在赘述。

操作步骤

准备工作:将颜色表下载到PC机,解压得到如下图文件,我们要用到的是 N-color.act 或者 4-color.act、6-color.act。
NcolorImageConvert 1.jpg

1. 新建Photoshop工程,按电子墨水屏的实际分辨率设置宽度和高度,颜色模式使用RGB颜色。如果使用的屏幕分辨率为800*480,将宽改为800像素,高改为480像素即可。
Photoshop-Floyd-Steinberg01.jpg

2. 准备好相应的素材,复制到工程中,调整好大小、对比度之类的参数(和一般Photoshop的处理图片的步骤类似)。
Photoshop-Floyd-Steinberg02.jpg

3. 选择文件-》存储为Web和设备所用格式。
Photoshop-Floyd-Steinberg03.jpg

4. 如下图选择载入颜色表。载入准备工作中所提供的颜色表。
Photoshop-Floyd-Steinberg04.jpg

5. 对于七色的图片,载入N-color.act,之后点击存储,保存为gif文件即可。然后转换成BMP格式即可在本模块上使用。
对于四色的图片,载入4-color.act,之后点击存储,保存为gif文件即可。然后转换成BMP格式即可在本模块上使用。
对于六色的图片,载入6-color.act,之后点击存储,保存为gif文件即可。然后转换成BMP格式即可在本模块上使用。
Photoshop-Floyd-Steinberg08.jpg

6.使用画图打开gif文件,将其另存为为24位的bmp图片。
5.65F-PS-1-EX.png
5.65F-PS-2-EX.png

7.至此,图片已经制作完成,可以把它放到树莓派或e-Paper Shield模块的SD卡中使用,或者参照下一节转换成数组供其他嵌入式设备使用。

图片数据转换

下载程序

注:该应用为方便您的使用友情提供且开源,我司不对其提供技术支持

BUG解决

如果你的电脑是 win10/win11 系统,并且没有安装 VS(Microsoft Visual Studio)或者其他微软的开发工具,在使用本程序时可能出现下面的错误提示
E-paper-color-0.jpg
E-paper-color-1.jpg
这个表示你电脑中缺少这两个组件,解决办法如下
1、安装 VS(Microsoft Visual Studio)或者其他微软的开发工具(Visual C++ Redistributable 等)
2、使用我们提供的两个组件文件
E-paper-color-4.jpg
将这两个文件放到目录 C:\Windows\System32 下,然后重启电脑即可


转换步骤

  • 将制作好的图片和对应的exe应用程序放在同一文件夹,可以同时放入多个图片。
  • 将图片拖放到exe文件上,程序会把图片转换成固定名称的.c文件。
  • 双击cmd文件,程序会把文件夹内的所有符合尺寸的图片转换生成相应名字的.c文件。
  • 四色单张图片演示演示(点击图片,查看演示)

E-Paper-4color.gif

  • 四色多张图片演示演示(点击图片,查看演示)

E-Paper-4color-1.gif

  • 七色单张图片演示演示(点击图片,查看演示)

E-Paper-7color.gif

  • 七色多张图片演示演示(点击图片,查看演示)

E-Paper-7color-1.gif

Raspberry Pi

硬件连接

连接树莓派的时候,可以直接将板子插到树莓派的 40PIN 排针上去,注意对好引脚。
如果是选择用8PIN排线连接的话,请参考下方的引脚对应表格:

树莓派连接引脚对应关系
e-Paper Raspberry Pi
BCM2835编码 Board物理引脚序号
VCC 3.3V 3.3V
GND GND GND
DIN MOSI 19
CLK SCLK 23
CS CE0 24
DC 25 22
RST 17 11
BUSY 24 18

开启SPI接口

  • 打开树莓派终端,输入以下指令进入配置界面:
sudo raspi-config
选择Interfacing Options -> SPI -> Yes 开启SPI接口

RPI open spi.png

  • 重启树莓派:
sudo reboot
  • 检查 /boot/config.txt,可以看到 'dtparam=spi=on' 已被写入

RPI open spi 1.jpg

  • 为了确保 SPI 没有被占用,建议其他的驱动覆盖暂时先关闭。可以使用 ls /dev/spi* 来检查 SPI 占用情况,终端输出 /dev/spidev0.0 和 /dev/spidev0.1 表示 SPI 情况正常

RPI open spi 2.jpg

运行C语言例程

  • 安装BCM2835
#打开树莓派终端,并运行以下指令:
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz
tar zxvf bcm2835-1.71.tar.gz 
cd bcm2835-1.71/
sudo ./configure && sudo make && sudo make check && sudo make install
# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
  • 安装wiringPi(可选)
#打开树莓派终端,并运行以下指令:
sudo apt-get install wiringpi
#对于树莓派2019年5月之后的系统(早于之前的可不用执行)