I'm working on a four-wheeled robot and have the code in several parts, the part that I'm currently stuck on is a simple piece that runs all the wheels continuously, stops and turns. What I want is the wheels to run for some amount of time then stop, and rotate, then go straight again. This is what I have so far but it doesn't work:
const int inAPin = 6;
const int inBPin = 8;
const int PWMPin = 7;
const int inCPin = 2;
const int inDPin = 4;
const int PWMPin2 = 3;
const int inEPin = A0;
const int inFPin = A1;
const int PWMPin3 = 5;
const int inGPin = A3;
const int inHPin = A2;
const int PWMPin4 = 9;
void setup() {
pinMode(inAPin, OUTPUT);
pinMode(inBPin, OUTPUT);
pinMode(inCPin, OUTPUT);
pinMode(inDPin, OUTPUT);
pinMode(inEPin, OUTPUT);
pinMode(inFPin, OUTPUT);
pinMode(inGPin, OUTPUT);
pinMode(inHPin, OUTPUT);
pinMode(PWMPin, OUTPUT);
pinMode(PWMPin2, OUTPUT);
pinMode(PWMPin3, OUTPUT);
pinMode(PWMPin4, OUTPUT);
}
void loop() {
int i;
delay(200);
digitalWrite(inAPin, HIGH); //
digitalWrite(inBPin, LOW);
digitalWrite(inCPin, LOW); //
digitalWrite(inDPin, HIGH);
digitalWrite(inEPin, LOW); //
digitalWrite(inFPin, HIGH);
digitalWrite(inGPin, LOW); //
digitalWrite(inHPin, HIGH);
for (i = 0; i < 175; i++){
analogWrite(PWMPin, i);
analogWrite(PWMPin2, i);
analogWrite(PWMPin3, i);
analogWrite(PWMPin4, i);
}
delay(2000);
digitalWrite(inEPin, HIGH); // Wheel 3
digitalWrite(inFPin, LOW);
digitalWrite(inCPin, HIGH); // Wheel 1
digitalWrite(inDPin, LOW);
digitalWrite(inAPin, HIGH); // Wheel 2
digitalWrite(inBPin, LOW);
digitalWrite(inGPin, LOW); // Wheel 4
digitalWrite(inHPin, HIGH);
for (i = 0; i < 175; i++){
analogWrite(PWMPin, i);
analogWrite(PWMPin2, i);
analogWrite(PWMPin3, i);
analogWrite(PWMPin4, i);
}
}