跳到主要内容

搭配 树莓派 使用

  • Step1 硬件连接如下图,把HAT直接接到树莓派的GPIO接口上,使用SPI接口与树莓派通信。

7

也可以通过杜邦线进行连接,具体如下表:

IT8951引脚Pi BCM引脚描述
5V5V电源正(5V电源输入)
GNDGND电源地
MISOP9SPI通信MISO引脚
MOSIP10SPI通信MOSI引脚
SCKP11SPI通信SCK引脚
CSP8SPI片选引脚(低电平有效)
RSTP17外部复位引脚(低电平复位)
HRDYP24忙状态输出引脚(低电平表示忙)
  • Step2 确定拨码开关选择到SPI模式。

10

  • Step3 安装 C 函数库,打开树莓派终端,执行如下代码:

1.安装 BCM2835(Pi4建议使用这个,速度较快)

wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
tar zxvf bcm2835-1.60.tar.gz
cd bcm2835-1.60/
sudo ./configure
sudo make
sudo make check
sudo make install
# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/

2.安装 lg 库(Pi5建议使用这个,BCM库目前不支持Pi5)

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

3.安装 gpiod 库(可选)

#打开树莓派终端,并运行以下指令:
sudo apt-get update
sudo apt install gpiod libgpiod-dev
  • Step4 开启SPI

树莓派采用SPI驱动IT8951继而驱动墨水屏,首先需要开启SPI,开启方法如下:

打开终端命令行,输入命令:

sudo raspi-config

然后依次执行:Interfacing Options->P4->SPI->Yes,如下图所示:

20191213173321

如果使用 lg、gpiod 库,还需执行下面的操作

# 输入命令
sudo nano /boot/config.txt
# 注释掉 dtparam=spi=on 这一行;并添加
dtoverlay=spi0-0cs

E-paper for RPI use IT8951-1

输入命令 sudo reboot 重启树莓派激活配置

  • Step5 编译并执行程序

下载并编译Demo程序,执行如下命令进行下载并编译:

方式一:从我们官网下载,推荐使用

sudo apt-get install p7zip-full
sudo wget https://www.waveshare.net/w/upload/8/80/IT8951_20200319_Release.7z
7z x IT8951_20200319_Release.7z -O./IT8951
cd IT8951/
sudo make clean
sudo make -j4
# 默认使用 BCM 库,如需使用其他库请在Makefile文件中修改或使用下面的命令
make -j4 LIB=LGPIO # 使用lg库
make -j4 LIB=GPIOD # 使用gpiod库

方式二:从github下载

git clone https://github.com/waveshare/IT8951-ePaper.git
cd IT8951-ePaper/Raspberry
sudo make clean
sudo make -j4
# 默认使用 BCM 库,如需使用其他库请在Makefile文件中修改或使用下面的命令
make -j4 LIB=LGPIO # 使用lg库
make -j4 LIB=GPIOD # 使用gpiod库,需要修改 Makefile 文件里的在使用的库为gpiod库

从FPC线上查看VCOM数值,例如下图:

20191218185933

执行程序,并且注意VCOM值作为输入参数,并将显示模式作为输入参数,该屏为模式0

sudo ./epd -1.50 0
  • 程序执行现象:
  1. 首先依次局部刷新16条灰度条

  2. 接着演示画线,画圆,画矩形,写字符,写数字的示例

  3. 然后分别演示1bp,2bp,4bp的模式显示bmp图片的示例

  4. 紧接着演示A2模式快速刷新的效果

  5. 接着显示一张gif动画

  6. 然后演示一个统计帧率的Demo

  7. 最后将屏幕采用Init模式刷白,以便仓库长期存储