跳转到内容

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

简单示例

注意:v1.0.0之后的版本已经移除BULLM_ExtendMos8类,使用BULLM_ExtendPwm类代替。

c
#include <Arduino.h>
#include <Wire.h>
#include "BULLM_ExtendPwm.h"

BULLM_ExtendPwm extend(0x7F);

void setup() {
    Wire.begin(); // 初始化I2C
    Serial.begin(9600);

    if (!extend.begin()) {
        Serial.println("BULLM_ExtendPwm not found");
        return;
    }
    Serial.println("BULLM_ExtendPwm found");

    extend.setPwmFreq(100); // 设置频率
    extend.closeAllPwm(); // 关闭所有PWM输出
}

void loop() {
    extend.setPwm(0, 127); // 设置输出0的占空比为127
    delay(300);
    extend.setPwm(0, 255); // 设置输出0的占空比为255
    delay(300);
    extend.closeAllPwm();
    delay(200);
}

实例方法

方法用途参数返回值
begin()初始化模块bool: 是否成功
setPwmFreq(uint16_t freq)设置PWM输出频率freq: 频率值(Hz)bool: 是否成功
setPwm(uint8_t index, uint8_t value)设置指定通道占空比(8位)index: 输出通道(0-7)
value: 占空比(0-255)
bool: 是否成功
setPwmRaw(uint8_t index, uint16_t value)设置指定通道占空比(12位)index: 输出通道(0-7)
value: 占空比(0-4095)
bool: 是否成功
closeAllPwm()关闭所有通道输出bool: 是否成功

库开源地址