Devrenin montajı anlatıldığı gibi yapılırsa çalışmasında bir sorun çıkmaz.
Joystick den gelen bilgileri anolog okuma yapmak için anolog pinlerinden ikisini Arduino da bulunan anolog pinlerine A0 ve A5 pinleri arasında iki tanesine şöntleyeceğiz biz iki adet servo motor süreceğimize göre Kod da belirtiğimiz gibi A0 ve A1 pinlerinden anolog okumayı yapacağız joystikc in Artı ucuna +5 volt uygulayacağız. Negatif yani GND ucunada - voltaj Yani GND ucuna baglayacağız diğer kalan Buton ucunu da arduino nun dijital uçlarından 2 ila 11 arasındaki herhangi bir pine bağlamamız gerekir. bu yaptığımız devreye dışarıdan voltaj verebiliriz o zaman arduino nun sadece GND ucunu dışarıdan voltaj verdiğimizde Voltajın Gnd ucu ile irtibatlandırmamız gerekir yoksa arduinoyu kullanamayız . iki adet servo motorun kırmızı kablolarına +5volt kahverengi kablolarını GND ile şöntleyeceğiz sinyal uçlarını da arduino uno nun dijital pinlerinin bulunduğu taraftaki 3 numaralı dijital pine servomuzun birinin sinyal kablosunu diğer servomuzun sinyal kablosunuda dijital 5pinine bağlayacağız joystikc den gelen verileri alarak motorların yön ve hareketini sağlayacağız motorlara dışarıdan + 5 volt verebiliriz Devreyi anlattığımız gibi kurarsanız çeşitli aletlerin demosunda kullanabilirsiniz. .
Arduino Uno ya yüklenecek
Kod:
#include <Servo.h> // Servo motorlarımızı kullanmamız için gerekli olan kütüphaneyi dahil ediyoruz
Servo servo1; // İlk servomuza servo1 ismini veriyoruz
Servo servo2; // ikinci servomuza servo2 ismini veriyoruz
int x_ekseni = 0; // X eksenimizin Analog 0 pinine bağlı olduğunu tanımlıyoruz
int y_ekseni = 1; // Y eksenimizin Analog 1 pinine bağlı olduğunu tanımlıyoruz
int servoDeger; // Servo motorlarımıza açı verecek olan değişken ismini servoDeger olarak tanımlıyoruz
void setup()
{
Serial.begin(115200);
servo1.attach(3); // İlk servomuzun Dijital 3 pinine bağlandığını tanımlıyoruz
servo2.attach(5); // İkinci servomuzun Dijital 5 pinine bağlandığını tanımlıyoruz
}
void loop()
{
servoDeger = analogRead(x_ekseni); // Joystick modülümüzün X ekseninden gelen verilerini okuyoruz ve servoDeger değişkenine tanımlıyoruz
Serial.println("x_degeri:");
Serial.println(servoDeger);
servoDeger = map(servoDeger, 0, 1023, 0, 180); // Joystick modülümüzden gelen verileri 0 ve 180 derece açıları arasına dönüştürüyoruz
Serial.println("x_aci:");
Serial.println(servoDeger);
servo1.write(servoDeger); //0 ve 180 derece açıları arasına dönüştürdüğümüz değeri servomuza yazdırıyoruz
servoDeger = analogRead(y_ekseni); // Joystick modülümüzün Y ekseninden gelen verilerini okuyoruz ve servoDeger değişkenine tanımlıyoruz
Serial.println("y_degeri:");
Serial.println(servoDeger);
servoDeger = map(servoDeger, 0, 1023, 0, 180); // Joystick modülümüzden gelen verileri 0 ve 180 derece açıları arasına dönüştürüyoruz
Serial.println("y_aci:");
Serial.println(servoDeger);
servo2.write(servoDeger); // 0 ve 180 derece açıları arasına dönüştürdüğümüz değeri servomuza yazdırıyoruz
delay(30); // Verilerin sağlıklı bir şekilde okunması için 30 milisaniye bekleme süresi tanımlıyoruz
}
Hiç yorum yok:
Yorum Gönder