Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

#define echoPin 12 //Ultrasonik sens�r�n echo pini Arduino'nun 12.

pinine
#define trigPin 13 //Ultrasonik sens�r�n trig pini Arduino'nun 13.pinine
tan�mland�.
#define MotorR1 5
#define MotorR2 4
#define MotorRE 3 // Motor pinlerini tan�ml�yoruz.
#define MotorL1 6
#define MotorL2 7
#define MotorLE 9

long sure, uzaklik; //s�re ve uzakl�k diye iki de�i�ken tan�ml�yoruz.


void setup() {
// ultrasonik sens�r Trig pininden ses dalgalar� g�nderdi�i i�in OUTPUT (��k�),
// bu dalgalar� Echo pini ile geri ald��� i�in INPUT (Giri�) olarak tan�mlan�r.

pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(MotorL1, OUTPUT);
pinMode(MotorL2, OUTPUT);
pinMode(MotorLE, OUTPUT); //Motorlar�m�z� ��k� olarak tan�ml�yoruz.
pinMode(MotorR1, OUTPUT);
pinMode(MotorR2, OUTPUT);
pinMode(MotorRE, OUTPUT);
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(8, OUTPUT);
pinMode(10,OUTPUT);
}
void loop() {
char c;
if(uzaklik< 30)
{digitalWrite(2, HIGH);

digitalWrite(8, LOW);

if(uzaklik< 30)
{digitalWrite(10,HIGH);
delay(200);

}
if(uzaklik >30)
{
digitalWrite(10,LOW);
delay(500);

}
if(uzaklik >30)
{digitalWrite(2, LOW);

digitalWrite(8, HIGH);
delay(500);
}
digitalWrite(trigPin, LOW); //sens�r pasif hale getirildi
delayMicroseconds(5);
digitalWrite(trigPin, HIGH); //Sensore ses dalgas�n�n �retmesi i�in emir verildi
delayMicroseconds(10);
digitalWrite(trigPin, LOW); //Yeni dalgalar�n �retilmemesi i�in trig pini LOW
konumuna getirildi
sure = pulseIn(echoPin, HIGH); //ses dalgas�n�n geri d�nmesi i�in ge�en sure
�l��l�yor
uzaklik = sure / 29.1 / 2; //�l��len s�re uzakl��a �evriliyor
Serial.println(uzaklik);
if (uzaklik < 15) // Uzakl�k 15'den k���k ise,
{
geri(); // 150 ms geri git
delay(250);
sag(); // 250 ms sa�a d�n
delay(250);

}
else { // de�il ise,
ileri(); // ileri git
}
}
void ileri(){ // Robotun ileri y�nde hareketi i�in fonksiyon tan�ml�yoruz.
digitalWrite(MotorR1, HIGH); // Sa� motorun ileri hareketi aktif
digitalWrite(MotorR2, LOW); // Sa� motorun geri hareketi pasif
analogWrite(MotorRE, 220); // Sa� motorun h�z� 150
digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
analogWrite(MotorLE, 220); // Sol motorun h�z� 150

}
void sag(){ // Robotun sa�a d�nme hareketi i�in fonksiyon tan�ml�yoruz.
digitalWrite(MotorR1, HIGH); // Sa� motorun ileri hareketi aktif
digitalWrite(MotorR2, LOW); // Sa� motorun geri hareketi pasif
analogWrite(MotorRE, 0); // Sa� motorun h�z� 0 (Motor duruyor)
digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
analogWrite(MotorLE, 150); // Sol motorun h�z� 150

}
void geri(){ // Robotun geri y�nde hareketi i�in fonksiyon tan�ml�yoruz.
digitalWrite(MotorR1, LOW); // Sa� motorun ileri hareketi pasif
digitalWrite(MotorR2, HIGH); // Sa� motorun geri hareketi aktif
analogWrite(MotorRE, 150); // Sa� motorun h�z� 150
digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif
digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif
analogWrite(MotorLE, 150); // Sol motorun h�z� 150

You might also like