/* Pat McMahon -V25 - Basic Code -10,9,6,5- 19/9/2024 This is the Simpliest Basic code for a 2WD/4WD wheel robot to wait 5 seconds, go forward, backwards,left, right, clockwise, anticlockwise, stop, then repeat forever. in1=10,in2=9,in3=6,in4=5, Forward in2 & in4, backward in1 & in3, Left in2, Right in4, Anticlockwise in2 & in3, Clockwise in1 & in4. See patsrobots.com > A050 > How to Build-Connect for details of connections and diagrams/Info. NOTE- You can use the code below to copy,paste, change the movements and delays, to come up with your own designed paths. IMPORTANT- You need a clear area on the ground of about 3mx3m to run this code, so as to not hit an object and burn out the motors. */ const int in1 = 10;// Tells what the motor wires are connected to, on the L298N Motor Driver and the Arduino Uno. const int in2 = 9; const int in3 = 6; const int in4 = 5; const int delayTime1=2000;// in the code it waits 2 seconds. const int delayTime2=5000;// in the code it waits 5 seconds. void setup(){ //void setupMotors() pinMode(in1, OUTPUT);//Tells the Uno that the motors are outputs. pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); } void loop(){ // goes forward { delay(delayTime2);//waits 5 seconds before going forward to allow you time to put it on the ground. digitalWrite(in1, LOW);//Turns on Forward digitalWrite(in2, HIGH); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); delay(delayTime1); digitalWrite(in1, LOW);//Turns Off Forward digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); delay(delayTime1); } // goes backward { digitalWrite(in1, HIGH);//Turns On Backward digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); delay(delayTime1); digitalWrite(in1, LOW);//Turns Off Backward digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); delay(delayTime1); } // goes Left { digitalWrite(in1, LOW);//Turns On Left digitalWrite(in2, HIGH); digitalWrite(in3, LOW); digitalWrite(in4, LOW); delay(delayTime1); digitalWrite(in1, LOW);//Turns Off Left digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); delay(delayTime1); } // goes right { digitalWrite(in1, LOW);//Turns On Right digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); delay(delayTime1); digitalWrite(in1, LOW);//Turns Off Right digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); delay(delayTime1); } //goes anticlockwise { digitalWrite(in1, LOW);//Turns On anticlockwise digitalWrite(in2, HIGH); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); delay(delayTime1); digitalWrite(in1, LOW);//Turns Off anticlockwise digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); delay(delayTime1); } //goes clockwise { digitalWrite(in1, HIGH);//Turns On clockwise digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); delay(delayTime1); digitalWrite(in1, LOW);//Turns Off clockwise digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); delay(delayTime1); } }