12736674_1688144244796359_708512902_oBir önceki yazımızda motor sürmeyi göstermiştik, şimdi ise motorları kullanacağımız projelere yavaş yavaş yer vermeye başlıyoruz.  Arduino mesafe sensörü kullanarak, şimdilik belli mesafedeki cismi algılayıp geri dönen engelden kaçan model-1 ile bu seriye başlıyoruz.

Gerekli malzemeler,

1 adet Arduino Uno

1 adet Arduino Motor Entegre Kartı (motor shield)

4 adet DC motor ve tekerlek

Robot şasesi

1 adet HC-SR04

1 adet mini devretahtası(breadboard)

Yeterli sayıda kablo

 

Öncelikle işimize robotun motorlarını ve tekerlerini şaseye monte etmekle başlıyoruz, daha sonra motorların pinlerine kabloları lehimliyoruz. Bu lehimlediğimiz kabloları motor kartın (shield) M1,M2,M3,M4 pinlerine bağlıyoruz. Shield’i arduinoya takmadan önce shield üzerindeki pinleri kullanabilmemiz için analog pinlere gnd ve 5v çıkışlarına pin (header) lehimliyoruz. Bu işlemleri tamamladıktan sonra, motor sürücüyü Arduino üzerine geçiriyoruz.

Sensör için,

Trig Pini=>A3 Echo Pini=>A2 Gnd=>Toprak Vcc=> 5v

bağlantılarını yapıyoruz. Bu aşamadan sonra, tüm bağlantılarımız hazır.  Şimdi kodlarımızı yazmaya başlayalım, Mesafe sensörü adlı yazımızdan ve motor sürücü yazımızdan faydalanarak, kodları kendiniz de yazabilirsiniz 🙂 DC Motor Nasıl Sürülür ? Uzaklık Sensörü Nasıl Kullanılır ? AFMotor.h kütüphanesini eklemeyi unutmuyoruz,

#include <AFMotor.h>

const int TriggerPin=A3;
const int Echo1Pin=A2;
long duration=0;
int distance=0;
AF_DCMotor motor(2, MOTOR12_64KHZ);
AF_DCMotor motor2(1, MOTOR12_64KHZ);
AF_DCMotor motor3(3, MOTOR12_64KHZ); //Motorlarınızı pinlerinizin bağlı olduğu pine göre kodlayın
AF_DCMotor motor4(4, MOTOR12_64KHZ);



void setup() {

 
 pinMode(TriggerPin,OUTPUT);
 pinMode(Echo1Pin,INPUT);
motor.setSpeed(200); 
motor2.setSpeed(200); 
motor3.setSpeed(200); 
motor4.setSpeed(200); 
 

}
 
void loop() {
 
 
 
digitalWrite(TriggerPin,LOW);
delayMicroseconds(500);
digitalWrite(TriggerPin,HIGH);
delayMicroseconds(500);
digitalWrite(TriggerPin,LOW);

duration=pulseIn(Echo1Pin,HIGH);

distance=(duration1/2)/29.1;

 while( distance>=10)
 {
 motor4.run(FORWARD);
 motor2.run(FORWARD);
 motor3.run(FORWARD);
 motor.run(FORWARD);
 }
 delay(500);
 
 motor4.run(BACKWARD);
 motor2.run(BACKWARD);
 motor3.run(BACKWARD);
 motor.run(BACKWARD);
 
}


Kodlarımızı yazdıktan sonra arduinoya yüklüyoruz..Robotunuzun nasıl çalışmasını istiyorsanız, ona uygun değişiklikleri yapabilirsiniz kolay gelsin.. Videomuzu izlemeyi de unutmayın..