raspberry pi e-ink display module V1.0

简介

这是一款适用于树莓派/rock 4se,可在断电的情况下显示静态图片的2.13英寸电子墨水屏。墨水屏电路板将树莓派上的引脚引出,在使用墨水屏时,不影响对树莓派引脚的使用。另外墨水屏电路板上增加两个贴片触摸开关,方便扩展其他应用。该墨水屏体积小巧,布局紧凑,即插即用,支持局部刷新,具有低功耗,视角宽、阳光直射下仍可阅读等优点。墨水屏更适合显示静态图片或文字显示,由于刷新时间长,不建议用于频繁动态刷新显示数据的场合。

**注意:**该墨水屏不带字库芯片,但可以下载ttf库来显示,不同的ttf库显示效果不同。

##技术规格

##功能示意图

##PinOut

##使用教程

###准备

1 x 树莓派 1 x raspberry pi e-ink display module

###步骤

一、将墨水屏插入树莓派/ROCK 4SE,并打开树莓派的SPI接口。 二、安装驱动库 要使墨水屏正常工作,需要安装必要的函数库。该库中提供了墨水屏的驱动程序及示例程序。这里我们只提供了Python的库,后面我们会根据大家的意见提供更多的库。

如果是接入rock 4se,需要先安装 libmraa库

进入/boot/hw_intfc.conf,修改文件如下

如果模块是V1.0版本,在树莓派终端输入下面命令下载库:

git clonehttps://gitee.com/DFRobot/DFRobot_RPi_Display

如果模块是V2.0版本,在树莓派终端输入下面命令下载库:

git clonehttps://gitee.com/DFRobot/DFRobot_RPi_Display_V2

如果模块是V3.0版本,在树莓派终端输入下面命令下载库:

git clonehttps://gitee.com/DFRobot/DFRobot_RPi_Eink_Display

三、下载freetype库。 下载之前,确保你的树莓派/rock 4se连接到网络。然后打开树莓派终端,输入下面的命令下载freetype库。

python -m pip install freetype-py

四、运行示例程序 进入解压缩路径下的examples文件中,运行示例程序。

cd DFRobot_RPi_Eink_Display/examples

python xxx.py

文件中提供了display_bitmap.py、display_cleanup.py、display_geometry.py、display_keyResponse.py、display_multiLingual.py、display_printString.py等6个示例程序,运行上面命令时,将xxx替换成示例程序的名字即可。

###示例

1. 图片显示示例程序:display_bitmap.py

  墨水屏支持显示单色位图的bmp图片,更改display_bitmap.py中的文件路径和文件名,即可显示你自己的图片。

效果展示

2. 几何图形示例程序:display_geometry.py

  示例程序中提供了直线、矩形、圆、三角形等图形的接口函数。

* 效果展示*

3. display_multiLingual.py

  墨水屏支持多国语言,只需要将相应的ttf库下载到examples/resources中即可。

效果展示

4. display_printString.py 墨水屏支持全局刷新和局部刷新,并且字体可调整。 效果展示

5. 按键示例程序:display_keyResponse.py 效果展示

特别注意:如果更换自定义字体和语言,需要自己到网上下载GPL协议的ttf文件,保存到/DFR0bot_RPi_Display/examples/resources路径下,然后再程序中调用该ttf文件)

###扩展引脚

 墨水屏扩展出的引脚与树莓派的引脚一一对应,具体参照前面2.2 PinOut
  墨水屏占用树莓派的SPI、20号和21号引脚,使用时请注意。

##相关调用函数

@函数功能:清屏,清除显示buffer里的内容 @参数 color: 颜色。取值epaper.WHITE,epaper.BLACK

@函数功能:选择刷新方式 @参数 mode:刷新方式 epaper.FULL:全局刷新 epaper.PART:局部刷新

几何图形有关调用函数

@函数功能:设置图形的线宽 @参数 w:线的宽度

@函数功能:画一个点 @(参数1,参数2) (x, y):点所在位置(行,列) @参数3 color:点的颜色。取值epaper.BLACK,epaper.WHITE

