2.15inch e-Paper (B) 使用教程

各项参数

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

通信方式


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


工作原理

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

折叠

编程原理

  • 对于黑白图片,我们可以规定,如果是黑色我们定义成0,如果是白色就定义成1,那么有了表示颜色的方式:
    • 白色:□,对应1
    • 黑色:■:对应0
  • 一个点在图形上一般称之为像素点(pixel),而颜色不是1就是0,也就是1个位就可以标识颜色:1Pixel = 1bit,那么一个字节里面就包含了8个像素点。
  • 以16个像素点为例,我们假设前8个像素点为黑,后8个像素点为白色,那么可以这么认为,像素点1-16,对应这0位到15位,0表示黑色,1表示白色:


  • 对于计算机而言,它的数据存储方式是高位在前,低位在后,且一个字节只有8个位,因此会有一点改变:


  • 这样只需要2个字节即可表示16个像素点了。
  • 对于2.15inch e-paper B,是红黑白三色,我们需要把图片拆成2张图片,一张黑白图片,一张红白图片,在传输的时候因为一个寄存器是控制黑白显示的,一个寄存器是控制红白显示。黑白部分1个字节控制8个像素点,红白部分1个字节控制8个像素点
  • 假设有8个像素点,前面4个是红色,后面4个黑色,那就需要把他们拆成一个黑白图片,一个红白图片,这两个图片都是8个像素点,只不过黑白图片前四个像素为白色,后4个像素点为黑色,而红白图片前4个像素点为红色,后四个像素点为白色


  • 如果我们规定,白色存储为1,红色或者黑色存储为0,那么就有了如下的表示:


  • 而黑白部分1个字节控制8个像素点,红白部分1个字节控制8个像素点,那么可以如下表示:



注意事项

  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. 我们建议客户拿到屏幕之后,先用我们提供的示例程序,使用对应的开发板进行测试。



Raspberry Pi

硬件连接

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

树莓派连接引脚对应关系
e-PaperRaspberry Pi
BCM2835编码Board物理引脚序号
VCC3.3V3.3V
GNDGNDGND
DINMOSI19
CLKSCLK23
CSCE024
DC2522
RST1711
BUSY2418
PWR1812

开启SPI接口

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


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


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


运行C语言例程

  • 安装 lg 库
#打开树莓派终端,并运行以下指令:
wget https://github.com/joan2937/lg/archive/master.zip
unzip master.zip
cd lg-master
make
sudo make install
# 更多的可以参考源码:https://github.com/gpiozero/lg

  • 安装 gpiod 库(可选)
#打开树莓派终端,并运行以下指令:
sudo apt-get update
sudo apt install gpiod libgpiod-dev

  • 安装 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月之后的系统(早于之前的可不用执行),可能需要进行升级:
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# 运行 gpio -v 会出现 2.52 版本,如果没有出现,说明安装出错。

#Bullseye 分支系统使用如下命令:
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
gpio -v
# 运行 gpio -v 会出现 2.60 版本,如果没有出现,说明安装出错。
  • 下载程序(已下载可跳过)
wget https://www.waveshare.net/w/upload/2/2b/2in15_e-Paper_B.zip
unzip 2in15_e-Paper_B.zip -d 2in15_e-Paper_B
cd 2in15_e-Paper_B/RaspberryPi_JetsonNano/

  • 备用解压方式
sudo apt-get install p7zip-full
7z x 2in15_e-Paper_B.zip -O./2in15_e-Paper_B
cd 2in15_e-Paper_B/RaspberryPi_JetsonNano/

  • 通过 GitHub 下载程序(备用方式,已下载可跳过)

目前访问 GitHub 并不是很流畅,建议使用上面的方法从我们官网下载。

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/E-paper_Separate_Program/2in15_e-Paper_B/RaspberryPi_JetsonNano/
  • 编译程序(说明:-j4 为使用4线程编译,数字可自行修改;)
# 此时在 2in15_e-Paper_B/RaspberryPi_JetsonNano 位置
cd c
sudo make clean
sudo make -j4
  • 运行程序
