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 <Arduino.h>
#include <Wire.h>
#include "BULLM_ExtendRelay.h"
BULLM_ExtendRelay relay(0x41); // 实例化,默认地址为 0x41
void setup() {
Wire.begin(); // 初始化 I2C
Serial.begin(9600);
if (!relay.begin()) {
Serial.println("BULLM_ExtendRelay not found");
return;
}
Serial.println("BULLM_ExtendRelay found");
Serial.print("State before power -> ");
Serial.println(relay.getRelayAll(), BIN); // 断电前保存的继电器状态
relay.closeAllRelay(); // 上电后先关闭全部继电器
}
void loop() {
relay.openAllRelay();
delay(500);
relay.closeAllRelay();
delay(500);
for (uint8_t i = 0; i < 4; ++i) {
relay.setRelay(i, true);
delay(150);
relay.setRelay(i, false);
}
}方法
| 方法 | 用途 | 参数 | 返回值 |
|---|---|---|---|
begin() | 初始化模块并将 4 个控制引脚配置为输出 | 无 | bool: 是否成功 |
closeAllRelay() | 关闭全部继电器 | 无 | bool: 是否成功 |
openAllRelay() | 打开全部继电器 | 无 | bool: 是否成功 |
setRelay(uint8_t pin, bool state) | 控制指定一路继电器状态 | pin: 0~3,表示第 0~3 路继电器state: false 关闭,true 打开 | bool: 是否成功 |
setRelayAll(uint8_t states) | 一次设置 4 路继电器状态 | states: 仅低 4 位有效,每一 bit 对应一路继电器例如: 0b00000101 表示 0、2 路打开,1、3 路关闭 | bool: 是否成功 |
getRelay(uint8_t pin) | 读取指定一路继电器的当前状态 | pin: 0~3,表示第 0~3 路继电器 | bool: 当前状态 |
getRelayAll() | 读取 4 路继电器的当前状态 | 无 | uint8_t: 仅低 4 位有效,每一 bit 对应一路继电器 |