@函数功能:画一条垂直线 @(参数1,参数2) (x, y):垂直线的起始点 @ 参数3 h:垂线的高度 @ 参数4 color:垂线的颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画水平线 @(参数1,参数2) (x, y):水平线的起始点 @参数3 w:水平线的宽度 @参数4 color:水平线的颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画一条任意线 @(参数1,参数2) (x, y):线的起点 @(参数3,参数4) (x1, y1):线的终点 @ 参数4 color:线的颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画一个三角形 @(参数1,参数2) (x, y):三角形第一个顶点的位置 @(参数3,参数4) (x1, y1):三角形第二个顶点的位置 @(参数5,参数6) (x2, y2):三角形第三个顶点的位置 @参数7 color:三角形的颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画一个填充三角形 @(参数1,参数2) (x, y):三角形第一个顶点的位置 @(参数3,参数4) (x1, y1):三角形第二个顶点的位置 @(参数5,参数6) (x2, y2):三角形第三个顶点的位置 @参数7 color:三角形的颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画一个矩形 @(参数1,参数2) (x, y):矩形左上角顶点位置 @参数3 w:矩形的宽度 @参数4 h:矩形的高度 @参数5 color:矩形的颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画一个填充矩形 @(参数1,参数2) (x, y):矩形左上角顶点的位置 @参数3 w:矩形的宽度 @参数4 h:矩形的高度 @参数5 color:矩形的颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画圆在某个象限的弧 @(参数1,参数2) (x, y):圆心的位置 @参数3 r:圆的半径 @参数4 quadrant:象限。取值参考类中象限相关的定义。 @参数5 color:颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画圆在某个象限的扇形 @(参数1,参数2) (x, y):圆心的位置 @参数3 r:圆的半径 @参数4 quadrant:象限。取值1,2,3,4 @参数5 color:扇形颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画圆 @(参数1,参数2) (x, y):圆心的位置 @参数3 r:圆的半径 @参数4 color:圆的颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画一个填充圆 @(参数1,参数2) (x, y):圆心的位置 @参数3 r:圆的半径 @参数4 color:圆的颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画圆角矩形 @(参数1,参数2) (x, y):图形左上角两边延长线的交点的坐标 @参数3 w:圆角矩形的宽度 @参数4 h:圆角矩形的高度 @参数5 r:圆角矩形圆角的半径 @参数6 color:圆角矩形的颜色,取值epaper.BLACK,epaper.WHITE。

@函数功能:画填充圆角矩形 @(参数1,参数2) (x, y): @参数3 w:宽度 @参数4 h:高度 @参数5 r:圆角半径 @参数6 color:颜色,取值epaper.BLACK,epaper.WHITE。

位图显示有关调用函数

@函数功能:设置位图的放大倍数 @参数 size:位图的放大倍数。取值1,2,...墨水屏中默认放大1倍

@函数功能:设置位图扫描显示方式 @参数 fmt:扫描方式。墨水屏中默认BITMAP_TBMLLR。 BITMAP_TBMLLR:从上到下扫描。数组中高位字节在左,低位字节在右打印。例如对于位图中的一个字节0xf0。它的高位在左,低位在右,打印出来是这样的[*] [*] [*] [*] [] [] [] [] BITMAP_TBMRLL:从上到下扫描。数组中一个字节的高位在右,低位在左打印 BITMAP_BTMLLR:上下到上扫描。数组中一个字节的高位在左,低位在右打印 BITMAP_BTMRLL:从下到上扫描。数组中一个字节的高位在右,低位在左打印 BITMAP_LRMTLB:从左到右扫描。数组中一个字节的高位在上,低位在下打印 BITMAP_LRMBLT:从左到右扫描。数组中一个字节的高位在下,低位在上打印 BITMAP_RLMTLB:从右到左扫描。数组中一个字节的高位在上,低位在下打印 BIMTAP_RLMBLT:从右到左扫描。数组中一个字节的高位在下,低位在上打印 BITMAP_UNKNOW:不明位图扫描

@函数功能:画出以数组形式显示的位图 @(参数1,参数2) (x, y):位图显示左上角顶点位置 @参数3 bitmap:数组 @参数4 w:宽度 @参数5 h:高度 @参数6 color:颜色:默认黑色 @参数7 background:背景颜色。默认白色

@函数功能:显示位图文件 @(参数1,参数2) (x, y):位图显示左上角顶点位置 @参数3 path:位图文件路径

字体显示有关调用函数

@函数功能:创建扩展字体类 @参数 obj:一个FreetypeHelper的类或其他符合要求的类

@函数功能:设置字体显示起始位置 @(参数1,参数2) (x, y):光标位置

@函数功能:设置字体格式 @参数1 size:字体的大小。取值1,2,3,... @参数2 color:字体颜色,取值epaper.BLACK,epaper.WHITE。 @参数3 background:字体背景颜色。默认白色 @参数4 intervalRow:字行间距。默认2 @参数5 intervalCol:字列间距。默认0

@函数功能:设置字体的粗细 @参数1 limite: 取值范围0~255

@函数功能:设置扩展字体的宽和高 @参数1 width:宽度 @参数2 height:高度

@函数功能:显示一个字符串 @参数 c:字符串

@函数功能:显示一个字符串,并换行 @参数 c:字符串

##兼容性测试

MCU 测试通过 测试失败 未测试 特别标注
树莓派4
树莓派3B
树莓派3B+
树莓派Zero W
树莓派2B+ v

##常见问题

问:刷新的时候闪烁很长时间,正常吗?

- 答:电子墨水屏对于阅读有众多的好处,因为成像原理,也存在几种难以克服的缺陷,其中就有闪屏和残影。多次翻页之后,墨迹积累到一定程度就会残留墨迹,为了解决这个问题,制造商设计了全屏刷新功能,但另一个问题就产生了,全屏刷新过程屏幕就会闪一会。

如果客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖

##尺寸图

##更多

DFshopping_car1.png DFRobot商城购买链接