判斷 SG90 伺服馬達(舵機)是 180度(定位型) 還是 360度(連續旋轉型),可以透過以下幾種方法辨識:
1. 手動旋轉測試(最直接)
- 180度馬達: 用手輕輕撥動舵機搖臂,轉到一定角度(約 180 度)時會感覺到物理極限擋塊,無法繼續旋轉。
- 360度馬達: 可以無障礙地旋轉圈數,沒有物理死角或擋點。
2. 程式控制行為(最準確)
若已接上 Arduino 或控制板,觀察其對指令的反應:
- 180度馬達(位置控制): 給予指令
servo.write(90),它會轉到固定位置後停止並維持在該角度。 - 360度馬達(速度/方向控制): 給予指令
servo.write(90)通常代表停止(或極慢旋轉);指令為0時會以最快速度順時針旋轉,指令為180時則以最快速度逆時針旋轉。
#include <Servo.h>
Servo myservo; // 建立伺服馬達物件
void setup() {
myservo.attach(9); // 將伺服馬達訊號線接在 Pin 9
Serial.begin(9600);
Serial.println("正在發送 90 度指令...");
}
void loop() {
// 測試 1:發送 90 度指令(理論上的中點)
myservo.write(90);
delay(2000);
// 測試 2:發送 0 度指令
Serial.println("正在發送 0 度指令...");
myservo.write(0);
delay(2000);
// 測試 3:發送 180 度指令
Serial.println("正在發送 180 度指令...");
myservo.write(180);
delay(2000);
}
留言
張貼留言