_SKU_DFR0334__GPIO_Shield_for_Arduino_V1.0 - jimaobian/DFRobotWikiCn GitHub Wiki
简介
普通的Arduino主板只有20个管脚,平时稍不留神,能用的就不足一半了。如果遇到一个键盘类应用,需要更多的管脚资源,但你又不想更换平台,那怎么办? DFRobot最新推出GPIO I/O扩展板,专为Arduino设计,能够提供36个可用I/O引脚,其中包含14个Arduino数字管脚,6个Arduino模拟管脚和16个I2C数字管脚。极大地扩展了Arduino 的管脚资源,接口兼容DFRobot大部分的传感器和模块,并且符合杜邦线和面包板孔径,可以与之同时使用,方便快捷,简单实用。能够为电子爱好者或者原型开发者省去繁琐的接线过程和故障排除时间,大大提高开发效率,使他们能够更加专注地去实现自己的创意和想法。另外,扩展板还具备外接电源接口,可直接外接供电,不必担忧电源问题。
产品参数
- Arduino数字管脚:14, D0-D13
- Arduino模拟管脚:6, A0~A5
- IIC转数字管脚:16, P0.0~P0.7;P1.0~P1.7
- IIC端口:1
- UART端口:1
- 供电:5VDC/外接供电(跳帽切换)
- RST复位按钮:1
- 尺寸:53.34*54.48 mm
- 重量:30g
引脚说明
| | | | ------------------------------------------------------------ | | | : | |
标号 | 名称 | 功能描述 |
1 | 外部电源输入 | DC5V |
2 | I2C接口 | 用于I2C通信 |
3 | 数字接口 | D0~D13, 黑色:GND ,红色:5V ,绿色:数字信号 |
4 | PCA9555DB芯片控制接口 | 地址引脚 |
5 | UART接口 | 用于串口通信 |
6 | 模拟接口 | A0~A5, 黑色:GND ,红色:5V ,蓝色:模拟信号 |
7 | I2C转GPIO接口 | P0.0~P0.7; P1.0~P1.7, 黑色:GND ,红色:5V ,绿色:数字信号 |
8 | 跳线帽供电接口 | 底板/外部供电选择, VCC:扩展板VCC电源,PWR:外接电源,5V:板载电源 |
9 | 复位按键 | 复位 |
PCA9555DB控制接口
- A0~A2地址引脚
- 可根据需求,切换8个地址(地址范围0x20~0x27)
插上 = 0 拔下 = 1
A2 | A1 | A0 | I2C Address |
0 | 0 | 0 | 0x20(默认) |
0 | 0 | 1 | 0x21 |
0 | 1 | 0 | 0x22 |
0 | 1 | 1 | 0x23 |
1 | 0 | 0 | 0x24 |
1 | 0 | 1 | 0x25 |
1 | 1 | 1 | 0x26 |
1 | 1 | 1 | 0x27 |
D&A
扩展板有“D”和“A”的字样。 “D”:代表的是数字信号(Digital Signal)。也就是对应连接到控制板的数字引脚。 “A”:代表的是模拟信号(Analog Signal)。也就是对应连接到控制板的模拟引脚。
特别说明下DF中的颜色区分:
绿色:数字信号(Digital Signal)
蓝色:模拟信号(Analog Signal)
红色:电源
黑色:GND
信号,VCC,GND这样的顺序,与传感器的线序一一对应,大大省去了接线的困扰。
输入电源切换
跳帽插上相应接口,选择相应的输入。
扩展板提供了可外部输入电源的接口,外部输入有两种接口可选择,可以从底板输入或者由扩展板外部输入电源PWR(DC5V) 输入,输入电压都是5V。
各类型插座
- 有14个数字端口(D0-D13),和6个模拟端口(A0-A5)。
- 有1个I2C端口
- 有1个UART端口
- 有16个I2C转GPIO接口
使用教程
准备
- 硬件
- Bluno蓝牙4.0控制器 x1
- GPIO Shield for Arduino x1
- 按钮模块x1
- LED 模块x1
- 软件
- Arduino IDE
接线图
样例代码
这个环节,我们将使用nicoverduin写的Arduino 库 点击访问Github Library. 如何安装Arduino Library.
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#include "clsPCA9555.h"
#include "Wire.h"
PCA9555 ioport(0x20);
void setup()
{
ioport.pinMode(8, OUTPUT); //Set GPIOs pinMode LED
ioport.pinMode(15, INPUT); //Button
}
void loop()
{
if (ioport.digitalRead(ED15) == LOW) {
ioport.digitalWrite(8, LOW); //Turn off Led
}
if (ioport.digitalRead(ED15) == HIGH) {
ioport.digitalWrite(8, HIGH); //Turn on Led
}
}
Arduino 库参数
Library功能
- pinMode() 与标准Arduino相当
- digitalRead() 与标准Arduino相当
- digitalWrite() 与标准Arduino相当
管脚映射
P0.0~P0.7 对应 GPIO 0 ~ 7 or ED0 - ED7 P1.0~P1.7 对应 GPIO 8 ~ 15 or ED8 - ED15
更多资料
原理图 元件布局 PCA9555 Datasheet SVG文件
| 更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖! |