Warriors Line Follower Robot
Warriors Line Follower Robot
net/publication/371223804
CITATION READS
1 4,327
4 authors, including:
All content following this page was uploaded by James Frederic Dulo on 02 June 2023.
In Partial Fulfillment
Of the Requirements for the Degree
By
WARRIORS
SY 2022-2023
Introduction
Constructive Research Method is used for this research study. The Constructive
Research Method is the most commonly used in Computer Science related research.
The goal of constructive research is to validate through the use of construction of the
prototype to be tested. In this study, a line follower robot that aims to have the fastest
line follower.
As shown in Figure 2, the IR proximity sensor will act as an input to the capture
line. The IR sensors are connected to Arduino uno and DC motor that will help the line
follower robot to have precise motion.
Project Development
Project development is a procedure that molds an idea into a working project.
Information can be gathered from websites and first hand basis. In this study, the
researcher will conduct a survey that will gather information about the Line Follower
Robot and utilize the software and hardware components.
Figure 3 Project Development
Figure 3. shows the progression of the project. The first step is scope analysis, in which
the researcher evaluates the project's potential outcomes and level of completion. The
requirement analysis that follows will cover the project's requirements and features.
Following a project requirements analysis, the design will be created, and the
researcher will next construct a project prototype. The user will put the prototype
through a lot of testing in order to determine whether it needs improvement or not. The
prototype will then undergo extensive testing, and if it has proven to be reliable, the
researcher will consider it to be a finished product.
Hardware Design
Figure 6. A chassis is a special design robot body that you can use for Line
Following Robot projects.
Figure 8. The Jumper wires are simply wires that have connector pins at each
end, allowing them to be used to connect two points to each other without soldering.
Figure 9. The robot's motors are driven by the motor driver module. On the basis
of the data transmitted by the IR Sensors, it receives signals from the Arduino Uno
Board.
Figure 10 Rechargeable battery with case
Figure 11 DC Motor
Figure 11. is referred to as a battery-powered motor. These motors are
frequently employed in hobby-grade applications when a small DC motor is needed as a
straightforward actuator.
Arduino IDE. The open-source Arduino Software (IDE) makes it easy to write code and
upload it to the board. It functions on Linux, Mac OS X, and Windows. The environment
is created using Processing and other open-source technologies and is written in Java.
Any Arduino board can be used with this software.
System Flowchart
//defining motors
AF_DCMotor motor1(4, MOTOR12_8KHZ);
AF_DCMotor motor2(3, MOTOR12_8KHZ);
/*
AF_DCMotor motor1(3, MOTOR12_8KHZ);
AF_DCMotor motor2(4, MOTOR12_8KHZ);
*/
void setup() {
//setting the speed of motors
motor1.setSpeed(200);
motor2.setSpeed(200);
//declaring pin types
pinMode(lefts,INPUT);
pinMode(rights,INPUT);
//begin serial communication
Serial.begin(9600);
void loop(){
//printing values of the sensors to the serial monitor
Serial.println(analogRead(lefts));
Serial.println(analogRead(rights));
//line detected by both
if(analogRead(lefts)<=400 && analogRead(rights)<=400){
//stop
motor1.run(RELEASE);
motor2.run(RELEASE);
}
//line detected by left sensor
else if(analogRead(lefts)<=400 && !analogRead(rights)<=400){
//turn left
motor1.run(BACKWARD);
motor2.run(FORWARD);
/*
motor1.run(RELEASE);
motor2.run(FORWARD);
*/
}
//line detected by right sensor
else if(!analogRead(lefts)<=400 && analogRead(rights)<=400){
//turn right
motor1.run(FORWARD);
motor2.run(BACKWARD);
/*
motor1.run(FORWARD);
motor2.run(RELEASE);
*/
}
//line detected by none
else if(!analogRead(lefts)<=400 && !analogRead(rights)<=400){
//stop
motor1.run(FORWARD);
motor2.run(FORWARD);
/*
motor1.run(BACKWARD);
motor2.run(BACKWARD);
*/
}
}
View publication stats