Özet olarak sistem şu an çalışıyor.
Motor hızını sesten dolayı sınırladım, şu an drift ile alakasız hareketler yapıyor. Gürültü yapabileceğim gündüz saatlerinde figürleri test edeceğim.
Çözüme ulaşana kadar;
1. Pinler değiştirildi
2. Motor enable değeri farklı değerlerle denendi
3. Define ile pin tanıtmanın hem daha kolay hem de daha şık olduğu öğrenildi. (Teşekkürler Sümer abi
)
4. Servo komutlarını yoruma çevirince motorun çalıştığı gözlendi. Kodların bu haliyle bir iki defa motorun kesintili döndüğünü gözledim. Bunun sebebi deneme aşamasında nispeten gevşek kablolama olabilir. Ayrıca bir defa olarak motorun tanımladığımdan yüksek bir hızda döndüğünü gözledim. Bu Arduino'ya enerji veren soketi yerleştirme sırasında olduğu için bir iletim sorunu olabilir.
5. Servo komutları normale döndürüldü ve motor hız değeri (e2,70) olarak değiştirildi. 60 değerinde yerinden zor kımıldıyordu. Programın bu haliyle herşey çalışıyor.
Arduino harika birşeymiş
Fikir verdiğiniz için, yönlendirdiğiniz için özellikle de kodlama konusunda çok teşekkür ediyorum.
Uygulama artık figürler üzerinde çalışacak noktaya geldi. Yeni görsellerle hatta videolarla konuyu biraz şenlendirmeyi düşünebilirim şimdi
Kıyas yapmak açışından çalışan kodlar:
#include <Servo.h>
Servo servo;
#define servoPin 9
#define in3 2
#define in4 4
#define e2 11
void setup() {
servo.attach(9);
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
//MEKANİK İÇİN TEST HAREKETLERİ
servo.write(0);
delay(1000);
servo.write(180);
delay(1000);
servo.write(90);
analogWrite(e2, 70);
//FORWARD: in3, low and mPin_in4, high
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
delay(1000);
analogWrite(e2, 70);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
delay(1000);
//MEKANİK İÇİN TEST HAREKETLERİ BİTTİ
}
void loop() {
//FİGÜR 1 KODLAR(SIFIR ÇİZME)
servo.write(0);
delay(15);
analogWrite(e2,70);
//Forward in3,LOW in4,HIGH
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
delay(3000);
servo.write(180);
delay(500);
servo.write(90);
delay(15);
analogWrite(e2,70);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
delay(10);
}