Engelden Kaçan Robot
Arduino ile yapılmış önüne engel çıkınca yön değiştiren robot
Motor sürücüye bağlı motorlara verilen güç yetersiz kalırsa motorlara ekstra güç verilebilir. Şemada motor sürücüye (motorlara) 4 adet pil ile güç verilmektedir.
#define echoPin 3
#define trigPin 2
#define SolMotor1 8
#define SolMotor2 9
#define SagMotor1 10
#define SagMotor2 11
long sure, uzaklik;
void setup() {
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(SagMotor1, OUTPUT);
pinMode(SagMotor2, OUTPUT);
pinMode(SolMotor1, OUTPUT);
pinMode(SolMotor2, OUTPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
sure = pulseIn(echoPin, HIGH);
uzaklik = sure / 29.1 / 2;
Serial.println(uzaklik);
if (uzaklik < 15)
{
geri();
delay(250);
sag();
delay(250);
}
else {
ileri();
}
}
void ileri(){
digitalWrite(SolMotor1, HIGH);
digitalWrite(SolMotor2, LOW);
digitalWrite(SagMotor1, HIGH);
digitalWrite(SagMotor2, LOW);
}
void sag()
{
digitalWrite(SolMotor1, LOW);
digitalWrite(SolMotor2, LOW);
digitalWrite(SagMotor1, LOW);
digitalWrite(SagMotor2, HIGH);
}
void geri()
{
digitalWrite(SolMotor1, LOW);
digitalWrite(SolMotor2, HIGH);
digitalWrite(SagMotor1, LOW);
digitalWrite(SagMotor2, HIGH);
}