AW9523B IO Expansion Board教程

产品简介

AW9523B是一款I2C接口、16路呼吸灯,每路可作扩展 GPIO 控制器。支持同时使用 4 个扩展模块,可扩展 64 个 I/O 口。

产品特性

参数名称参数
转换芯片AW9523B
工作电压3.3V/5V
IO数16位
总线接口I2C

接口说明

引脚功能
VCC电源正(3.3V/5V)
GND电源地
SDAI2C数据输入
SCLI2C时钟信号
INT中断输出
RST模块复位

谨防假冒

已发现市面上有此产品的假冒伪劣品,使用劣质材料,没有测试。敬请注意!
可联系我们,确认你在其他网店浏览的或已购买的是否为正品。

RPI使用教程

开启I2C接口

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


然后重启树莓派:

sudo reboot

安装库

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版本,如果没有出现说明安装出错

下载测试程序

打开树莓派终端,执行:

sudo apt-get install p7zip-full -y
sudo wget  https://www.waveshare.net/w/upload/b/b8/AW9523B-IO-Expansion-Board-Code.7z
7z x AW9523B-IO-Expansion-Board-Code.7z -O./AW9523B-IO-Expansion-Board-Code
cd AW9523B-IO-Expansion-Board-Code/RaspberryPi/

硬件连接

树莓派连接引脚对应关系
PCF8574Raspberry Pi功能
Board物理引脚序号
VCC5V电源输入
GNDGND电源地
SDA3I2C数据输入
SCL5I2C时钟信号
INT16中断输入(可悬空)
RST18模块复位(可悬空)


运行测试程序

以下命令请在AW9523B-IO-Expansion-Board-Code/RaspberryPi/目录下执行,否则不在索引不到目录;

C语言

  • 重新编译,并运行
cd C
sudo make clean
sudo make 
sudo ./main

默认例程使用了中断,请在//boot/config.txt中加入如下语句,将23脚配置成上拉,否则中断无法生效

gpio=23=pu


python

cd python
sudo python AW9523B.py

现象

一次将PA0接上PB0,依次类推8组,其中PA的8端口为输出,PB的8端口为输入,每0.5S依次将PA的8个引脚输出高电平,每次状态改变都会触发中断管脚,PB接收到高电平并打印

Arduino使用教程

本例程已经在Arduino uno上测试通过,直接按下表连接Arduino uno即可

硬件连接

您可以对照以下表格连线。

Arduino连接引脚对应关系
PCF8574Arduino功能
VCC5V电源输入
GNDGND电源地
SDASDAI2C数据输入
SCLSCLI2C时钟信号
INTD3中断输出(可不接)
RSTD4复位(可不接)


安装编译软件(Windows教程)

arduino IDE 安装教程

运行程序

在我们提供的资料里面下载程序,并解压,再进入AW9523B-IO-Expansion-Board-Code目录下,将AW9523B-Arduino-Library目录拷贝到Arduino安装目录的libraries下,一般是C:\Program Files (x86)\Arduino\libraries
打开 Ariduino IDE,开发板选择好UNO,打开实例文件(File-> Example)

编译下载后,打开监视器即可看到打印

现象

一次将PA0接上PB0,依次类推8组,其中PA的8端口为输出,PB的8端口为输入,依次将PA的8个引脚输出高电平,每次状态改变都会触发中断管脚,PB接收到高电平并打印

STM32使用教程

我们提供的例程是基于STM32F103RBT6,提供的连接方式是对应的STM32F103RBT6的引脚为例,如果有需要使用其他STM32,请按实际引脚连接

硬件连接

STM32F103RB连接引脚对应关系
PCF8574STM32功能
VCC3.3V电源输入
GNDGND电源地
SDAPB9I2C数据输入
SCLPB8I2C时钟信号
INTPB8中断输出(默认不接)
RSTPB8复位(默认不接)


软件说明

例程是基于HAL库进行开发的。 请在资料里面下载程序,找到STM32程序文件目录,打开TM32\STM32F103RB\MDK-ARM
目录下的demo.uvprojx,即可看到程序。
STM32没有接RST和IN2个管脚,下载成功后,运行SSCOM,就可以实时查看打印数据了。

现象

1、你可以使用万用表测试每个IO口的电压值,正常是P0~P3为高,P4~P7为低。
2、打开串口调试软件,显示出当前8个IO的电平。