AW9523B是一款I2C接口、16路呼吸灯,每路可作扩展 GPIO 控制器。支持同时使用 4 个扩展模块,可扩展 64 个 I/O 口。
参数名称 | 参数 |
转换芯片 | AW9523B |
工作电压 | 3.3V/5V |
IO数 | 16位 |
总线接口 | I2C |
引脚 | 功能 |
VCC | 电源正(3.3V/5V) |
GND | 电源地 |
SDA | I2C数据输入 |
SCL | I2C时钟信号 |
INT | 中断输出 |
RST | 模块复位 |
已发现市面上有此产品的假冒伪劣品,使用劣质材料,没有测试。敬请注意!
可联系我们,确认你在其他网店浏览的或已购买的是否为正品。
sudo raspi-config 选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动
sudo reboot
#打开树莓派终端,并运行以下指令 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/
#打开树莓派终端,并运行以下指令 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/
PCF8574 | Raspberry Pi | 功能 |
Board物理引脚序号 | ||
VCC | 5V | 电源输入 |
GND | GND | 电源地 |
SDA | 3 | I2C数据输入 |
SCL | 5 | I2C时钟信号 |
INT | 16 | 中断输入(可悬空) |
RST | 18 | 模块复位(可悬空) |
以下命令请在AW9523B-IO-Expansion-Board-Code/RaspberryPi/目录下执行,否则不在索引不到目录;
cd C sudo make clean sudo make sudo ./main
默认例程使用了中断,请在//boot/config.txt中加入如下语句,将23脚配置成上拉,否则中断无法生效
gpio=23=pu
cd python sudo python AW9523B.py
一次将PA0接上PB0,依次类推8组,其中PA的8端口为输出,PB的8端口为输入,每0.5S依次将PA的8个引脚输出高电平,每次状态改变都会触发中断管脚,PB接收到高电平并打印
本例程已经在Arduino uno上测试通过,直接按下表连接Arduino uno即可
您可以对照以下表格连线。
PCF8574 | Arduino | 功能 |
VCC | 5V | 电源输入 |
GND | GND | 电源地 |
SDA | SDA | I2C数据输入 |
SCL | SCL | I2C时钟信号 |
INT | D3 | 中断输出(可不接) |
RST | D4 | 复位(可不接) |
在我们提供的资料里面下载程序,并解压,再进入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接收到高电平并打印
我们提供的例程是基于STM32F103RBT6,提供的连接方式是对应的STM32F103RBT6的引脚为例,如果有需要使用其他STM32,请按实际引脚连接
PCF8574 | STM32 | 功能 |
VCC | 3.3V | 电源输入 |
GND | GND | 电源地 |
SDA | PB9 | I2C数据输入 |
SCL | PB8 | I2C时钟信号 |
INT | PB8 | 中断输出(默认不接) |
RST | PB8 | 复位(默认不接) |
例程是基于HAL库进行开发的。 请在资料里面下载程序,找到STM32程序文件目录,打开TM32\STM32F103RB\MDK-ARM
目录下的demo.uvprojx,即可看到程序。
STM32没有接RST和IN2个管脚,下载成功后,运行SSCOM,就可以实时查看打印数据了。
1、你可以使用万用表测试每个IO口的电压值,正常是P0~P3为高,P4~P7为低。
2、打开串口调试软件,显示出当前8个IO的电平。