sudo ./epd

运行python例程

  • 安装函数库
sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pil
sudo apt-get install python3-numpy
sudo pip3 install spidev

  • 安装函数库(python2)
sudo apt-get update
sudo apt-get install python-pip
sudo apt-get install python-pil
sudo apt-get install python-numpy
sudo pip install spidev

  • 安装gpiozero库(系统默认已安装,如果没有安装请按照以下命令进行安装)
sudo apt-get update
# python3
sudo apt install python3-gpiozero
# python2
sudo apt install python-gpiozero
  • 下载程序(已下载可跳过)
wget https://www.waveshare.net/w/upload/2/2b/2in15_e-Paper_B.zip
unzip 2in15_e-Paper_B.zip -d 2in15_e-Paper_B
cd 2in15_e-Paper_B/RaspberryPi_JetsonNano/

  • 备用解压方式
sudo apt-get install p7zip-full
7z x 2in15_e-Paper_B.zip -O./2in15_e-Paper_B
cd 2in15_e-Paper_B/RaspberryPi_JetsonNano/

  • 通过 GitHub 下载程序(备用方式,已下载可跳过)

目前访问 GitHub 并不是很流畅,建议使用上面的方法从我们官网下载。

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/E-paper_Separate_Program/2in15_e-Paper_B/RaspberryPi_JetsonNano/
  • 运行程序
# 确保在 2in15_e-Paper_B/RaspberryPi_JetsonNano/ 位置
cd python/examples/
python3 epd_2in15b_test.py



Arduino

硬件连接

使用 9PIN 排线连接,请参考下方的引脚对应表格:

Arduino连接引脚对应关系
e-PaperArduino UNOMega2560
VCC5V5V
GNDGNDGND
DIND11D51
CLKD13D52
CSD10D10
DCD9D9
RSTD8D8
BUSYD7D7
PWRD6D6

安装IDE

Arduino IDE Windows 安装教程

运行程序

  • 在资料界面下载程序,然后解压进入 2in15_e-Paper_B 目录可以看到下面的内容


  • 打开测试程序:2in15_e-Paper_B\Arduino_R4\Arduino_R4.ino


  • 在 Arduino IED 中的工具栏(Tools)选择对应的开发板(Board)和端口(Port)


  • 最后点击上传即可,上传成功如下(Arduino 1.8.13)




Jetson Nano

硬件连接

Jetson Nano 的 40PIN 引脚是兼容树莓派的 40PIN 引脚的,并且提供了一个 Jetson.GPIO 库跟树莓派的 RPI.GPIO 库的 API 是一致的,所以这里连接的序号跟树莓派的是一样的,使用 40PIN 接口时,可以直接将模块插入 Jetson Nano 的 40Pin 排座。
如果是选择用 9PIN 排线连接的话,请参考下方的引脚对应表格:

