0% found this document useful (0 votes)
14 views28 pages

Mini Project Report

The document presents a mini-project report on the 'Clean Sweep Robot', an autonomous floor cleaning device developed by students at Muffakham Jah College of Engineering and Technology. The robot features advanced technology including ultrasonic sensors for obstacle detection, a user-friendly app for remote control, and a glucose drip infusion mechanism for optimized water flow during mopping. The report outlines the project's objectives, methodology, design, and implementation details, highlighting its innovative approach to modern household cleaning solutions.

Uploaded by

subtlybeige
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views28 pages

Mini Project Report

The document presents a mini-project report on the 'Clean Sweep Robot', an autonomous floor cleaning device developed by students at Muffakham Jah College of Engineering and Technology. The robot features advanced technology including ultrasonic sensors for obstacle detection, a user-friendly app for remote control, and a glucose drip infusion mechanism for optimized water flow during mopping. The report outlines the project's objectives, methodology, design, and implementation details, highlighting its innovative approach to modern household cleaning solutions.

Uploaded by

subtlybeige
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 28

MUFFAKHAM JAH COLLEGE OF ENGINEERING AND TECHNOLOGY

(Affiliated to OU) Hyderabad – 500034

A MINI-PROJECT REPORT

ON
“CLEAN SWEEP ROBOT”

Submitted by

P MAHABOOB SANA 1604-21-735-002

AYESHA SIDDIQUA 1604-21-735-003

MOHAMMED SAMRIEN ERUM 1604-21-735-005

Department of Electronics and Communications

Muffakham Jah College of Engineering and Technology

Mini Project Co-Ordinator and Affiliation

Mrs. Shubhangi Saxena ( Assistant Professer,ECED,MJCET)


Table of Contents

ABSTRACT.........................................................................................................................i

ACKNOWLEDGEMENT.................................................................................................ii

ABBREVIATIONS AND SYMBOLS.............................................................................iii

LIST OF FIGURES ..........................................................................................................iv

LIST OF TABLES .............................................................................................................v

CHAPTER 1 .......................................................................................................................1

1. Introduction..................................................................................................................1

1.1. Background ...............................................................................................................1

1.2. Motivation.................................................................................................................1

1.4. Objectives .................................................................................................................2

1.5. Methodology.............................................................................................................2

1.6. Limitations................................................................................................................2

1.7. Organisation of Report..............................................................................................3

1.8. Summary...................................................................................................................3

CHAPTER 2 .......................................................................................................................4

2. Technology and Literature Survey...............................................................................4

2.1. Basic Operation.........................................................................................................4

2.2. Hardware Required ...................................................................................................5

2.3. Software Required...................................................................................................10

CHAPTER 3 .....................................................................................................................11

3. Design and Implementation .......................................................................................11

3.1. Schematic................................................................................................................11

3.2. Arduino Working Logic..........................................................................................13

3.3. Process Explanation................................................................................................14

3.4. Programming and Simulation .................................................................................15

3.5. Summary.................................................................................................................17

CHAPTER 4 .....................................................................................................................18
CHAPTER 4.

Coding Part

4.1. Software Code....................................................................................................18

CHAPTER 5

References and Resources 21


ABSTRACT
The Floor Cleaning Robot represents a cutting-edge advancement in household
automation, integrating state-of-the-art technology to deliver efficient and
convenient cleaning solutions. Its autonomous control system enables seamless
operation, allowing users to sit back and relax while the robot efficiently
navigates through rooms, effortlessly cleaning floors with its single fixed mop.

With the inclusion of a phone app for control, users can conveniently manage
and monitor the robot's activities remotely, providing flexibility and ease of use.
Whether at home or away, users have full control over scheduling cleaning
sessions, adjusting settings, and receiving notifications, ensuring a hassle-free
cleaning experience.

Equipped with three ultrasonic sensors, the robot employs advanced obstacle
detection and avoidance capabilities, ensuring smooth navigation and preventing
collisions with furniture, walls, or other obstacles in its path. This intelligent
sensor technology enhances the robot's efficiency and safety, allowing it to
navigate complex environments with ease.

