7.5inch e-Paper HAT (B) Manual

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

说明

版本说明

  • V3:分辨率和V2版本相同,硬件结构及接口与V2版本兼容,完全兼容V2版本,使用V2程序即可。如果您是第一次采购,并且屏幕背面带有V3标签,直接使用V2程序即可。
  • V2:分辨率为800 × 480,硬件结构和接口与V1版本兼容,使用V2程序。
  • V1:分辨率为640 × 384,使用V1程序。

各项参数

尺寸 7.5英寸
驱动板尺寸 65mm × 30.2mm
显示尺寸 163.2mm × 97.92mm
外形尺寸(裸屏) 170.2mm × 111.2mm × 1.18mm
工作电压 3.3V / 5V(IO电平电压要和供电电压一致)
通信接口 SPI
点距 0.205mm × 0.204mm
分辨率 800 × 480
显示颜色 黑、白 、红
灰度等级 2
刷新时间 16s
刷新功耗 48mW(typ.)
休眠电流 < 0.01uA(接近0)
  • 刷新时间:刷新时间为实验测试数据,实际刷新时间会有误差,以实际效果为准。全局刷新过程中会有闪烁效果,这个是正常现象。
  • 刷新功耗:功耗数据为实验测试数据,实际功耗由于驱动板的存在和实际使用情况不同,会有一定误差,以实际效果为准。

通信方式

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°。因此,电子纸显示屏非常适合阅读。

编程原理

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

E-paper hardware work 1.png

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

E-paper hardware work 2.png

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

E-paper 1in54b pixel.png

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

E-paper 1in54b pixel 2.png

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

E-paper BWR 3.png

注意事项

  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 排针上去,注意对好引脚。
如果是选择用 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
PWR 1 12

开启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月之后的系统(早于之前的可不用执行),可能需要进行升级:
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 wget https://www.waveshare.net/w/upload/7/71/E-Paper_code.zip
unzip E-Paper_code.zip -d e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • 备用解压方式
sudo apt-get install p7zip-full
7z x E-Paper_code.zip -O./e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • 通过 GitHub 下载程序(备用方式,已下载可跳过)

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

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/RaspberryPi_JetsonNano/
  • 编译程序(说明:-j4 为使用4线程编译,数字可自行修改;EPD=epd7in5bV2 是指定一个宏定义,epd7in5bV2 对应主函数中的测试程序)
# 此时在 e-Paper/RaspberryPi_JetsonNano 位置
cd c
sudo make clean
sudo make -j4 EPD=epd7in5bV2
  • 运行程序
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 RPi.GPIO
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 RPi.GPIO
sudo pip install spidev
  • 下载程序(已下载可跳过)
wget wget https://www.waveshare.net/w/upload/7/71/E-Paper_code.zip
unzip E-Paper_code.zip -d e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • 备用解压方式
sudo apt-get install p7zip-full
7z x E-Paper_code.zip -O./e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • 通过 GitHub 下载程序(备用方式,已下载可跳过)

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

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


Arduino

硬件连接

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

Arduino连接引脚对应关系
e-Paper Arduino UNO Mega2560
VCC 5V 5V
GND GND GND
DIN D11 D51
CLK D13 D52
CS D10 D10
DC D9 D9
RST D8 D8
BUSY D7 D7
PWR D6 D6

安装IDE

Arduino IDE Windows 安装教程

运行程序

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

E-paper arduino cede1.jpg

  • 打开测试程序:E-Paper_code\Arduino\epd7in5b_V2\epd7in5b_V2.ino

E-paper arduino cede1 7in5b.jpg

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

E-paper arduino cede2.jpg

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

E-paper arduino cede3.jpg


Jetson Nano

硬件连接

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

Jetson nano连接引脚对应关系
e-Paper Jetson Nano Developer Kit
BCM2835编码 Board物理引脚序号
VCC 3.3V 3.3V
GND GND GND
DIN 10(SPI0_MOSI) 19
CLK 11(SPI0_SCK 23
CS 8(SPI0_CS0) 24
DC 25 22
RST 17 11
BUSY 24 18
PWR 1 12

运行C语言例程

  • 下载程序(已下载可跳过)
wget wget https://www.waveshare.net/w/upload/7/71/E-Paper_code.zip
unzip E-Paper_code.zip -d e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • 备用解压方式
sudo apt-get install p7zip-full
7z x E-Paper_code.zip -O./e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • 通过 GitHub 下载程序(备用方式,已下载可跳过)

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

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/RaspberryPi_JetsonNano/
  • 编译程序(说明:JETSON 是指定设备为 jetson nano,不指定默认为树莓派;-j4 为使用4线程编译,数字可自行修改;EPD=epd7in5bV2 为指定一个宏定义,epd7in5bV2 对应主函数中的测试程序)
# 此时在 e-Paper/RaspberryPi_JetsonNano 位置
cd c
sudo make clean
sudo make JETSON -j4 EPD=epd7in5bV2
  • 运行程序
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 wget https://www.waveshare.net/w/upload/7/71/E-Paper_code.zip
unzip E-Paper_code.zip -d e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • 备用解压方式
sudo apt-get install p7zip-full
7z x E-Paper_code.zip -O./e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • 通过 GitHub 下载程序(备用方式,已下载可跳过)

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

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


Sunrise X3 Pi

硬件连接

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

Sunrise X3 Pi连接引脚对应关系
e-Paper Sunrise X3 Pi
BCM编码 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
PWR 1 12

开启SPI

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

Sunrise X3 Pi SPI E-paper-0.jpg
Sunrise X3 Pi SPI E-paper-1.jpg
Sunrise X3 Pi SPI E-paper-2.jpg

运行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 wget https://www.waveshare.net/w/upload/7/71/E-Paper_code.zip
unzip E-Paper_code.zip -d e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • 备用解压方式
sudo apt-get install p7zip-full
7z x E-Paper_code.zip -O./e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • 通过 GitHub 下载程序(备用方式,已下载可跳过)

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

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


STM32

硬件连接

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

STM32连接引脚对应关系
e-Paper STM32
VCC 3.3V
GND GND
DIN PA7
CLK PA5
CS PA4
DC PA2
RST PA1
BUSY PA3
PWR PA6

运行程序

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

E-paper stm32 cede0.jpg

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

E-paper stm32 cede1.jpg

  • 在图片所示位置选择 EPD_7in5b_V2_test 目标

E-paper_stm32_cede1_7in5b.jpg

  • 点击编译。

E-paper stm32 cede3.jpg

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

技术支持

联系人:张工
邮箱:3004637648@qq.com
QQ:3004637648
微信:扫下方二维码添加
QRCode SiminZhang.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证