Jetson nano连接引脚对应关系
e-PaperJetson Nano Developer Kit
BCM2835编码Board物理引脚序号
VCC3.3V3.3V
GNDGNDGND
DIN10(SPI0_MOSI)19
CLK11(SPI0_SCK23
CS8(SPI0_CS0)24
DC2522
RST1711
BUSY2418
PWR1812

运行C语言例程

  • 下载程序(已下载可跳过)
wget https://www.waveshare.net/w/upload/2/2b/2in15_e-Paper_B.zip
unzip 2in15_e-Paper_B.zip -d 2in15_e-Paper_B
cd 2in15_e-Paper_B/RaspberryPi_JetsonNano/

  • 备用解压方式
sudo apt-get install p7zip-full
7z x 2in15_e-Paper_B.zip -O./2in15_e-Paper_B
cd 2in15_e-Paper_B/RaspberryPi_JetsonNano/

  • 通过 GitHub 下载程序(备用方式,已下载可跳过)

目前访问 GitHub 并不是很流畅,建议使用上面的方法从我们官网下载。

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/E-paper_Separate_Program/2in15_e-Paper_B/RaspberryPi_JetsonNano/
  • 编译程序(说明:JETSON 是指定设备为 jetson nano,不指定默认为树莓派;-j4 为使用4线程编译,数字可自行修改)
# 此时在 2in15_e-Paper_B/RaspberryPi_JetsonNano 位置
cd c
sudo make clean
sudo make JETSON -j4 
  • 运行程序
sudo ./epd

运行python例程

  • 安装函数库
sudo apt-get update
sudo apt-get install python3-numpy
sudo apt-get install python3-pip
sudo pip3 install Jetson.GPIO
  • 下载程序(已下载可跳过)
wget https://www.waveshare.net/w/upload/2/2b/2in15_e-Paper_B.zip
unzip 2in15_e-Paper_B.zip -d 2in15_e-Paper_B
cd 2in15_e-Paper_B/RaspberryPi_JetsonNano/

  • 备用解压方式
sudo apt-get install p7zip-full
7z x 2in15_e-Paper_B.zip -O./2in15_e-Paper_B
cd 2in15_e-Paper_B/RaspberryPi_JetsonNano/

  • 通过 GitHub 下载程序(备用方式,已下载可跳过)

目前访问 GitHub 并不是很流畅,建议使用上面的方法从我们官网下载。

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/E-paper_Separate_Program/2in15_e-Paper_B/RaspberryPi_JetsonNano/
  • 运行程序
# 确保在 2in15_e-Paper_B/RaspberryPi_JetsonNano/ 位置
cd python/examples/
python3 epd_2in15b_test.py



Sunrise X3 Pi

硬件连接

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

Sunrise X3 Pi连接引脚对应关系
e-PaperSunrise X3 Pi
BCM编码Board物理引脚序号
VCC3.3V3.3V
GNDGNDGND
DINMOSI19
CLKSCLK23
CSCE024
DC2522
RST1711
BUSY2418
PWR1812

开启SPI


  • SPI 是默认开启的,如果不小心关闭请按照以下方法进行开启
  • 输入命令 : sudo srpi-config


运行python程序


  • 对应的库在函数中已安装完成,如果不小心卸载,请使用下面的命令进行安装
sudo apt-get update
sudo apt-get install python-pip
sudo apt-get install python-pil
sudo apt-get install python-numpy
sudo pip install Hobot.GPIO
sudo pip install spidev
  • 下载程序(已下载可跳过)
wget https://www.waveshare.net/w/upload/2/2b/2in15_e-Paper_B.zip
unzip 2in15_e-Paper_B.zip -d 2in15_e-Paper_B
cd 2in15_e-Paper_B/RaspberryPi_JetsonNano/

  • 备用解压方式
sudo apt-get install p7zip-full
7z x 2in15_e-Paper_B.zip -O./2in15_e-Paper_B
cd 2in15_e-Paper_B/RaspberryPi_JetsonNano/

  • 通过 GitHub 下载程序(备用方式,已下载可跳过)

目前访问 GitHub 并不是很流畅,建议使用上面的方法从我们官网下载。

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/E-paper_Separate_Program/2in15_e-Paper_B/RaspberryPi_JetsonNano/
  • 运行程序
# 确保在 2in15_e-Paper_B/RaspberryPi_JetsonNano/ 位置
cd python/examples/
python3 epd_2in15b_test.py



STM32

硬件连接

使用 9PIN 排线连接,请参考下方的引脚对应表格:

STM32连接引脚对应关系
e-PaperSTM32
VCC3.3V
GNDGND
DINPA7
CLKPA5
CSPA4
DCPA2
RSTPA1
BUSYPA3
PWRPA6

运行程序

  • 点击下载程序,然后解压进入 2in15_e-Paper_B 目录可以看到下面的内容


  • 使用 Keil 打开 4inch_e-Paper_E\STM32-F103ZET6\MDK-ARM 目录下的 epd-demo.uvprojx
  • 打开 Keil 的编译工具栏(一般情况已经打开了)


  • 点击编译。
  • 确保已连接合适的烧录器,然后点击下载(LOAD)将程序下载到单片机中

资料

文档

程序

开发资料


技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841