跳转到内容

Arduino库

如果您不使用Arduino, 可以看看开发章节

安装

PlatformIO

在PlatformIO中使用本库,在platformio.ini中添加如下内容或者通过UI搜索BULLM_ExtendModule添加

ini
[env:myenv]
...
lib_deps = 
  bullm/BULLM_ExtendModule
...

Arduino IDE

在Arduino IDE中,直接在库管理器中搜索BULLM_ExtendModule并安装即可。注意是BULLM_ExtendModule不是ExtendMotor

简单示例

c++
#include <Wire.h>
#include "BULLM_Expand8Relay.h"

BULLM_Expand8Relay relays(0x27); // 实例化,默认地址为0x27

void setup() {
    Wire.begin(4, 5); // 初始化I²C
    relays.begin(); // 初始化
    if (relays.begin()) {
        Serial.println("BULLM_Expand8Relay found");
        relays.closeAllRelay(); // 初始化成功时关闭所有的继电器
    } else {
        Serial.println("BULLM_Expand8Relay not found");
    }
}

方法

控制继电器的方法

方法用途参数返回值
bool closeAllRelay()松开所有继电器是否成功
bool openAllRelay()吸合所有继电器是否成功
bool setRelay(uint8_t pin, bool state)控制其中一路继电器状态pin:0~7,表示0~7路继电器
state: 0为吸合,1为松开
是否成功
bool setRelayAll(uint8_t states)一次控制8路继电器的状态一个字节数据,每一bit表示中一路
例如:0b11110000, 4~7为松开(1),0~3为吸合(0)
是否成功

示例

控制自定义输入输出引脚的方法

方法用途参数返回值
bool setPinMode(uint8_t pin, uint8_t mode)设置指定引脚的输入输出模式pin: 0~7号引脚
mode: 输入模式(1)输出模式(0)
是否成功
bool setPinModeAll(uint8_t modes)一次设置8个引脚的输入输出模式一个字节数据,每个bit表示对应引脚的模式,1为输入,0为输出
例如:0b00001111,4~7为输出(0),0~3为输入(1)
是否成功
uint8_t getInput(uint8_t pin)读取指定引脚的输入状态pin: 0~7号引脚引脚的输入状态
uint8_t getInputAll()一次读取8个引脚的输入状态8个引脚的输入状态,每个bit对应一个引脚
bool setOutput(uint8_t pin, bool state)设置指定引脚的输出状态pin: 0~7号引脚
state: 0为输出低电平,1为输出高电平
是否成功
bool setOutputAll(uint8_t states)一次设置8个引脚的输出状态一个字节数据,每个bit表示对应一个引脚的输出状态
例如:0b11110000,4~7为高电平(1),0~3为低电平(0)
是否成功

示例

库开源地址