模板:E-Paper-connecting-settings

来自丢石头百科

我们提供了基于4个硬件平台的示例程序,分别是Arduino UNO, Jetson Nano, Raspberry Pi 以及STM32。您可以根据自己的需求查看。(本模块为通用模板,请确认好您使用的墨水屏型号,使用正确的程序)

Arduino UNO

由于我们提供的示例程序是基于Arduino UNO,所以对应给出的硬件连接也是基于Arduino UNO. 如果你要连接屏幕到别的Arduino开发板,请先确认您的开发板接口是否兼容Arduino UNO. 如果不兼容UNO,需要修改硬件连接方式,以实际开发板引脚为准。

硬件连接

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

运行程序

在产品百科界面下载程序,然后解压。Arduino程序位于 ~/Arduino UNO/…
请根据墨水屏型号选择对应的程序打开。比如1.54inch e-Paper Module. 打开epd1in54文件夹,并运行epd1in54.ino文件。
打开程序,选择开发板型号和对应COM口,然后点击编译并下载即可。
需要注意的是:由于Arduino UNO的RAM小的可怜,无法分配过大的内存用于处理画图等功能,所以部分大尺寸的屏幕例程只演示刷新图片,这个图片是存储在flash中,如需要使用Arduino UNO控制请使用e-Paper_Shield控制

Raspberry Pi

硬件连接

连接树莓派的时候,如果是驱动板带有40pin排座的,可以直接插到树莓派的40PIN排针上去,注意对好引脚。如果是选择用8PIN排线连接的话,请参考下方的引脚对应表格
对于1.02inch e-paper Module使用的是排针,需要对照以下表格连线

树莓派连接引脚对应关系
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

开启SPI接口

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

RPI open spi.png
然后重启树莓派:

sudo reboot

请确保SPI没有被其他的设备占用,你可以在/boot/config.txt中间检查

安装库

  • 安装BCM2835, 打开树莓派终端,并运行一下指令
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/
  • 安装wiringPi
sudo apt-get install wiringpi
#对于树莓派4B可能需要进行升级:
cd /tmp
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.70版本,如果没有出现说明安装出错
  • 安装Python函数库
#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
#python3
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

下载测试程序

打开树莓派终端,执行:

sudo git clone https://github.com/waveshare/e-Paper
cd e-Paper/RaspberryPi_JetsonNano/

运行测试程序

  • C语言

找到mian.c文件,打开并将对应自己的墨水屏型号的注释去掉,然后编译并运行程序

cd c
sudo make clean
sudo make
sudo ./epd
  • python

根据墨水屏型号运行对应的例程, xxx对应墨水屏型号,比如1.54: epd_1in54.py

cd python/examples
# python2
sudo python epdxxx.py
# python3
sudo python3 epdxxx.py

Jetson nano Developer Kit

Jetson nano程序使用的是模拟SPI,所以刷新速度会相对较慢一些

硬件连接

Jetson Nano的40PIN引脚是兼容树莓派的40PIN引脚的,并且提供了一个Jetson.GPIO库跟树莓派的RPI.GPIO 库的API是一致的,所以这里连接的序号跟树莓派的是一样的

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

软件设置

安装函数库

  • 打开终端界面,输入以下指令安装相应的函数库
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install Jetson.GPIO
sudo groupadd -f -r gpio
sudo usermod -a -G gpio your_user_name
sudo cp /opt/nvidia/jetson-gpio/etc/99-gpio.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger

【注意】your_user_name 是你使用的用户名

  • 安装I2C
sudo apt-get install python-smbus
  • 安装图像处理库:
sudo apt-get install python3-pil
sudo apt-get install python3-numpy

下载测试程序

打开linux终端,执行:

sudo git clone https://github.com/waveshare/e-Paper
cd e-Paper/RaspberryPi\&JetsonNano/

运行测试程序

  • C语言

找到mian.c文件,打开并将对应自己的墨水屏型号的注释去掉,然后编译并运行程序

cd c
make clear
make
sudo ./epd
  • python

根据墨水屏型号运行对应的例程, xxx对应墨水屏型号,比如1.54: epd_1in54.py

cd python/examples
# python2
sudo python epdxxx.py
# python3
sudo python3 epdxxx.py

STM32

硬件连接

我们提供的例程是基于STM32F103ZET6的,提供的连接方式也是对应的STM32F103ZET6的引脚,如果有需要移植程序,请按实际引脚连接

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

运行程序

下载程序,找到STM32程序文件目录并打开STM32工程。注意使用前先确保电脑已经安装好keil5软件。
确认好开发板型号,并连接好下载器。点击编译,然后点击下载将程序下载到开发板即可