模板: PCF8574 for RPI use

来自Waveshare Wiki
跳转至: 导航搜索

开启I2C接口

  • 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 
选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动

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

sudo reboot

安装库

如果使用bookworm系统,只能使用lgpio库,bcm2835跟wiringPi无法安装与使用

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

#打开树莓派终端,并运行以下指令
cd
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.70版本,如果没有出现说明安装出错

lgpio

#打开树莓派终端,并运行以下指令
wget https://github.com/joan2937/lg/archive/master.zip
unzip master.zip
cd lg-master
sudo make install

# 更多的可以参考官网:https://github.com/gpiozero/lg
  • 安装Python函数库
#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 apt-get install p7zip-full -y
sudo wget  https://www.waveshare.net/w/upload/1/14/PCF8574-Code.7z
7z x PCF8574-Code.7z -O./PCF8574-Code
cd PCF8574-Code/RaspberryPi/

硬件连接

树莓派连接引脚对应关系
PCF8574 Raspberry Pi 功能
Board物理引脚序号
VCC 5V 电源输入
GND GND 电源地
SDA 3 I2C数据输入
SCL 5 I2C时钟信号

PCF8574 RPI 2.jpg

运行测试程序

以下命令请在RaspberryPi下执行,否则不在索引不到目录;

C语言

  • 重新编译,编译过程可能需要几秒
cd wiringPi
sudo make clean
sudo make 
sudo ./test

python

cd python
sudo python3 PCF8574.py

现象

在树莓派运行程序后,你可以使用万用表测试每个IO口的电压值,正常是P0~P3为高,P4~P7为低,显示出当前8个IO的电平,如下图所示:

c

PCF8574 RPI C 1.jpg

python

PCF8574 RPI Python 1.jpg