I am going to have to watch some more tutorials. I was just trying to use the sketch someone else gave me
/*
Mowbot software version 2f with random number turning
*/ int infPin1 = 12;
int infPin2 = 7;
int bumpPin1 = 6;
int bumpPin2 = 5;
int val;
int randNumber;
void setup() {
// initialize the digital pins as an outputs.
// Pins to control motor shield
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(infPin1, INPUT);
pinMode(infPin2, INPUT);
}
void loop() {
val = digitalRead(infPin1);
randNumber = random(600, 1500); // random number between 800 and 1500
if (val == HIGH) { // if no objects detected on left sensor
digitalWrite(8, HIGH); // motor A forward
digitalWrite(9, LOW); // motor A forward
digitalWrite(10, HIGH); // motor B forward
digitalWrite(11, LOW); // motor B forward
}
else { // if objects detected on left sensor
delay(50); // wait for motor stop
digitalWrite(8,LOW); // motor A back
digitalWrite(9, HIGH); // motor A back
digitalWrite(10, LOW); // motor B back
digitalWrite(11, HIGH); // motor B back
delay(1500);
digitalWrite(8,HIGH); // Keep motor AB running to turn
digitalWrite(9,LOW);
delay(randNumber); //generate random number for turn
}
val = digitalRead(infPin2);
randNumber = random(600, 1500);
if (val == HIGH) { // if no objects detected on right sensor
digitalWrite(8, HIGH); // motor A forward
digitalWrite(9, LOW); // motor A forward
digitalWrite(10, HIGH); // motor B forward
digitalWrite(11, LOW); // motor B forward
}
else { // if objects detected on right sensor
delay(50); // wait for motor stop
digitalWrite(8,LOW); // motor A back
digitalWrite(9, HIGH); // motor A back
digitalWrite(10, LOW); // motor B back
digitalWrite(11, HIGH); // motor B back
delay(1500);
digitalWrite(10, HIGH);// keep motor B running to turn
digitalWrite(11,LOW);
delay(randNumber);
}
val = digitalRead(bumpPin1);
randNumber = random(600, 1500);
if (val == HIGH) { // if no objects detected on bump sensor right
digitalWrite(8, HIGH); // motor a forward
digitalWrite(9, LOW); // motor a forward
digitalWrite(10, HIGH); // motor b forward
digitalWrite(11, LOW); // motor b forward
}
else { // if objects detected on right sensor
digitalWrite(8,LOW); // motor a back
digitalWrite(9, HIGH); // motor a back
digitalWrite(10, LOW); // motor b back
digitalWrite(11, HIGH); // motor b back
delay(1500);
digitalWrite(10, HIGH);// keep motor b running to turn
digitalWrite(11,LOW);
delay(randNumber);
} val = digitalRead(bumpPin2);
randNumber = random(600, 1500);
if (val == HIGH) { // if no objects detected on bump sensor left
digitalWrite(8, HIGH); // motor a forward
digitalWrite(9, LOW); // motor a forward
digitalWrite(10, HIGH); // motor b forward
digitalWrite(11, LOW); // motor b forward
}
else { // if objects detected on left sensor
digitalWrite(8,LOW); // motor a back
digitalWrite(9, HIGH); // motor a back
digitalWrite(10, LOW); // motor b back
digitalWrite(11, HIGH); // motor b back
delay(1500);
digitalWrite(10, HIGH);// keep motor b running to turn
digitalWrite(11,LOW);
delay(randNumber); }
}
Which worked for him ( I saw a video of it working) but as I didn't have IR sensors I removed that part, and because he used a different motor shield the pins were different. So back to the drawing board, time to learn some coding...