These are the following steps:-
Step 1:
Put all components on PCB of main control board and assemble it.
Step 2:
First connect the wire of first left motor to U1 and V1, after that connect real left motor to U2 V2 , after that connect front right motor U3 to V3, after that connect real right motor U4 to V4, after that connect TP4056 Module and connect its negative out pin to ground, after that connect lithium iron battery and connect it’s positive pin to B+ pin and it’s negative pin to B- pin of TP4056 Module, after that connect a switch and connect it’s one pin to positive out pin of TP4056 Module and it’s other pin to 5V and VM of board, after that connect a ultra sonic sensor and connect it’s VCC pin to 5V of the board and it’s ground pin to ground, after that connect it’s echo pin to A0 pin of the board and it’s triggered pin to A1 pin of the board, after that connect another connect ultra sonic sensor and connect it’s VCC pin to 5V pin of the board and it’s ground pin to ground and it’s echo pin to A2 pin of the board and it’s triggered pin to A3 pin of the board.

Step 3:
Now upload the code to arduino and test the project.
#define en1 4 //enable pin of channel 1
#define en2 7 //enable pin of channel 2
#define en3 10 //enable pin of channel 3
#define en4 13 //enable pin of channel 4
#define in1 2 //input 1
#define in2 3 //input 2
#define in3 5 //input 3
#define in4 6 //input 4
#define in5 8 //input 5
#define in6 9 //input 6
#define in7 11 //input 7
#define in8 12 //input 8
#define echo1 14
#define trig1 15
#define echo2 16
#define trig2 17
long duration, inches,inches1;
int cmd;
void setup() {
Serial.begin(9600);
pinMode(echo1, INPUT);
pinMode(echo2, INPUT);
pinMode(trig1, OUTPUT);
pinMode(trig2, OUTPUT);
pinMode(en1, OUTPUT);
pinMode(en2, OUTPUT);
pinMode(en3, OUTPUT);
pinMode(en4, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(in5, OUTPUT);
pinMode(in6, OUTPUT);
pinMode(in7, OUTPUT);
pinMode(in8, OUTPUT);
digitalWrite(en1, HIGH);
digitalWrite(en2, HIGH);
digitalWrite(en3, HIGH);
digitalWrite(en4, HIGH);
digitalWrite(in8, LOW);
}
void loop() {
digitalWrite(trig1, LOW);
delayMicroseconds(2);
digitalWrite(trig1, HIGH);
delayMicroseconds(10);
digitalWrite(trig1, LOW);
duration = pulseIn(echo1, HIGH);
inches = microsecondsToInches(duration);
digitalWrite(trig2, LOW);
delayMicroseconds(2);
digitalWrite(trig2, HIGH);
delayMicroseconds(10);
digitalWrite(trig2, LOW);
duration = pulseIn(echo2, HIGH);
inches1 = microsecondsToInches(duration);
delay(200);
if(inches<8|inches1<8)cmd=1;
else if(inches>8&inches<16&inches1>8&inches<16)cmd=2;
else if(inches1<16&inches1<inches)cmd=3;
else if(inches<16&inches<inches1)cmd=4;
else cmd=0;
Serial.print(inches);
Serial.print(" in ");
Serial.print(inches1);
Serial.print(" in ");
switch(cmd){
case 0:
Serial.println("stop");
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
digitalWrite(in5, LOW);
digitalWrite(in6, LOW);
digitalWrite(in7, LOW);
digitalWrite(in8, LOW);
break;
case 1:
Serial.println("back");
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
digitalWrite(in5, LOW);
digitalWrite(in6, HIGH);
digitalWrite(in7, LOW);
digitalWrite(in8, HIGH);
break;
case 2:
Serial.println("forward");
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
digitalWrite(in5, HIGH);
digitalWrite(in6, LOW);
digitalWrite(in7, HIGH);
digitalWrite(in8, LOW);
break;
case 3:
Serial.println("right");
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
digitalWrite(in5, HIGH);
digitalWrite(in6, LOW);
digitalWrite(in7, HIGH);
digitalWrite(in8, LOW);
break; case 4:
Serial.println("left");
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
digitalWrite(in5, LOW);
digitalWrite(in6, HIGH);
digitalWrite(in7, LOW);
digitalWrite(in8, HIGH);
break;
}
}
long microsecondsToInches(long microseconds) {
return microseconds / 74 / 2;
}
Components
- 1 X Arduino Nano https://s.click.aliexpress.com/e/_dW4…
- 4 X 5V DC Gear https://s.click.aliexpress.com/e/_A8lUXw
- 4 X Wheels https://s.click.aliexpress.com/e/_A8lUXw
- 2x HC-SR04 Module https://s.click.aliexpress.com/e/_dUJ…
- 1x TP4056 Module https://s.click.aliexpress.com/e/_9zeD7k
- 1x LI-ION Battery https://s.click.aliexpress.com/e/_ADH46o
- 1x Battery Hodler https://s.click.aliexpress.com/e/_dYx…
- 1x Switch https://s.click.aliexpress.com/e/_9Ig7vK
- 1X Robo Chesis https://s.click.aliexpress.com/e/_9jGyAu
- Jumper Wires https://s.click.aliexpress.com/e/_d7t…
PCB Components
- 1X L293D IC https://s.click.aliexpress.com/e/_AOxkdW
- 12X 10K Resistors https://s.click.aliexpress.com/e/_dW4…
- 1X 8 Pin Dip Switch https://s.click.aliexpress.com/e/_9HqlMC
- 1X 4 Pin Dip Switch https://s.click.aliexpress.com/e/_9HqlMC
- 4X 2 Pin Terminal Blocks https://s.click.aliexpress.com/e/_dYS…
- 1X 3 Pin Terminal Block https://s.click.aliexpress.com/e/_dTU…
- Female And Male Headers https://s.click.aliexpress.com/e/_Bfi…
Circuit Diagrams
Gerber Files
Arduino Code
Useful Tools
- Electronic tool kit https://s.click.aliexpress.com/e/_dXr…
- Hardware tool kit https://s.click.aliexpress.com/e/_dSI…
- Desktop oscilloscope https://s.click.aliexpress.com/e/_d8d…
- Hand held oscilloscope https://s.click.aliexpress.com/e/_dXj…
- Cordless drill + Screw driver https://s.click.aliexpress.com/e/_d9n…
- Power supply https://s.click.aliexpress.com/e/_dVM…
- Soldering station https://s.click.aliexpress.com/e/_dXU…
- Drill press https://s.click.aliexpress.com/e/_d6G…
- 3d printer https://www.aliexpress.com/item/33009…
- CNC machine https://s.click.aliexpress.com/e/_d7b…