PROFESSORHULK
Published © GPL3+

Light Tracking Robot

This Robot will track the light and follow its direction wherever it comes from...

IntermediateFull instructions provided2 hours1,448
Light Tracking Robot

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
L293D Motor Driver/Servo Shield for Arduino
×1
Digital LDR Module
×1
Jumper wires (generic)
Jumper wires (generic)
×1
110 RPM Half Metal Gear BO Motor – Straight
×1
18650 Battery Li-ion 3.7V Battery
×1
D65mm Rubber Wheel Pair - Blue
×1
Cligo 4WD ABS Smart Robot Car Chassis
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Hot glue gun (generic)
Hot glue gun (generic)

Story

Read more

Custom parts and enclosures

wheel_12mm_hex_adapter_dfrobot_aFwWPAZYa3.stl

Schematics

light_tracking_robot_bb_qie4lXC6uE.png

Code

Light_Tracking_Bot.ino

C/C++
// Light Tracking Robot
// Modified by ProfessorHulk
// You have to Install the AFMotor :https://www.arduino.cc/reference/en/libraries/adafruit-motor-shield-library/
// To install the libraries ( first download the AF Motor driver Library zip file
// then Go to Skecth >> Include Library >> Add .Zip Library >> Select The downloaded zip file >> Done)
// Have a Query about it, you can reach us here (Insta ID : the_one_and_only_smasher_tech)


#include<AFMotor.h> 
#define L1 A0 
#define C1 A3
#define R1 A4

AF_DCMotor M1(1);
AF_DCMotor M2(2);
AF_DCMotor M3(3);
AF_DCMotor M4(4);


void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
pinMode(L1, INPUT);
pinMode(C1, INPUT);
pinMode(R1, INPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
int LSensor = digitalRead(L1);
int CSensor = digitalRead(C1);
int RSensor = digitalRead(R1);

Serial.print("LSensor");
Serial.println(LSensor);
Serial.print("CSensor");
Serial.println(CSensor);
Serial.print("RSensor");
Serial.println(RSensor);

if((LSensor == 0)&&(CSensor == 0)&&(RSensor ==0)) { 
  //MOVE FORWARD
  M1.setSpeed(200);
  M1.run(FORWARD);
  M2.setSpeed(200);
  M2.run(FORWARD);
  M3.setSpeed(200);
  M3.run(FORWARD);
  M4.setSpeed(200);
  M4.run(FORWARD);
  
} else if((LSensor == 0)&&(CSensor == 0)&&(RSensor ==1)) {
  //TURN LEFT
  M1.setSpeed(200);
  M1.run(BACKWARD);
  M2.setSpeed(200);
  M2.run(BACKWARD);
  M3.setSpeed(200);
  M3.run(FORWARD);
  M4.setSpeed(200);
  M4.run(FORWARD);
  
}else if((LSensor == 1)&&(CSensor == 0)&&(RSensor ==0)) {
  //TURN RIGHT
  M1.setSpeed(200);
  M1.run(FORWARD);
  M2.setSpeed(200);
  M2.run(FORWARD);
  M3.setSpeed(200);
  M3.run(BACKWARD);
  M4.setSpeed(200);
  M4.run(BACKWARD);
}else if((LSensor == 1)&&(CSensor == 1)&&(RSensor ==1)) {
  //STOP
  M1.setSpeed(0);
  M1.run(RELEASE);
  M2.setSpeed(0);
  M2.run(RELEASE);
  M3.setSpeed(0);
  M3.run(RELEASE);
  M4.setSpeed(0);
  M4.run(RELEASE);
}
}

Credits

PROFESSORHULK
10 projects • 9 followers
Contact

Comments

Please log in or sign up to comment.