The incorporation of a latching switch provides users with the flexibility to switch
between autonomous and manual mode effortlessly. This feature allows for
manual control when desired, enabling users to navigate the robot to specific
areas or address any cleaning needs manually.

For enhanced user interaction and feedback, the robot optionally includes an
LCD display, which can be utilized for displaying commands, status updates, or
debugging information. This intuitive interface enhances the user experience,
providing clear communication and feedback during operation.

Innovatively designed, the robot utilizes lithium-ion batteries, offering increased


capacity and a smaller form factor compared to traditional battery technologies.
This not only extends the robot's runtime, allowing for more extensive cleaning
sessions but also contributes to its sleek and compact design.

The innovative water flow control mechanism, utilizing a glucose drip infusion
system, ensures precise and controlled distribution of water during mopping.
This advanced mechanism optimizes water usage, preventing over-saturation
while ensuring thorough cleaning of floors, leaving them sparkling clean.

Overall, the Floor Cleaning Robot represents a sophisticated blend of technology


and innovation, offering users a convenient, efficient, and enjoyable cleaning
experience. From its autonomous capabilities and remote control functionality to
its advanced sensors and intelligent design features, the robot sets a new
standard in home cleaning automation.
LIST OF FIGURES
Figure 2.1: Block Diagram of the cleaning Robot. .....................................................4
Figure 2.2: Arrangements of the Sensor ..........................................................................5
Figure 2.3: Schematic of Comparator Logic........................................................................6
Figure 2.4: Optical Sensor schematic .................................................................................6
Figure 2.5: Arduino Uno Schematic ....................................................................................7
Figure 2.6: Pin Configuration IC L293D............................................................................... 8
Figure 2.7: Low Volt DC Gear Motor attach with Wheel. ....................................................9
Figure 2.8: Schematic of LCD Panel ...................................................................................9
Figure 2.9: Proximity Sensor .............................................................................................10
Figure 3.1:+Circuit Diagram Of clean Sweep Robot ..........................................................12
Figure 3.2: CleaningProcess...................................................................................14
Figure 3.3: Flowchart of the Cleaning Process and Distance Calculation..................16

LIST OF TABLES

Table 1: Arduino Working Logic.......................................................................................13

Table 2: Analysis of effect of PWM on RPM of Motor ....................................................19


CHAPTER 1

1. Introduction

The Floor Cleaning Robot is a cutting-edge cleaning solution with autonomous


control and a user-friendly app. Featuring ultrasonic sensors, a switch for
autonomous/manual modes, and a single fixed mop, it offers efficient and
convenient floor cleaning. The optional LCD display provides user feedback, and
lithium-ion batteries ensure extended runtime. The innovative glucose drip
infusion mechanism controls water flow during mopping, optimizing cleaning
performance. This robot combines advanced technology with ease of use, setting
a new standard in home cleaning automation.

1.1. Background

The Floor Cleaning Robot is a groundbreaking solution poised to transform


household cleaning. Its autonomous operation and intuitive app interface offer
unparalleled convenience and efficiency. With advanced ultrasonic sensors and a
toggle switch for autonomous or manual control, it effortlessly navigates around
obstacles. Additionally, the optional LCD display provides real-time feedback,
complementing the lithium-ion batteries that ensure prolonged usage. The
innovative glucose drip infusion mechanism regulates water distribution during
mopping, marking a significant advancement in home cleaning automation.

1.2. Motivation

The motivation behind the development of the Floor Cleaning Robot stems from
the increasing demand for convenient and efficient cleaning solutions in modern
households. Traditional cleaning methods often require significant time and
effort, which can be a challenge for busy individuals. The robot's autonomous
operation, user-friendly interface, and advanced features aim to alleviate these
concerns by offering a hands-free cleaning experience. By incorporating
innovative technologies such as ultrasonic sensors and a glucose drip infusion
mechanism, the robot seeks to enhance the efficiency and effectiveness of floor
cleaning while providing users with greater flexibility and convenience in
maintaining a clean home.

