Arduino Potansiyometre İle RC Servo Motor Kontrolü

Materyal: Servo Sg90 Motor, Erkek-Erkek Jumper Kablo, 10K Potansiyometre Ayarlanabilir Direnç, Arduino Uno R3, Usb Kablo, Breadboard

Deneyin Yapılışı: İlk olarak devre elamanlarının bağlantısı yapılır. Potansiyometrenin 3 bacağı breadboard üzerine şekildeki gibi takılır. (Şekil 1.) Şekle göre sağ bacağın karşısındaki pinden çıkan erkek jumper kablonun diğer ucu breadboardun pozitif kutbuna, sol bacaktan çıkan ise negatif kutbuna takılır. Potansiyometrenin orta bacağının karşısına takılan kablonun diğer ucu da Arduinonun A0 pinine takılır. Daha sonra potansiyometrenin sol ve sağ bacakları farklı 2 kablo vasıtasıyla Arduinoya takılır. Burada sağ bacak için breadboardun aynı satırından yani pozitif kutuptan Arduinonun 5V pinine, sol bacak için de breadboardun negatif pininden Arduinonun GND pinine erkek kablo ile bağlantı yapılır. Servo motorun kahverengi/siyah kablosu breadboardun toprak yani negatif hattına, kırmızı kablosu 5V yani pozitif hattına, sarı/turuncu kablosu ise bir PWM pini olan 3. Pine bağlanır.

Şekil 1. Devre Şeması
Şekil 2. Deney Düzeneği

Bağlantı aşaması bittikten sonra sıra kod yazma ve yazılan kodun usb kablo vasıtasıyla Arduinoya aktarılmasına gelir. Bunun için ilk olarak Arduino programı açılır ve Kart ve Port tanımlaması yapılır. Daha sonra kod girilir. Yükle komutu ile karta yüklenir.

Seri port ekranı açılır ve potansiyometre 0V-5V aralığında çevrildikçe servo motorun da buna karşılık olarak 0-180o aralığında döndüğü görülür. (Şekil 3.)

#include<Servo.h>
Servo sg90;
const byte pot_pini = A0;
int pot_deger;
void setup()
{
  Serial.begin(9600);
  sg90.attach(3);
}
void loop()
{
  pot_deger = analogRead(pot_pini);
  int yeni_deger = map(pot_deger , 0, 1023, 0, 180);
  sg90.write(yeni_deger);
  Serial.print("Aci Degeri = ");
  Serial.println(yeni_deger);
  delay(15);
} 
Şekil 3. Potansiyometre Kontrolü ile Motorun Açı Değişiminin Seri Port Ekranında Görünümü

Yorum yapın