Arduino Mega ve Adafruit L293D Shield ile Çizgi İzleyen Robot hatası

Herkese Merhabalar; Arduino Mega 2560 ,Adafruit L293D motor sürücü shield ve 3 lü çizgi izleyen sensör devresi kullanarak çizgi izleyen robot yapmaya çalışıyorum.Büyük oranda yol katetdim fakat bir sorunla karşılaştım. Motor sürücü shield üstündeki M3 ve M4 e birer motor bağladım ; M3 teki motor normal bir şekilde sensörü okuyup hareket ederken ,M4 teki motor sadece titriyo motorun ucunu elimle çevirdiğimde normal bir şekilde dönmeye başlıyo yalnız durduğunda dönmesi için tekrar el ile çevirmek gerekiyor. USB den gelen az olacağı için 9V pilde bağladım yalnız yine aynı sorunla karşılaştım M4 e gelen akım az. Acaba neyden kaynaklanıyor olabilir. Kod ve devrenin foroğrafı aşağıdaki gibidir (jumper ım olmadığı için görüntü biraz karmaşık görülebilir elimden geldiğince açıklamaya çalıştım kusura bakmayın) yardımcı olabilecek arkadaş varsa çok memnun olurum. Şimdiden çok teşekkür ederim… http://r1309.hizliresim.com/1f/w/t2sgq.jpg http://r1309.hizliresim.com/1f/w/t2shw.jpg #include <afmotor.h>

AF_DCMotor motor4(4);
AF_DCMotor motor3(3);

int sensor = 30;
int sensor2 = 32;
int sensor3 = 34;
int sensorstate1 = 0;
int sensorstate2 = 0;
int sensorstate3 = 0;

void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps

pinMode (sensor, INPUT);
pinMode (sensor2, INPUT);
pinMode (sensor3, INPUT);

// turn on motor
motor3.setSpeed(200);
motor4.setSpeed(200);

motor3.run(RELEASE);
motor4.run(RELEASE);
}

void loop() {
uint8_t i;
sensorstate1= digitalRead(sensor);
sensorstate2= digitalRead(sensor3);
sensorstate3= digitalRead(sensor2);

Serial.print(“tick”);
if(sensorstate1 == HIGH)
{
motor3.run(FORWARD);
motor3.setSpeed(255);
motor4.run(RELEASE);
}
Serial.print(“tick”);
if(sensorstate2 == HIGH)
{
motor4.run(FORWARD);
motor4.setSpeed(255);
motor3.run(RELEASE);
}
Serial.print(“tick”);
if(sensorstate3 == HIGH)
{
motor3.run(FORWARD);
motor4.run(FORWARD);
motor3.setSpeed(255);
motor4.setSpeed(255);
}
if(sensorstate3 == LOW && sensorstate2 == LOW && sensorstate1 == LOW)
motor3.run(RELEASE);
motor4.run(RELEASE);
}

</afmotor.h>

merhaba sensörlerin neler Cny70 mi? eğer cny 70 ise bu sensör çok kararlı çalışmaz. ışıktan bile etkilenir anlıyacağın. Bu yüzden programın doğru bile olsa sensörden gelen veri yanlış olduğundan dolayı sistemin çalışmıyor olabilir. bir diğer teorim motorun bozulmuş olabilir ama birinci seçenek daha mantıklı gelmekte. iyi çalışmalar

Merhabalar ; Öncelikle teşekkürler yalnız cny 70 değil sensörlerim CTRT5000 . motorlarda bi sıkıntı yok hocam 6 farklı motor denedim aynı sorun var. motor sürücünün bir çıkışına 1.8 ggiderken diğerine 2.2 falan gidiyo senkronu bozuyo