2026年1月2日 星期五

[OTTO Ninja] 忍者機器人變身為車形(ROLL)怎麼左右轉



車形(ROLL) 時:

  • 腿舵機(LL / RL)
    → 已經轉到輪子貼地的角度(LA1 / RA1)

  • 腳舵機(LF / RF)
    → 當作「輪子」使用
    必須是 360° 連續旋轉舵機

連續旋轉舵機角度意義(非常重要)

車形的五種基本動作(ROLL 模式)


程式:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <Servo.h>

/* ====== 腳位 ====== */
#define PIN_LF D7   // 左輪
#define PIN_RF D3   // 右輪

Servo leftWheel;
Servo rightWheel;

/* ====== 速度設定 ====== */
const int STOP = 90;
const int FAST = 150;   // 正轉
const int SLOW = 110;   // 慢速正轉
const int REV  = 30;    // 反轉

void setup() {
  leftWheel.attach(PIN_LF);
  rightWheel.attach(PIN_RF);

  leftWheel.write(STOP);
  rightWheel.write(STOP);
  delay(1000);
}

void loop() {
  // 前進
  leftWheel.write(FAST);
  rightWheel.write(FAST);
  delay(2000);

  // 左轉(右輪快)
  leftWheel.write(SLOW);
  rightWheel.write(FAST);
  delay(2000);

  // 右轉(左輪快)
  leftWheel.write(FAST);
  rightWheel.write(SLOW);
  delay(2000);

  // 後退
  leftWheel.write(REV);
  rightWheel.write(REV);
  delay(2000);

  // 停止
  leftWheel.write(STOP);
  rightWheel.write(STOP);
  delay(2000);
}


沒有留言:

張貼留言