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) | 是否成功 |
示例