Devices & Components
Arduino® UNO R4 WiFi
40 colored female-female jumper wires
DC MOTOR WHEELS
IR Sensors
DC motor (generic)
ANGEEK L293D Driver Shield
Hardware & Tools
drill, screwdriver, soldering iron
Software & Tools
Arduino IDE
Project description
Code
Line Follower Robot
cpp
1//Line Follower Robot 2 //first , you need to insstall the motor driver for L293D motor driver 3// Go to Sketch-> Include Librabry-> Manage Library-> Search for Adafruit Motor Shield V1 4#include <AFMotor.h> 5 6#define left A0 7#define right A1 8 9AF_DCMotor motor1(1, MOTOR12_1KHZ); 10AF_DCMotor motor2(2, MOTOR12_1KHZ); 11AF_DCMotor motor3(3, MOTOR34_1KHZ); 12AF_DCMotor motor4(4, MOTOR34_1KHZ); 13 14void setup() { 15 16 pinMode(left,INPUT); 17 pinMode(right,INPUT); 18 Serial.begin(9600); 19 20} 21 22void loop(){ 23 24 Serial.println(digitalRead(left)); 25 26 Serial.println(digitalRead(right)); 27 28 29 if(digitalRead(left)==0 && digitalRead(right)==0){ 30 // Move forward 31 motor1.run(FORWARD); 32 motor1.setSpeed(150); // Run Speed from 0 to 255 33 motor2.run(FORWARD); 34 motor2.setSpeed(150);// Run Speed from 0 to 255 35 motor3.run(FORWARD); 36 motor3.setSpeed(150);// Run Speed from 0 to 255 37 motor4.run(FORWARD); 38 motor4.setSpeed(150);// Run Speed from 0 to 255 39 } 40 //Compare to sensors 41 else if(digitalRead(left)==0 && !analogRead(right)==0){ 42 //turn right 43 motor1.run(FORWARD); 44 motor1.setSpeed(150); 45 motor2.run(FORWARD); 46 motor2.setSpeed(150); 47 motor3.run(BACKWARD); 48 motor3.setSpeed(150); 49 motor4.run(BACKWARD); 50 motor4.setSpeed(150); 51 52 } 53 //Compare to sensors 54 else if(!digitalRead(left)==0 && digitalRead(right)==0){ 55 //Turn left 56 motor1.run(BACKWARD); 57 motor1.setSpeed(150); 58 motor2.run(BACKWARD); 59 motor2.setSpeed(150); 60 motor3.run(FORWARD); 61 motor3.setSpeed(150); 62 motor4.run(FORWARD); 63 motor4.setSpeed(150); 64 65 } 66 //No signals 67 else if(!digitalRead(left)==0 && !digitalRead(right)==0){ 68 //Stop 69 motor1.run(RELEASE); 70 motor1.setSpeed(0); 71 motor2.run(RELEASE); 72 motor2.setSpeed(0); 73 motor3.run(RELEASE); 74 motor3.setSpeed(0); 75 motor4.run(RELEASE); 76 motor4.setSpeed(0); 77 78 } 79 80}
Documentation
Chassis
Chassis 1.stl
Sensor mounting
Sensor mounting.stl
Comments
Only logged in users can leave comments