Arduino ile kullanıldığında en yaratıcı uygulamaların yapılabildiği araçlar bence sensörler ve motorlardır. Servo motorlar da 0 ile 180 derece arasında değerler ararak üzerlerine bağlanan yükleri ya da donanımları kaldırmaya ya da döndürmeye yarayan ve yine çok çeşitli uygulamaların hazırlanabilmesine imkan tanıyan bir component.
Hesaplı ve yaygın olarak kullanılmaları açısından Arduino ile birlikte en sık kullanılan servo motorlar SG90 servo motorları. SG90 servo motorların üç adet pini bulunmaktadır. Bu pinlerden birisi 5V ile güç, ikincisi GND hattı ile topraklama için kullanılırken üçüncü hat ise data hattıdır. Data hattı olarak da anolog gibi kullanılabildikleri için pwd pinlerinden birisi tercih edilmelidir. Dolayısıyla eğer arduino'ya ekleyececeğiniz başka component'ler yok ise bir breadboard kullanmadan da servo motor kullanmak mümkün. Ancak breadboard ile kullanmak isterseniz de aşağıda her iki devre tasarımı için de birer görsel bırakıyorum.
Başında tilda işareti olan pinlerin pwd pinleri olduğunu unutmayın.
Şimdi gelelim servo motoru döndürmek için en basit kod uygulamasına. 0 ile 180 arasında değerler göndererek servo motorun ucunun hangi yöne bakmasını istediğimizi belirleyebiliriz, doolayısıyla 0 ile 180 derece arasındaki değerleri önce birer birer artırıp sonra da azaltarak da motorun ucunun her iki yöne sırayla dönmesini de aşağıdaki kodlarla sağlayabiliriz.
#include <Servo.h>
Servo servo;
int i=0;
void setup()
{
servo.attach(9);
}
void loop()
{
for (i = 0; i <= 180; i++)
{
servo.write(i);
delay(15);
}
for (i = 180; i >= 0; i -= 1)
{
servo.write(i);
delay(15);
}
}
Her bir dönme eylemi arasındaki delay bekleme süresini de 15'in altına düşürmemeye çalışın, yoksa servo motor yazılım kadar hızlı tepki veremeyecektir.