// Motor sürücü pinleri
const int motor1Pin1 = 5; // Motor 1 ileri
const int motor1Pin2 = 6; // Motor 1 geri
const int motor2Pin1 = 9; // Motor 2 ileri
const int motor2Pin2 = 10; // Motor 2 geri
void setup() {
// Motor pinlerini çıkış olarak ayarla
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(motor2Pin1, OUTPUT);
pinMode(motor2Pin2, OUTPUT);
// Rastgelelik için tohum oluştur (analog pin değerlerini kullanabilirsiniz)
randomSeed(analogRead(0));
}
void loop() {
int action = random(0, 5); // 0 ile 4 arasında rastgele bir hareket seç
switch (action) {
case 0:
// İleri hareket
moveForward();
break;
case 1:
// Geri hareket
moveBackward();
break;
case 2:
// Sağa dön
turnRight();
break;
case 3:
// Sola dön
turnLeft();
break;
case 4:
// Durakla
stopMotors();
break;
}
delay(random(500, 2000)); // Rastgele bir süre bekle (0.5 - 2 saniye)
}
// İleri hareket fonksiyonu
void moveForward() {
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
}
// Geri hareket fonksiyonu
void moveBackward() {
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, HIGH);
}
// Sağa dön fonksiyonu
void turnRight() {
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, HIGH);
}
// Sola dön fonksiyonu
void turnLeft() {
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
}
// Motorları durdurma fonksiyonu
void stopMotors() {
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, LOW);
}