int leftEnablePin = 11; //setting up the pins for the motors int left1Pin = 13; int left2Pin = 12; int rightEnablePin = 10; int right1Pin = 9; int right2Pin = 8; int l_motorDirection = 0; //sets up variables for direction int r_motorDirection = 1; //setting pins as outputs void setup() { pinMode(left1Pin, OUTPUT); pinMode(left2Pin, OUTPUT); pinMode(leftEnablePin, OUTPUT); pinMode(right1Pin, OUTPUT); pinMode(right2Pin, OUTPUT); pinMode(rightEnablePin, OUTPUT); } //Main section telling the robot what to do void loop() { fast_forward(); delay(1000); left(); delay(500); slow_forward(); delay(1000); left(); delay(500); fast_forward(); delay(1000); no_move(); delay(2000); fast_backward(); delay(500); right(); delay(500); slow_backward(); delay(1000); no_move(); delay(2000); } //code to set up the command functions void fast_forward(){ analogWrite (leftEnablePin, 255); digitalWrite (left1Pin, l_motorDirection); digitalWrite (left2Pin, !l_motorDirection); analogWrite (rightEnablePin, 255); digitalWrite (right1Pin, r_motorDirection); digitalWrite (right2Pin, !r_motorDirection); } void slow_forward(){ analogWrite (leftEnablePin, 70); digitalWrite (left1Pin, l_motorDirection); digitalWrite (left2Pin, !l_motorDirection); analogWrite (rightEnablePin, 70); digitalWrite (right1Pin, r_motorDirection); digitalWrite (right2Pin, !r_motorDirection); } void fast_backward(){ analogWrite (leftEnablePin, 255); digitalWrite (left1Pin, !l_motorDirection); digitalWrite (left2Pin, l_motorDirection); analogWrite (rightEnablePin, 255); digitalWrite (right1Pin, !r_motorDirection); digitalWrite (right2Pin, r_motorDirection); } void slow_backward(){ analogWrite (leftEnablePin, 70); digitalWrite (left1Pin, !l_motorDirection); digitalWrite (left2Pin, l_motorDirection); analogWrite (rightEnablePin, 70); digitalWrite (right1Pin, !r_motorDirection); digitalWrite (right2Pin, r_motorDirection); } void left(){ digitalWrite (leftEnablePin, HIGH); digitalWrite (left1Pin, !l_motorDirection); digitalWrite (left2Pin, l_motorDirection); digitalWrite (rightEnablePin, HIGH); digitalWrite (right1Pin, r_motorDirection); digitalWrite (right2Pin, !r_motorDirection); } void right(){ digitalWrite (leftEnablePin, HIGH); digitalWrite (left1Pin, l_motorDirection); digitalWrite (left2Pin, !l_motorDirection); digitalWrite (rightEnablePin, HIGH); digitalWrite (right1Pin, !r_motorDirection); digitalWrite (right2Pin, r_motorDirection); } void no_move(){ digitalWrite (leftEnablePin, LOW); digitalWrite (left1Pin, LOW); digitalWrite (left2Pin, LOW); digitalWrite (rightEnablePin, LOW); digitalWrite (right1Pin, LOW); digitalWrite (right2Pin, LOW); }