Here is the code
/*
Code Name: Arduino Line Follower Robot Car
Code URI: https://circuitbest.com/category/ardu...
Author: Make DIY
Author URI: https://circuitbest.com/author/admin/
Description: This program is used to make Arduino Line Follower Robot Car.
Note: You can use any value between 0 to 255 for M1_Speed, M2_Speed, LeftRotationSpeed, RightRotationSpeed.
Here 0 means Low Speed and 255 is for High Speed.
Version: 1.0
License: Remixing or Changing this Thing is allowed. Commercial use is not allowed.
*/
#define in1 6
#define in2 7
#define in3 8
#define in4 9
#define enA 5
#define enB 10
int M1_Speed = 200; // speed of motor 1
int M2_Speed = 200; // speed of motor 2
int LeftRotationSpeed = 250; // Left Rotation Speed
int RightRotationSpeed = 250; // Right Rotation Speed
void setup() {
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
pinMode(enA,OUTPUT);
pinMode(enB,OUTPUT);
pinMode(A0, INPUT); // initialize Left sensor as an input
pinMode(A1, INPUT); // initialize Right sensor as an input
}
void loop() {
int LEFT_SENSOR = digitalRead(A0);
int RIGHT_SENSOR = digitalRead(A1);
if(RIGHT_SENSOR==0 && LEFT_SENSOR==0) {
forward(); //FORWARD
}
else if(RIGHT_SENSOR==0 && LEFT_SENSOR==1) {
right(); //Move Right
}
else if(RIGHT_SENSOR==1 && LEFT_SENSOR==0) {
left(); //Move Left
}
else if(RIGHT_SENSOR==1 && LEFT_SENSOR==1) {
Stop(); //STOP
}
}
void forward()
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enA, M1_Speed);
analogWrite(enB, M2_Speed);
}
void backward()
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enA, M1_Speed);
analogWrite(enB, M2_Speed);
}
void right()
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enA, LeftRotationSpeed);
analogWrite(enB, RightRotationSpeed);
}
void left()
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enA, LeftRotationSpeed);
analogWrite(enB, RightRotationSpeed);
}
void Stop()
{
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
Thanks for watching! If you enjoyed the video and like to see more, leave a LIKE and SHARE it!
// For the latest videos, Subscribe! ► http://bit.ly/1kQHvwW //
Donations, Help me do better projects.► http://bit.ly/1R6fUVG
All Music made By MCLN ► http://bit.ly/1hvGmnt
All Graphic made by Iwalkwithedead ► / iwalkwithedead
Check out on the links below so you don't miss out on new videos or great opportunities.
Facebook ► / chandleestyle
Twitter ► / chandleestyle
Instagram ► / chandlee_style
Twitch ► / gmorkk
Imgur ► https://imgur.com/user/ChandleeStyle
Amazon wish list ► http://amzn.to/1MfOFAv
PC parts Picker Projects ► http://bit.ly/1LApWJW
Steam Community ► http://bit.ly/1GvV0Md