Devices & Components
Arduino Uno Rev3
Dual H-Bridge motor drivers L298
Jumper wires (generic)
Hardware & Tools
Hot glue gun (generic)
Soldering iron (generic)
Software & Tools
Arduino IDE
Project description
Code
liner.ino
arduino
1 /* 2Code Name: Arduino Line Follower Robot Car 3Code URI: https://circuitbest.com/category/arduino-projects/ 4Author: Make DIY 5Author URI: https://circuitbest.com/author/admin/ 6Description: This program is used to make Arduino Line Follower Robot Car. 7Note: You can use any value between 0 to 255 for M1_Speed, M2_Speed, LeftRotationSpeed, RightRotationSpeed. 8Here 0 means Low Speed and 255 is for High Speed. 9Version: 1.0 10License: Remixing or Changing this Thing is allowed. Commercial use is not allowed. 11*/ 12 13#define in1 9 14#define in2 8 15#define in3 7 16#define in4 6 17#define enA 10 18#define enB 5 19 int M1_Speed = 80; // speed of motor 1 20 int M2_Speed = 80; // speed of motor 2 21 int LeftRotationSpeed = 250; // Left Rotation Speed 22 int RightRotationSpeed = 250; // Right Rotation Speed 23 24 25 void setup() { 26 27 pinMode(in1,OUTPUT); 28 pinMode(in2,OUTPUT); 29 pinMode(in3,OUTPUT); 30 pinMode(in4,OUTPUT); 31 32 pinMode(enA,OUTPUT); 33 pinMode(enB,OUTPUT); 34 35 pinMode(A0, INPUT); // initialize Left sensor as an input 36 pinMode(A1, INPUT); // initialize Right sensor as an input 37 38} 39 40void loop() { 41 42 int LEFT_SENSOR = digitalRead(A0); 43 int RIGHT_SENSOR = digitalRead(A1); 44 45if(RIGHT_SENSOR==0 && LEFT_SENSOR==0) { 46 forward(); //FORWARD 47} 48 49 else if(RIGHT_SENSOR==0 && LEFT_SENSOR==1) { 50 right(); //Move Right 51 } 52 53 else if(RIGHT_SENSOR==1 && LEFT_SENSOR==0) { 54 left(); //Move Left 55} 56 57 else if(RIGHT_SENSOR==1 && LEFT_SENSOR==1) { 58 Stop(); //STOP 59 } 60} 61 62 63 64void forward() 65{ 66 digitalWrite(in1, HIGH); 67 digitalWrite(in2, LOW); 68 digitalWrite(in3, HIGH); 69 digitalWrite(in4, LOW); 70 71 analogWrite(enA, M1_Speed); 72 analogWrite(enB, M2_Speed); 73} 74 75void backward() 76{ 77 digitalWrite(in1, LOW); 78 digitalWrite(in2, HIGH); 79 digitalWrite(in3, LOW); 80 digitalWrite(in4, HIGH); 81 82 analogWrite(enA, M1_Speed); 83 analogWrite(enB, M2_Speed); 84} 85 86void right() 87{ 88 digitalWrite(in1, LOW); 89 digitalWrite(in2, HIGH); 90 digitalWrite(in3, HIGH); 91 digitalWrite(in4, LOW); 92 93 analogWrite(enA, LeftRotationSpeed); 94 analogWrite(enB, RightRotationSpeed); 95} 96 97void left() 98{ 99 digitalWrite(in1, HIGH); 100 digitalWrite(in2, LOW); 101 digitalWrite(in3, LOW); 102 digitalWrite(in4, HIGH); 103 104 analogWrite(enA, LeftRotationSpeed); 105 analogWrite(enB, RightRotationSpeed); 106} 107 108void Stop() 109{ 110 digitalWrite(in1, LOW); 111 digitalWrite(in2, LOW); 112 digitalWrite(in3, LOW); 113 digitalWrite(in4, LOW); 114} 115
Downloadable files
schematics
follow the diagram
schematics

schematics
follow the diagram
schematics

Comments
Only logged in users can leave comments