1.3. Problem Description

The problem tackled by the Floor Cleaning Robot is the inefficiency and
inconvenience of traditional floor cleaning methods. Manual cleaning requires
significant time and effort, often resulting in incomplete cleaning, especially
around obstacles. Excessive water usage is another issue, leading to potential
wastage and inefficient cleaning. Lack of automation adds to the burden of
household chores, especially for busy individuals. The Floor Cleaning Robot
addresses these challenges by offering an autonomous, user-friendly, and
technologically advanced cleaning solution

1.4. Objectives

The objectives of the project are:

 Develop an autonomous floor cleaning robot capable of navigating


efficiently around obstacles.
 Implement advanced sensor technology, such as ultrasonic sensors,
to enable obstacle detection and avoidance.
 Design a user-friendly app interface for remote control and
scheduling of cleaning sessions.
 Incorporate a toggle switch for seamless transition between
autonomous and manual modes.
 Utilize lithium-ion batteries to provide extended runtime and
enhance portability.
 Integrate an optional LCD display for real-time feedback and status
updates.
 Implement a glucose drip infusion mechanism to control water flow
during mopping for optimized cleaning performance.
 Offer a hands-free and efficient cleaning solution to alleviate the
burden of traditional cleaning methods.

1.5. Methodology
 Conduct research on existing floor cleaning technologies and market
trends.
 Define specific requirements and design objectives based on
research findings.
 Develop a prototype of the Floor Cleaning Robot incorporating the
desired features and technologies.
 Test the prototype in various simulated environments to evaluate
performance and functionality.
 Gather feedback from users and make necessary adjustments to
improve usability and effectiveness.
 Conduct thorough testing of the final product to ensure reliability
and safety.
 Implement quality control measures to maintain consistent
performance and durability.
 Develop user manuals and instructional materials for seamless
adoption and operation of the robot.
1.6. Limitations
 Limited Coverage: The robot's cleaning capabilities may be constrained
by its size and mobility, affecting its ability to reach certain corners or
areas within a space.
 Battery Dependency: Despite the use of lithium-ion batteries for
extended runtime, the robot's cleaning sessions are still subject to battery
limitations, requiring periodic recharging and potentially interrupting
cleaning tasks.
 Sensory Challenges: While equipped with ultrasonic sensors for obstacle
detection, the robot may encounter difficulties accurately identifying
certain obstacles, leading to potential collisions or navigation issues.
 Manual Intervention: Despite autonomous capabilities, there may be
situations requiring manual intervention, such as handling obstacles that
the robot cannot navigate around, impacting the fully hands-free
experience.
 Water Capacity: The glucose drip infusion mechanism's water capacity
may be limited, necessitating frequent refills during extended cleaning
sessions, potentially affecting the robot's continuous operation.

1.7. Organisation of Report


This report is a documentary delivering the ideas generated, concepts applied,
activities
done It contains four chapters. The following is a description of information in
this thesis.

Chapter 1: provides a general overview of the project and the use and
importance of
autonomous robots in the world. The objectives, scope of project, problem
statement are
also described in this chapter.

Chapter 2 describes the hardware development unit in line following robot. This
chapter
describes about sensor arrays, Arduino, motor driving system, it also describes
the project
methodology and explains hardware development for the design of the robot.

Chapter 3: contains the process explanation with working algorithm, flowchart


and sketch
of the Arduino.

Chapter 4: contains all the results obtained from the software experiments that
include the
algorithm implemented in a program.
.

1.8. Summary

The Floor Cleaning Robot offers an innovative solution to traditional cleaning


methods, boasting autonomous control and a user-friendly app interface.
Equipped with ultrasonic sensors for obstacle detection, it navigates efficiently
while offering the flexibility of manual control when needed. However, limitations
include its dependency on battery life, potential sensory challenges, and a need
for manual intervention in certain situations. Despite these constraints, the
robot's advanced features, such as a glucose drip infusion mechanism for water
control during mopping, represent a significant step forward in home cleaning
automation.
CHAPTER 2

