Hello, Rezvan here. I am here to instruct you about making a robot without using a single library.
Step 1. Do the wiring, like this:
Ground to Ground,
7 to INA1,
6 to INA2,
8 to PWMA,
4 to INB1,
3 to INB2,
5 to PWM.
Step 2. Enter Arduino IDE.
Step 3. Do the code, like this
const int enA = 8;
const int in1 = 7;
const int in2 = 6;
const int enB = 5;
const int in3 = 4;
const int in4 = 3;
void setup() {
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
}
void demoOne(){
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 200);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, 200);
delay(1000);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
delay(1000);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
void demoTwo(){
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
for (int i = 0; i <200; i++)
{
analogWrite(enA, i);
analogWrite(enB, i);
delay(20);
}
for (int i = 0; i <200; i++)
{
analogWrite(enA, i);
analogWrite(enB, i);
delay(20);
}
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
void loop(){
demoOne();
delay(1000);
demoTwo();
delay(1000);
}
Step 4. Work is done!
For the board, I used an Arduino Mega so that people using an uno or Nano might try to connect 8 expecting PWM.