今天快速記錄下 SG90 伺服馬達的 arduino 程式碼。
Tinkercad 的模擬程式範例
PIN 腳位定義:
- 橘色:控制訊號
- 紅色:輸入電源 +(3~7.2V)
- 棕色:共同接地
規格:
- Weight: 9g
- Dimension: 23×12.2x29mm
- Stall torque: 1.8kg/cm(4.8v)
- Gear type: POM gear set
- Operating speed: 0.12 sec/60degree(4.8v)
- Operating voltage: 4.8v~7.2V
- Temperature range: 0℃_ 55℃
- Dead band width: 1us
- Power Supply: Through External Adapter
- servo wire length: 25 cm
- Servo Plug: JR (Fits JR and Futaba)
- 轉動角度:最大90°
範例程式:
#include //載入函式庫,這是內建的,不用安裝
Servo myservo; // 建立SERVO物件
void setup() {
myservo.attach(9); // 設定要將伺服馬達接到哪一個PIN腳
}
void loop() {
myservo.write(0); //旋轉到0度,就是一般所說的歸零
delay(1000);
myservo.write(90); //旋轉到90度
delay(1000);
myservo.write(180); //旋轉到180度
delay(1000);
myservo.write(90);
delay(1000);
}
/* Sweep
by BARRAGAN This example code is in the public domain.
modified 8 Nov 2013 by Scott Fitzgerald http://www.arduino.cc/en/Tutorial/Sweep */
#include int pos = 0;
Servo servo_9;
void setup() { servo_9.attach(9, 500, 2500);
}
void loop() { // sweep the servo from 0 to 180 degrees in steps // of 1 degrees for (pos = 0; pos <= 180; pos += 1) { // tell servo to go to position in variable ‘pos’ servo_9.write(pos); // wait 15 ms for servo to reach the position delay(15); // Wait for 15 millisecond(s) } for (pos = 180; pos >= 0; pos -= 1) { // tell servo to go to position in variable ‘pos’ servo_9.write(pos); // wait 15 ms for servo to reach the position delay(15); // Wait for 15 millisecond(s) } }
參考
--
* [傑森創工 - \[Arduino範例\] SG90 Servo伺服馬達](https://blog.jmaker.com.tw/arduino-servo-sg90/)
* [Tinkercad](https://www.tinkercad.com/) 的模擬程式