2. Technology and Literature Survey


The clean sweep robot is a self-operating robot that detects andcleans the floor
.The clean sweep robot is designed using Arduino which is a self-operating
system that detects and Control operations .

2.1. Basic Operation


The basic operations of line follower are as follows:

 Autonomous Cleaning: The robot operates autonomously,


navigating through the cleaning area using its onboard sensors to
detect obstacles and navigate around them.
 Obstacle Detection: Equipped with ultrasonic sensors, the robot
detects obstacles in its path and adjusts its trajectory accordingly to
avoid collisions.
 Mode Selection: Users can switch between autonomous and manual
modes using a latching switch, allowing for manual control when
needed or desired.
 Mopping Functionality: The robot's single fixed mop efficiently
cleans floors as it navigates, utilizing a glucose drip infusion
mechanism to control the flow of water during mopping.
 User Interaction: Users can interact with the robot through a user-
friendly app interface, allowing for remote control, scheduling of
cleaning sessions, and monitoring of the robot's status.
.

BLOCK DIAGRAM
2.2.2.1. Arduino
Arduino is an open-source computer hardware and software company, project
and user
community that designs and manufactures microcontroller-based kits for building
digital
devices and interactive objects that can sense and control objects in the physical
world. The
heart of Arduino is the microcontroller. For Arduino Uno ATmega328 is used.It has
specification of 8 bit CPU, 16 MHZ clock speed, 2 KB SRAM 32 KB flash Memoary,
1 KB
EEPROM [2].
Features :-
 14 digital input output pins ( 3,5,6,9,10 and 11 pins are able to generate PWM).
 6 analog input pins
 Voltage input from the 7 – 12 V
2.2.3. Output System
The output system is designed with the function of the following components.
2.2.3.1 Motor Driver
Motor driver is a current enhancing device; it can also be act as Switching
Device. Thus,
after inserting motor driver among the motor and microcontroller. Motor driver
taking the
input signals from microcontroller and generate corresponding output for motor.
IC L293D
This is a motor driver IC that can drive two motor simultaneously. Supply voltage
(Vss) is
the voltage at which motor drive. Generally, 6V for dc motor and 6 to 12V for
gear motor
are used, depending upon the rating of the motor. Logical Supply Voltage
deciding what
value of input voltage should be considered as high or low .So if the logical
supply voltage
equals to +5V, then -0.3V to 1.5V will be considered as Input low voltage and
2.3V to 5V
is taken into consider as Input High Voltage. The Enable 1 and Enable 2 are the
input pin
for the PWM led speed control for the motor L293D has 2 Channels .One channel
is used
for one motor.2

2.2.3.2. DC Motor
Motor is a device that converts any form of energy into mechanical energy or
imparts
motion. In constructing a robot, motor usually plays an important role by giving
movement
to the robot. In general, motor operating with the effect of conductor with current
and the
permanent magnetic field. The conductor with current usually producing
magnetic field
that will react with the magnetic field produces by the permanent magnet to
make the motor
rotate. There are generally three basic types of motor, DC motor, even
servomotor and
stepper motor, which are always being used in building a robot.
DC motors are most easy for controlling. One DC motor has two signals for its
operation. Reversing the polarity of the power supply across it can change the
direction
required. Speed can be varied by varying the voltage across motor.
CHAPTER 3

3. Design and Implementation


3.1. Schematic
The schematic of the “Line Following Robot” is shown in the figure. The main
component is the
Arduino Uno. Schematic is drawn by using Proteus.
The main features incorporated into the hardware are given below:
 Arduinio Uno.
 The ultrasonic sensor with object avoiding ability.
 The LM324 quad comparator IC.
 A potentiometer to calibrate the reference voltage.
 The H-bridge motor control IC (L293D)
 Motors, with coupled reduction gears.
 Connectors to join the different boards to form one functional device.
Each of the hardware is dissected and was designed/implemented separately
for their functional andlater incorporated as one whole application. This
helped in the debugging processes.
Circuit Diagram

