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

也可以通过杜邦线进行连接,具体如下表:
| IT8951引脚 | Pi BCM引脚 | 描述 |
|---|---|---|
| 5V | 5V | 电源正(5V电源输入) |
| GND | GND | 电源地 |
| MISO | P9 | SPI通信MISO引脚 |
| MOSI | P10 | SPI通信MOSI引脚 |
| SCK | P11 | SPI通信SCK引脚 |
| CS | P8 | SPI片选引脚(低电平有效) |
| RST | P17 | 外部复位引脚(低电平复位) |
| HRDY | P24 | 忙状态输出引脚(低电平表示忙) |
- Step2 确定拨码开关选择到SPI模式。

- 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,如下图所示:
如果使用 lg、gpiod 库,还需执行下面的操作
# 输入命令
sudo nano /boot/config.txt
# 注释掉 dtparam=spi=on 这一行;并添加
dtoverlay=spi0-0cs

输入命令 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数值,例如下图:
执行程序,并且注意VCOM值作为输入参数,并将显示模式作为输入参数,该屏为模式0
sudo ./epd -1.50 0
- 程序执行现象:
-
首先依次局部刷新16条灰度条
-
接着演示画线,画圆,画矩形,写字符,写数字的示例
-
然后分别演示1bp,2bp,4bp的模式显示bmp图片的示例
-
紧接着演示A2模式快速刷新的效果
-
接着显示一张gif动画
-
然后演示一个统计帧率的Demo
-
最后将屏幕采用Init模式刷白,以便仓库长期存储