Emakefun DM11 Arduino 库 1.0.4
载入中...
搜索中...
未找到
motor_forward_backward.ino
浏览该文件的文档.
1/**
2 * @~Chinese
3 * @file motor_forward_backward.ino
4 * @brief 驱动电机前进与后退的示例。
5 * @example motor_forward_backward.ino
6 * 电机前进与后退的示例。
7 */
8
9/**
10 * @~English
11 * @file motor_forward_backward.ino
12 * @brief Example of motor forward and backward.
13 * @example motor_forward_backward.ino
14 * Example of motor forward and backward.
15 */
16
17#include "dm11.h"
18#include "dm11_lib.h"
19
20namespace {
21em::Dm11 g_dm11;
22}
23
24void setup() {
25 Serial.begin(115200);
26 Serial.println("setup");
27 Serial.println(String("dm11 lib version: ") + em::dm11_lib::Version());
28
29 Wire.begin();
30
31 const auto ret = g_dm11.Init();
32
33 if (em::Dm11::kOK == ret) {
34 Serial.println("dm11 initialization successful");
35 } else {
36 Serial.print("dm11 initialization failed: ");
37 Serial.println(ret);
38 while (true);
39 }
40
41 Serial.println(F("setup successful"));
42}
43
44void loop() {
45 g_dm11.PwmDuty(em::Dm11::kPwmChannel0, 0);
46 g_dm11.PwmDuty(em::Dm11::kPwmChannel1, 4095);
47 g_dm11.PwmDuty(em::Dm11::kPwmChannel2, 0);
48 g_dm11.PwmDuty(em::Dm11::kPwmChannel3, 4095);
49 Serial.println("motor forward");
50 delay(1000);
51
52 g_dm11.PwmDuty(em::Dm11::kPwmChannel0, 4095);
53 g_dm11.PwmDuty(em::Dm11::kPwmChannel1, 0);
54 g_dm11.PwmDuty(em::Dm11::kPwmChannel2, 4095);
55 g_dm11.PwmDuty(em::Dm11::kPwmChannel3, 0);
56 Serial.println("motor backward");
57 delay(1000);
58}
DM11是使用I2C协议驱动4路PWM从而驱动2路电机的模块,默认I2C地址为0x15。
定义 dm11.h:26
@ kPwmChannel2
PWM通道2。
定义 dm11.h:197
@ kPwmChannel0
PWM通道0。
定义 dm11.h:179
@ kPwmChannel3
PWM通道3。
定义 dm11.h:206
@ kPwmChannel1
PWM通道1。
定义 dm11.h:188
@ kOK
成功。
定义 dm11.h:87
ErrorCode Init(const uint16_t frequency_hz=1000)
初始化函数。
String Version()
获取版本号字符串。