Summary
The logic behind the working of Arduino is to analyse the input from the sensor
according
to program fed to it and provide corresponding output to the the motor driver
which finally
drive the motor in such way that, it produce required motion.
The differential steering system is implemented to turn the robot. In this system,
each back
wheel has a dedicated motor while the front wheels are free to rotate. To move in
a straight
line,both the motors are given the same voltage . To manage a turn of different
sharpness,
the motor on the side of the turn required is given lesser voltage as level of
steering required.
CHAPTER 4
CODE
Programming language used : Embeadded C

#include <NewPing.h> //import libraries


#include <LiquidCrystal.h>

const int echo_L = 2; //initialize pin numbers


const int trig_L = 3;
const int echo_M = 4;
const int trig_M = 5;
const int echo_R = 7;
const int trig_R = 8;
const int L1 = 6;
const int L2 = 9;
const int R1 = 10;
const int R2 = 11;
const int button = 12;
const int pump = 13;
int motor_speed = 255; //speed of the motor can be set between 125
(minimum) and 255 (maximum)
int max_distance = 200; //max distance of ultrasonic sensors is set to 200cm
int distance_L = 0;
int distance_M = 0;
int distance_R = 0;
char incomingByte;

NewPing sonar_L(trig_L, echo_L, max_distance); //initialize all the 3 sensors


NewPing sonar_M(trig_M, echo_M, max_distance);
NewPing sonar_R(trig_R, echo_R, max_distance);
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5); //initialize LCD

void setup()
{
pinMode(L1, OUTPUT); //intitialize pins as output or input
pinMode(L2, OUTPUT);
pinMode(R1, OUTPUT);
pinMode(R2, OUTPUT);
pinMode(button, INPUT);
pinMode(pump, OUTPUT);
digitalWrite(L1, LOW);
digitalWrite(L2, LOW);
digitalWrite(R1, LOW);
digitalWrite(R2, LOW);
digitalWrite(pump, LOW);
lcd.begin(16, 2);
lcd.print("Welcome!");
Serial.begin(9600); //begin serial communication via bluetooth at 9600 baud
rate
delay(2000);
}

void loop()
{
if(digitalRead(button) == LOW) //if button is not pressed
{
lcd.clear(); //manual mode
lcd.print("Manual Mode");
while(true)
{
manualMode();
if(digitalRead(button) == HIGH)
{
moveStop();
break;
}
}
delay(100);
}

else //else automatic mode


{
lcd.clear();
lcd.print("Automatic Mode");
while(true)
{
automaticMode();
if(digitalRead(button) == LOW)
{
moveStop();
break;
}
}
delay(100);
}
}

void manualMode()
{
if (Serial.available() > 0) //check if any data is available
{
incomingByte = Serial.read(); //read incoming data
}

switch(incomingByte) //based on received character execute respective


commands
{
case 'F':
moveForward();
lcd.clear();
lcd.print("Forward");
incomingByte='*';
break;

case 'B':
moveBackward();
lcd.clear();
lcd.print("Backward");
incomingByte='*';
break;

case 'L':
moveLeft();
lcd.clear();
lcd.print("Left");
incomingByte='*';
break;

case 'R':
moveRight();
lcd.clear();
lcd.print("Right");
incomingByte='*';
break;

case 'S':
moveStop();
lcd.clear();
lcd.print("Stop");
incomingByte='*';
break;

case 'P':
digitalWrite(pump, HIGH);
lcd.clear();
lcd.print("Pump ON");
incomingByte='*';
break;

case 'p':
digitalWrite(pump, LOW);
incomingByte='*';
break;

case '1':
motor_speed = 155;
incomingByte='*';
break;

case '2':
motor_speed = 205;
incomingByte='*';
break;

case '3':
motor_speed = 255;
incomingByte='*';
break;

delay(5000);
}
}

