IO Expansion HAT for Raspberry Pi

1. 产品简介

这是一款PICO专用的扩展板,我们将PICO的所有引脚全部引出还增加了5V输出端口,每一个端口都有对应的丝印标识和LED指示灯(GND端口无指示灯),且在不需要指示灯时可用板载的LED开关关闭。此外我们还增加了一个GDI接口指示和7~24V的电源接入端,方便用户将此扩展板用于自己的项目中。

2. 产品特性

  • 接线端子接口,使接线更加稳定可靠
  • 主板引脚全引出
  • 清晰的彩色丝印
  • 增加5V端口
  • GDI屏幕接口
  • 端子接口状态指示灯开关
  • 外部电压输入范围:7-24V

3. 产品尺寸图

4. 产品功能图

功能说明图

功能名称 功能说明 备注
PICO排母座 安装PICO
GDI屏幕接口 接GDI屏幕
端子接口状态指示灯开关 控制端子接口状态指示灯的亮灭
VIN电源指示灯 指示VIN口电源输入状态 红色
VIN电源输入端口 输入电压范围7-24V
端子接口 接线端口
端子接口状态指示灯 端子接口状态指示 电源:红色;GPIO接口:蓝色

5. 规格参数

  • 外部电压输入范围:7~24V
  • 屏幕接口:GDI接口
  • GPIO端口数量:× 27
  • GND端口数量: × 5
  • 5V端口数量: × 2
  • 3.3V端口数量: × 2
  • 端口指示LED数量:× 35
  • 端口指示LED灯颜色:蓝色
  • 扩展默认点亮LED:3.3V、5V、VSYS、VBUS、VREF端口
  • 产品尺寸(不含包装):61mm × 93.5mm

6. 使用教程

6.1 数字端口

  • Blink示例程序

本示例使用Blink程序说明端口高低电平的改变。

int LED=0;
void setup() {
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, HIGH);   
  delay(1000);                       
  digitalWrite(LED, LOW);    
  delay(1000);                      
}
  • 演示结果说明:

程序下载到PICO中后可以观察到GP0端口对应的LED会出现闪烁状态。

6.2 I2C端口

I2C传感器连线图

  • 引脚连接说明

扩展板:5V引脚 (连接) SHT40:VCC引脚

扩展板:GND引脚 (连接) SHT40:GND引脚

扩展板:GP4引脚 (连接) SHT40:SCL引脚

扩展板:GP5引脚 (连接) SHT40:SDA引脚

  • 示例程序

本示例通过使用SHT40温湿度传感器测试当前环境温湿度来演示说明I2C功能。

#include"DFRobot_SHT40.h"

DFRobot_SHT40 SHT40(SHT40_AD1B_IIC_ADDR); 


uint32_t id = 0;
float temperature, humidity;

void setup() {

  Serial.begin(9600);
  SHT40.begin();

  while((id = SHT40.getDeviceID()) == 0){
    Serial.println("ID retrieval error, please check whether the device is connected correctly!!!");
    delay(1000);
  }

  delay(1000);
  Serial.print("id :0x"); Serial.println(id, HEX);

}

void loop() {
  temperature = SHT40.getTemperature(/*mode = */PRECISION_HIGH);
  humidity = SHT40.getHumidity(/*mode = */PRECISION_HIGH);

  if(temperature == MODE_ERR){
    Serial.println("Incorrect mode configuration to get temperature");
  } else{
    Serial.print("Temperature :"); Serial.print(temperature); Serial.println(" C");
  }
  if(humidity == MODE_ERR){
    Serial.println("The mode for getting humidity was misconfigured");
  } else{
    Serial.print("Humidity :"); Serial.print(humidity); Serial.println(" %RH");
  }
  if(humidity > 80){

    SHT40.enHeater(/*mode = */POWER_CONSUMPTION_H_HEATER_1S);
  }
  delay(1000);

  Serial.println("----------------------------------------");
}
  • 结果示意图

结果演示图

程序说明:在串口中打印出传感器读取到的温湿度信息。

6.3 GDI接口

GDI连线图

扩展板GDI接口功能引脚说明表:

引脚号 功能 引脚号
1 普通GPIO IO20
3 CS IO19
3 RST IO18
4 SCK IO16
5 MOSI IO8
6 MISO IO9
7 普通GPIO IO15
8 普通GPIO IO14
9 CS-SD IO2
10 CS-LCD IO5
11 RESET IO17
12 D/C IO13
13 MISO IO4
14 MOSI IO7
15 SCK IO6
16 接地 GND
17 BLK IO12
18 电源 3V3
  • 示例程序

本示例下载完成后会在屏幕上显示蓝色字体“DFROBOT”。

#include "DFRobot_GDL.h"

#define TFT_DC  13
#define TFT_CS  5
#define TFT_RST 17
#endif

DFRobot_ST7735_128x160_HW_SPI screen(/*dc=*/TFT_DC,/*cs=*/TFT_CS,/*rst=*/TFT_RST);

void setup() {
  Serial.begin(115200);
  screen.begin();
}

void loop() {
  screen.setTextSize(2);
  screen.fillScreen(COLOR_RGB565_BLACK);
  screen.setFont(&FreeMono12pt7b);
  screen.setCursor(/*x=*/32,/*y=*/64);
  screen.setTextColor(COLOR_RGB565_LGRAY);
  screen.setTextWrap(true);
  screen.print("DFRobot");
  delay(500);
  • 结果示意图:

GDI演示画面

程序说明:在屏幕上显示出蓝色字体“DFROBOT”。

疑难解答

更多问题及有趣的应用,请访问论坛

更多资料下载

DFshopping_car1.png DFRobot商城购买链接

修改历史

文档修改历史

文档版本号 修改时间 修改人 修改内容
V1.0 2022.05.18 张腾鸺 第一版发布

产品修改历史

产品版本号 修改时间 修改人 产品修改内容
V1.0 2022.05.18 刘礼华 第一版发布