Arduino的使用其實非常簡單,當我們下載Arduino IDE後就已經有一些基本的範例可以使用,並且已經將libraries寫好了,只需要打幾個簡單的函式,就可以達到我們要的效果,就拿Servo當範例。請您在Arduino環境中找到 Files --> Examples --> Servos, 底下有 Knob與 Sweep兩個範例, 現在我們來看看Sweep:
#include <Servo.h>
Servo myservo; // 建立一個servo物件, 最多可以到8個
int pos = 0; // 用來儲存servo位置的變數
void setup()
{
myservo.attach(9); // 指定servo接在pin 9
}
void loop()
{
for(pos = 0; pos < 180; pos += 1) // 要servo從0度轉動到180度的位置, 每次正向轉動1度
{
myservo.write(pos); // 以變數pos的值來指定servo 的位置
delay(15); // 等候15毫秒讓動作做完
}
for(pos = 180; pos>=1; pos-=1) 要servo從180度轉動到0度的位置, 每次逆向轉動1度
{
myservo.write(pos);
delay(15);
}
}
我們就可以發現,我們如果要指定Servo轉到某個位置,不需要自己寫PWM,只需要打myservo.write(pos); pos指定0~180就可以滿足我們的要求, 不需要處理一些低階的I/O指令。
大家一起試看看吧~
您好
我想問遺下servo 的狀況
執行arduino範例sweep時,L燈號會退出又重來,servo會亂轉
影片 https://www.youtube.com/watch?v=7d1HSAEFYm0
請問這是什麼狀況?要怎麼解決@@
您好,應該是讓 servo 去接到電池(電池 -> 麵包板 -> servo),您這樣接是讓 Arduino Uno 去吃電池哩。Arduino 用 USB 供電就可以。有用到馬達的專題,馬達都要獨立供電喔