void automaticMode()
{
distance_L = readSensor_L(); //read distance from all the 3 sensors
distance_M = readSensor_M();
distance_R = readSensor_R();
lcd.clear(); //print distance on LCD
lcd.print("L=");
lcd.print(distance_L);
lcd.print("cm ");
lcd.print("M=");
lcd.print(distance_M);
lcd.print("cm");
lcd.setCursor(0, 1);
lcd.print("R=");
lcd.print(distance_R);
lcd.print("cm");

if(distance_M <= 20) //if middle sensor distance is less than 20cm
{
if(distance_R > distance_L) //check if there is place at right or left
{
if((distance_R <= 20) && (distance_L <= 20)) //if there is no place on both
sides
{
moveStop();
delay(200);
moveBackward(); //move back
delay(2000);
}
else
{
moveBackward(); //move back then turn right
delay(500);
moveRight();
delay(2000);
}
}
else
if(distance_R < distance_L)
{
if((distance_R <= 20) && (distance_L <= 20))
{
moveStop(); //move back
delay(200);
moveBackward();
delay(2000);
}
else
{
moveBackward(); //move back then turn left
delay(500);
moveLeft();
delay(2000);
}
}
}

else
if(distance_R <= 15) //if right sensor distance is less than 20cm
{
moveLeft(); //turn left
delay(500);
}
else
if(distance_L <= 15) //if left sensor distance is less than 20cm
{
moveRight(); //turn right
delay(500);
}
else
{
moveForward(); //in all other cases keep on moving forward
}
}

int readSensor_L() //read distance in centimeters from left sensor


{
delay(70);
int cm_L = sonar_L.ping_cm();
if(cm_L==0)
{
cm_L = 250;
}
return cm_L;
}

int readSensor_M() //read distance in centimeters from left sensor


{
delay(70);
int cm_M = sonar_M.ping_cm();
if(cm_M==0)
{
cm_M = 250;
}
return cm_M;
}

int readSensor_R() //read distance in centimeters from left sensor


{
delay(70);
int cm_R = sonar_R.ping_cm();
if(cm_R==0)
{
cm_R = 250;
}
return cm_R;
}

void moveForward()
{
digitalWrite(L1, LOW);
analogWrite(L2, motor_speed);
analogWrite(R1, motor_speed);
digitalWrite(R2, LOW);
}

void moveBackward()
{
analogWrite(L1, motor_speed);
digitalWrite(L2, LOW);
digitalWrite(R1, LOW);
analogWrite(R2, motor_speed);
}

void moveLeft()
{
analogWrite(L1, motor_speed);
digitalWrite(L2, LOW);
analogWrite(R1, motor_speed);
digitalWrite(R2, LOW);
}

void moveRight()
{
digitalWrite(L1, LOW);
analogWrite(L2, motor_speed);
digitalWrite(R1, LOW);
analogWrite(R2, motor_speed);
}

void moveStop()
{
digitalWrite(L1, LOW);
digitalWrite(L2, LOW);
digitalWrite(R1, LOW);
digitalWrite(R2, LOW);
}

CHAPTER 6
RESOURCES AND APPENDICES

1. Arduino Official Website:


 Website: Arduino
 The official Arduino website provides tutorials, documentation, and project
ideas for using the Arduino Uno microcontroller.
2. Adafruit:
 Website: Adafruit
 Adafruit offers tutorials, guides, and a wide range of electronic components
suitable for robotics projects.
3. SparkFun:
 Website: SparkFun
 SparkFun provides tutorials, guides, and a variety of electronic
components and kits for building robotics projects.
4. Instructables:
 Website: Instructables
 Instructables offers step-by-step instructions, tutorials, and project ideas
contributed by the community, including robotics projects .
5. Arduino Project Hub:
 Website: Arduino Project Hub
 Arduino Project Hub features a collection of user-contributed projects,
including robotics projects, with detailed instructions and code.

6. YouTube Channels:
 GreatScott!: Link
 ElectroBOOM: Link
 How To Mechatronics: Link

7. Online Courses:
 Udemy: Robotics Courses
 Coursera: Robotics Specialization
 edX: Robotics Courses

8. Books:
 "Robot Building for Beginners" by David Cook
 "Arduino Robotics" by Warren
 "Make: Electronics" by Charles Platt

You might also like