Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 56

A PROJECT ON

“Automatic Floor Cleaning Robot”


Submitted by
SANTOSH KUMAR TARKESHWAR PANDIT
MEDHA PANKAJ MOHAN
SHARMA RAJANI DEVI BHAWANIDIN

Under the Guidance of


Prof. Vaishali Hande

SHIVAJIRAO S. JONDHLE POLYTHECHNIC, ASANGAON.


Institute Code :- 0935

Maharashtra State Board of Technical Education Mumbai

IN 3 YEARS, DIPLOMA PROGRAMME IN ENGINEERING TECHNOLOGY


MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
ISO 9001:2008(ISO/IEC-27001:2013)
1|Page
SHIVAJIRAO S. JONDHLE POLYTHECHNIC, ASANGAON

This is to certify that MR. SANTOSH KUMAR TARKESHWAR PANDIT


From SHIVAJIRAO S. JONDHLE POLYTHECHNIC,ASANGAON having
Enrolment No: 2209350372 has completed project of final year having title “Automatic
Floor Cleaning Robot” during of academic year 2023-24.The project is completed by

group consisting of 3 person under the guidance of the faculty Guide.

……………….. ………………..
Internal Examiner External Examiner

……………….. ………………..
Mrs. Vaishali Hande Mrs. Rupali Firke
Project Guide Head of the Department

………………..
Dr. Sneha H.Jondhle
Principal

Seal of Institution

2|Page
SHIVAJIRAO S. JONDHLE POLYTHECHNIC, ASANGAON

This is to certify that MR. MEDHA PANKAJ MOHAN


From SHIVAJIRAO S. JONDHLE POLYTHECHNIC,ASANGAON having
Enrolment No: 2209350361 has completed project of final year having title “Automatic
Floor Cleaning Robot” during of academic year 2023-24.The project is completed by

group consisting of 3 person under the guidance of the faculty Guide.

……………….. ………………..
Internal Examiner External Examiner

……………….. ………………..
Mrs Vaishali Hande Mrs. Rupali Firke
Project Guide Head of the Department
3|Page
………………..
Dr. Sneha H.Jondhle
Principal

Seal of Institution

4|Page
SHIVAJIRAO'S. JONDHLE POLYTHECHNIC, ASANGAON

This is to certify that M. SHRAMA RAJANI DEVI BHAWANIDIN


From SHIVAJIRAO S. JONDHLE POLYTHECHNIC,ASANGAON having
Enrolment No: 2209350375 has completed project of final year having title “Automatic
Floor Cleaning Robot” during of academic year 2023-24.The project is completed by

group consisting of 3 person under the guidance of the faculty Guide.

……………….. ………………..
Internal Examiner External Examiner

……………….. ………………..
Mrs. Vaishali Hande Mrs. Rupali Firke
Project Guide Head of the Department

………………..
Dr. Sneha H. Jondhle
Principal

Seal of Institution

5|Page
ACKNOWLEDGEMENT
It gives us a great pleasure to submit this project report on "Automatics
Floor Cleaning Robot” I express my sincere thanks to my guide PROF.
Vaishali Hande for his guidance and time to time valuable suggestion and
providing constant support throughout this work. I am very thankful to the
staff members of Computer department for their persistent inspection inspiration.
I am also very much thankful to Principal, DR. SNEHA H. JONDHLE who has
been a Constant source of inspiration to complete the work.

Name of Student: -
MR. SANTOSH KUMAR TARKESHWAR PANDIT
.MR.MEDHA PANKAJ MOHAN
MS.SHARMA RAJANI DEVI BHAWANIDI

6|Page
INDEX

Sr. Chapters Pag


No. e
No.
1
Chapter 1
1.1 Present Theory And Practices 9-11
1.2 Problem Statement 11
1.3 Aim 11
1.4 Objectives 11
1.5 Scope of project 12
2
Chapter 2
LITERATURE REVIEW

2.1 Analysis of The Existing Work 13-14


2.2 Bluetooth Technology 14-15
3
Chapter 3
PROJECT METHODOLOGY

3.1 Methodology Of The Project 16


3.2 Component Used In The Project 16
17
3.3 System Block Diagram 18
3.4 System Circuit Diagram
4
Chapter 4
MAJOR SOFTWARE REQUIRED

4.1 Software Required : Arduino Software (IDE) 19-24


4.2 Coding 25-32
5
Chapter 5
DESIGN AND MAIN COMPONUNTS
5.1 Main Componunts
33-51
6 Chapter 6
6.1 Actual image of the Automatic Floor Cleaning 52-53
Robot
7 Chapter 7 54
7|Page
7.1 Referances

8|Page
LIST OF FIGURE

Sr. No. Name Of Diagram Page


No.

1 Block Diagram 17

2 Schematic Diagram 18

3 Servo Motor 33

4 Ultrasonic Sensor 36

5 Arduino nano 43

6 L298n motor driver 49

7 Dc Motor 50

9|Page
ABSTRACT

Technology is never-ending process and designing product using the current


technology that will be beneficial to the lives of others is a massive
contribution to the community. This project deal with design and
implementation of floor cleaning robot using Arduino mega2560. The aim of
this project is to develop and modernize the system for cleaning robot which
is portable and less cost. The system consist of Arduino mega2560 which is
the back bone of the system to function as required, the brush that clean solid
particles before washing, L293D motor driver, Ultrasonic sensor to calculate
the distance between the sonar sensor and the object, wheels for movement
in required direction, Dc motor (for pumping water, for moving purpose, for
mopping purpose), Transistor for switching function, servomotor1 to move
brush up or down, servomotor2 to move mopper up or down and Bluetooth
module. Based on the command given by user from developed android
application to the system, Arduino direct servo motor to make the brush up
or down, pumper to pour out the water to the floor hear we use water spray
motor to spray a water to the floor, the wheels of the robot to move forward,
back ward, left, right, stop and mopper to do mopping or not. Floor cleaning
robot is very useful in cleaning floors in hospitals, house, auditoriums, shop,
computer center etc. It is simple, portable, modern house holding device
everyone can operate it easily with safety. Generally, this floor cleaning
robot is very important one for our health and reduce the man power
requirement.

10 | P a g e
CHAPTER 1
1.1 PRESENT THEORY AND PRACTICES
Wireless technologies are becoming more prevalent around the world
and the people or users appreciate this wireless technology which gives
them knowledge about different tasks which can be performed through
wireless, reduce human power and time consume and it’s secured one.

Technology is a never-ending process and to design product using the


current technology that will be beneficial to the lives of others is a
massive contribution to the community. Bluetooth technology is one of
the wireless technologies used to transfer information between different
electronic devices and less impediment, power consumption, accessible
at cheaper rates etc.

In this work, “Mobile aided Arduino nano based floor cleaning robot
using ultrasonic sensor” is designed for floor buildings. Here floor
cleaning robot is proposed that is controlled through android application
and ultrasonic sensor for floor cleaning purpose it can also work
automatically.

Floor cleaning robot is designed to make housework process become


easier for human task and reduce dirty. The mopper makes floor
cleaning very easy and fast processing using rotating dc motor.

The user may sit at a place, start a robot and clean wherever needed. The
system consists of a transmitter and receiver components. The
transmitter part from android mobile application is used by the user to
transmit command based on the desired operation.

9|Page
Based on these commands the transmitter sends the anticipated
commands to Arduino. Then Arduino direct the components to function
based on the incoming signal from the android. The robot consists of
cleaning mop with a water sprayer for efficient cleaning. The robot has
one motorized rotating cleaning brushes for the cleaning part. It is
receiving the movement commands from the android device through
Bluetooth module receiver.
The Arduino on receiving the commands decodes them and thus the
motors operates in order to achieve the desired motion. This makes
floor cleaning a very easy, fast and an effortless process. This thesis is a
combination between software and hardware. The hardware of this robot
consists of the Arduino nano, DC gear motors, motor wheels, motor
driver, Bluetooth serial communication, the power supply and the chassis
for the robot.

The software used in this project is Arduino IDE to write the programming
and simulate the circuit design respectively. Robotic cleaners have taken
major attention in robotics research due to their effectiveness in assisting
humans in floor cleaning applications at homes, hotels, restaurants, offices,
hospitals, workshops, storerooms and university. Robotic cleaners are
distinguished on their cleaning expertise like floor mopping, dry vacuum
cleaning etc. Some products based on simple obstacle avoidance using
infrared sensors while some utilize laser-mapping technique.

Each cleaning and operating mechanism of robotic floor cleaners has its own
advantages and disadvantages. For example, robots utilizing laser mapping
are relatively faster, less time consuming and energy efficient, while obstacle
avoidance-based robots are relatively time consuming and less energy
efficient due to random cleaning but less costly.

10 | P a g e
Importing them from abroad increases their costs. Several types of android
robots with different dimensions are designed for various robotic
applications. Labor force is used for purpose of cleaning floor. But this is
tedious and laborious. For this reason, mobile aided Arduino nano based
floor cleaning robot using ultrasonic sensor designed for cleaning purpose in
building including industry, office, floor, cafeteria and other buildings floor.

1.2 PROBLEM STATEMENT

In fact, all peoples are using sweep for cleaning purpose. From time to
time technology come up and need to upgrade for easier human task.
Furthermore, in buildings as well us in living home, industry, cafeterias
and other building floors cleaning process is done by human beings.
This is tedious, takes large time and laborious, difficulties for human
being to clean at a time. Due to this reason, mobile aided Arduino nano
based floor cleaning robot using ultrasonic sensor is proposed to solve
this problem. Therefore, this project is built to be one of the advantages
for human to clean the floor within small period and more effective. In
addition, since it is portable and small user can take it anywhere simply.

1.3 AIM
This project is to design and implement Mobile aided Arduino nano
based floor cleaning robot using ultrasonic sensor for floor buildings by
avoiding human power and wasting of time.

1.4 OBJECTIVES
• To simplify human life
• To avoid time wastage during cleaning.
• To develop an android application that sends a set of instructions from
mobile phone for controlling purpose.
11 | P a g e
• To interface Bluetooth module with Arduino.
• To identify the specifications of each component used while designing.

1.5 SCOPE OF THE PROJECT


Cleaning Robot is developed to make cleaning process easier especially
for working people. This robot is designed for specific area Such as
dorm, classroom, office, student cafeteria, in same case for floor of the
building.
Used in areas such as:-
 Cafterias
 Hospitals
 Universities
 Libraries
 Factories
 Hotels
 Industries
 supermarkets and in every building floors.

12 | P a g e
CHAPTER 2 LITERATURE REVIEW

2.1 Analysis of The Existing Work

Manreet Kaur and Preeti Abrol, in the paper “Design and development
of floor cleaning robot” have made the cleaning using automatic and
manual modes. They have used RF modules for wireless communication
between remote and robot having range of 50m. In the automatic mode,
robot controls all operations itself and changes the lane in case of hurdle
detection and moves back. In the manual mode keypad is used to
perform the expected task and to operate the robot. [1]

Another paper which was published by Jens Steffen Gutmann, Kristen


Culp, Mario E. Munich and Paolo Pirjanian in the paper “Social impact
of a systematic floor cleaner” explain mint cleaning robot which is an
automatic cleaning robot that sweeps and mops hard surface floors using
dusting and moping cloth was developed. It investigates the product’s
social impact with respect to the attitude of customers towards a
systematic floor cleaner and how much a robot influences a lifestyle.
Systematic cleaning was an important feature and modifications to the
environment to support the navigation of the robot. The robot employs a
systematic cleaning strategy that maps the environment using GPS like
indoor localization. [2]

Many more systems were proposed and among that is the system
proposed by J.Y. Sung, R. E. Grinter and H. I. Christensen in
“Housewives domestic robot technology international journal of social
robotics”. In this paper a new type of home intelligent cleaner adopted
13 | P a g e
the ultrasonic and IR sensor array which had the function of real time
environment perception is introduced and the cleaner is driven by step
motor has the ability of autonomous working by itself and the functions
of automatic detection and obstacle avoidance. This paper adopts grid
scan algorithm placed on electric map, realize floor coverage task and
designs synthesis detection system based on sensor array finding method
technology according to – –--algorithm characteristics. However, this
system did not support wet detection and it only performed dry cleaning.
[3]

In this paper, an autonomous robot for floor cleaning application


is proposed. It can perform sucking and mopping tasks, obstacle
detection, and automatic water spray. Moreover, it is also able to
work in manual mode. All hardware and software operations are
controlled by Atmega5260 microcontroller. Therefore, the proposed
floor cleaning robot is to overcome the drawbacks of the existing
system.[4]

2.2 Bluetooth Technology


Bluetooth technology is one of wireless transference network technology
to replace the cables connecting electronic devices, adapters and exhibits
the electronic devices to communicate wirelessly among each other.
Bluetooth RF transceiver operates in the unlicensed ISM band centered
at 2.4 gigahertz and managed using an RF topology.

Bluetooth technology uses the principles of device "inquiry" and


"inquiry scan." Scanning devices listen in on known frequencies for
devices that are actively inquiring. When an inquiry is received, the
scanning device sends a response with the information needed for the

14 | P a g e
inquiring device to determine and display the nature of the device that
has recognized its signal.

We have contributed to make our project more interested and better than
we saw before. So our contribution is designing Mobile aided Arduino
nano based floor cleaning robot using ultrasonic sensor, a thing which
makes us different from above is we used both android mobile and
ultrasonic sensor at a time.

15 | P a g e
CHAPTER 3 PROJECT METHODOLOGY

3.1 METHODOLOGY OF THE PROJECT


The methodology part is used to define about how the project should be
developed and finalized. Therefore, the steps to conduct the
development of this project are divided into three phases that has shown
in the figure given below.

In first phase, the project workflow involve literature review which


related in floor cleaning robot system that conducted by previous
researchers and projects. The next phase introduces the propose design
that involve hardware and software implementation in this project.
Finally, integrate the system, testing system and finalize the
documentation.

3.2 COMPONENT USED IN THE PROJECT


• Processing unit (Arduino nano)
• Actuating units
• Survo motor
▪ DC gear Motors
▪ Water tank
• L293D Motor Driver
• Wheels
• HCSR04 Ultrasonic Sensor

16 | P a g e
• Battery
• Some components like point pcb, nut bolts, screws. Wires (jumpers)
etc.

3.3 SYSTEM BLOCK DIAGRAM

The block diagram shown is gives pictorial representation of proposed floor


cleaning robot. It shows how the components must be connected to fulfil the
desired task. It describes the circuitry and clarifies the idea of the robot
chassis. It shows the main structure of cleaning robot which consists of
Arduino nano, power sources, dc gear motors, Bluetooth module, Servo
motor. Power supply is used to activate the system. After it is given to the
system, the command from the user is sent to Arduino through Bluetooth
module. Based on the given instruction Arduino calls the sent signals from
the programming. Then motor driver controls the movement of wheels
depending on coming instruction, ultrasonic sensor is for detecting obstacles.

.
Fig.3.1 Block Diagram

17 | P a g e
3.4 SYSTEM CIRCUIT DIAGRAM

Fig.3.2 Circuit Diagram

18 | P a g e
CHAPTER 4

MAJOR SOFTWARE REQUIRED


I. Arduino Software (IDE) :
The open-source Arduino Software (IDE) makes it easy to write code
and upload it to the board. It runs on Windows, Mac OS X, and Linux.
The environment is written in Java and based on Processing and other
open-source software. This software can be used with any Arduino
board. For latest software refer to link.
https://www.arduino.cc/en/Main/Software

 Arduino was born at the Ivrea Interaction Design Institute as an


easy tool for fast prototyping, aimed at students with or without a
background in electronics and programming.
 Arduino is an open-source prototyping platform based on easy-to-
use hardware and software.
 Arduino boards are able to read inputs - light on a sensor, a finger
on a button, or a message - and turn it into an output - activating a
motor, turning on an LED, publishing something online and many
more.
 You can tell your board what to do by sending a set of instructions
to the microcontroller on the board.
 To do so you use the Arduino programming language (based on
Wiring), and the Arduino Software (IDE), based on Processing.

19 | P a g e
 Inexpensive
Arduino boards are relatively inexpensive compared to other
microcontroller platforms.

 Cross-platform
The Arduino Software (IDE) runs on Windows, Macintosh OSX, and
Linux operating systems. Most microcontroller systems are limited
to Windows.
 Simple, clear programming environment
The Arduino Software (IDE) is easy-to-use for beginners, yet flexible
enough for advanced users to take advantage of as well.

 Open source and extensible hardware


The plans of the Arduino boards are published under a Creative
Commons license, so experienced circuit designers can make their own
version of the module, extending it and improving it.

 Open source and extensible software


The Arduino software is published as open source tool and the language
can be expanded through C++ libraries

II. How to use Arduino IDE Tool

Steps for using Arduino IDE:

Step 1: Get an Arduino board and USB cable:


In this tutorial, we assume you're using an Arduino Uno You also need a
standard USB cable (A plug to B plug): the kind you would connect to a
USB printer, for example.

Step 2 : Download the Arduino environment:


20 | P a g e
(https://www.arduino.cc/en/Main/Software) Get the latest version from
the download page. When the download finishes, unzip the downloaded
file. Make sure to preserve the folder structure. Double-click the folder
to open it. There should be a few files and sub-folders inside.

Step 3 : Connect the board:


The Arduino Uno, Mega, Duemilanove and Arduino Nano
automatically draw power from either the USB connection to the
computer or an external power supply.
If you're using an Arduino Diecimila, you'll need to make sure that the
board is configured to draw power from the USB connection.
The power source is selected with a jumper, a small piece of plastic that
fits onto two of the three pins between the USB and power jacks. Check
that it's on the two pins closest to the USB port. Connect the Arduino
board to your computer using the USB cable. The green power LED
(labelled PWR) should go on.

Step 4 : Install the drivers:


Installing drivers for the Arduino Uno or Arduino Mega 2560 with
Windows7, Vista, or XP

Step 5: Launch the Arduino application:


Double-click the Arduino application. (Note: if the Arduino software
loads in the wrong language, you can change it in the preferences dialog.
See the environment page for details.

21 | P a g e
Step 6: Open the blink example
Open the LED blink example sketch: File > Open >
Temp_and_humid.inot

22 | P a g e
Step 7: Select your board:
You'll need to select the entry in the Tools > Board menu that
corresponds to your Arduino.

Step 8: Select your serial port :


Select the serial device of the Arduino board from the Tools |
Serial Port menu. This is likely to be COM3 or higher (COM1and
COM2 are usually reserved for hardware serial ports). To find
23 | P a g e
out, you can disconnect your Arduino board and re-open the
menu; the entry that disappears should be the Arduino board.
Reconnect the board and select that serial port.

Step 9 : Upload the program:


Now, simply click the "Upload" button in the environment. Wait
a few seconds - you should see the RX and TX leds on the board
flashing. If the upload is successful, the message "Done
uploading." will appear in the status bar.

24 | P a g e
Code
#include <Servo.h> //Servo motor library. This is standard
library
#include <NewPing.h> //Ultrasonic sensor function library. You
must install this library
//our L298N control pins
const int LeftMotorForward = 7;
const int LeftMotorBackward = 6;
const int RightMotorForward = 5;
const int RightMotorBackward = 4;
//sensor pins
#define trig_pin A1 //analog input 1
#define echo_pin A2 //analog input 2

#define maximum_distance 200


boolean goesForward = false;
int distance = 100;
NewPing sonar(trig_pin, echo_pin, maximum_distance); //sensor
function
Servo servo_motor; //our servo name
void setup()
{
25 | P a g e
pinMode(RightMotorForward, OUTPUT);
pinMode(LeftMotorForward, OUTPUT);
pinMode(LeftMotorBackward, OUTPUT);
pinMode(RightMotorBackward, OUTPUT);

servo_motor.attach(10); //our servo pin

servo_motor.write(115);
delay(2000);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
}
void loop()
{
int distanceRight = 0;
26 | P a g e
int distanceLeft = 0;
delay(50);
if (distance <= 35){
moveStop();
delay(300);
moveBackward();
delay(400);
moveStop();
delay(300);
distanceRight = lookRight();
delay(300);
distanceLeft = lookLeft();
delay(300);

if (distance >= distanceLeft){


turnRight();
moveStop();
}
else{
turnLeft();
moveStop();
27 | P a g e
}
}
Else
{
moveForward();
}
distance = readPing();
}

int lookRight(){
servo_motor.write(50);
delay(500);
int distance = readPing();
delay(100);
servo_motor.write(115);
return distance;
}
int lookLeft(){
servo_motor.write(170);
delay(500);
int distance = readPing();
28 | P a g e
delay(100);
servo_motor.write(115);
return distance;
delay(100);
}
int readPing(){
delay(70);
int cm = sonar.ping_cm();
if (cm==0){
cm=250;
}
return cm;
}
void moveStop(){

digitalWrite(RightMotorForward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(LeftMotorBackward, LOW);
}
void moveForward(){
29 | P a g e
if(!goesForward){

goesForward=true;

digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
}
}

void moveBackward(){

goesForward=false;

digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorBackward, HIGH);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);
30 | P a g e
}

void turnRight(){

digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorBackward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorForward, LOW);

delay(250);

digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);

void turnLeft(){

31 | P a g e
digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);

delay(250);

digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorForward, HIGH);

digitalWrite(LeftMotorBackward, LOW);
digitalWrite(RightMotorBackward, LOW);
}

CHAPTER 5

32 | P a g e
DESIGN AND MAIN COMPONUNTS SERVO MOTORS

Figure 5.1 Servo Motor

A servo motor is a type of motor that can rotate with great precision.
Normally this type of motor consists of a control circuit that provides
feedback on the current position of the motor shaft, this
feedback allows the servo motors to rotate with great precision.
If you want to rotate an object at some specific angles or distance,
then you use a servo motor. It is just made up of a simple motor which
runs through a servo mechanism. If motor is powered by a DC power
supply then it is called DC servo motor, and if it is AC-powered motor
then it is called AC servo motor.
For this project, we will be discussing only about the DC servo motor
working. Apart from these major classifications, there are many other
types of servo motors based on the type of gear arrangement and
operating characteristics.
A servo motor usually comes with a gear arrangement that allows us
to get a very high torque servo motor in small and lightweight

33 | P a g e
packages. Due to these features, they are being used in many
applications like toy car, RC helicopters and planes, Robotics, etc.

Servo motors are rated in kg/cm (kilogram per centimeter) most


hobby servo motors are rated at 3kg/cm or 6kg/cm or 12kg/cm. This
kg/cm tells you how much weight your servo motor can lift at a
particular distance.
For example: A 6kg/cm Servo motor should be able to lift 6kg if the
load is suspended 1cm away from the motors shaft, the greater the
distance the lesser the weight carrying capacity. The position of a
servo motor is decided by electrical pulse and its circuitry is
placed beside the motor.

Servo Motor Working Mechanism


It consists of three parts:
1. Controlled device
2. Output sensor
3. Feedback system
It is a closed-loop system where it uses a positive feedback system to
control motion and the final position of the shaft. Here the device is
controlled by a feedback signal generated by comparing output signal
and reference input signal.
Here reference input signal is compared to the reference output signal
and the third signal is produced by the feedback system. And this third
signal acts as an input signal to the control the device. This signal is
present as long as the feedback signal is generated or there is a
difference between the reference input signal and reference output
signal. So the main task of servomechanism is to maintain the output
of a system at the desired value at presence of noises.
34 | P a g e
Servo Motor Working Principle

A servo consists of a Motor, a potentiometer, gear assembly, and a


controlling circuit. First of all, we use gear assembly to reduce RPM
and to increase torque of the motor. Say at initial position of servo
motor shaft, the position of the potentiometer knob is such that there is
no electrical signal generated at the output port of the potentiometer.

Now an electrical signal is given to another input terminal of the error


detector amplifier. Now the difference between these two signals, one
comes from the potentiometer and another comes from other sources,
will be processed in a feedback mechanism and output will be
provided in terms of error signal.

This error signal acts as the input for motor and motor starts rotating.
Now motor shaft is connected with the potentiometer and as the motor
rotates so the potentiometer and it will generate a signal. So as the
potentiometer’s angular position changes, its output feedback signal
changes. After sometime the position of potentiometer reaches at a
position that the output of potentiometer is same as external signal
provided.

At this condition, there will be no output signal from the amplifier to


the motor input as there is no difference between external applied
signal and the signal generated at potentiometer, and in this situation
motor stops rotating.

35 | P a g e
Ultrasonic Sensor

Figure 5.2 Ultrasonic Sensor

Technical Specifications
 Power Supply − +5V DC
 Quiescent Current − <2mA
 Working Current − 15mA
 Effectual Angle − <15°
 Ranging Distance − 2cm – 400 cm/1″ – 13ft
 Resolution − 0.3 cm
 Measuring Angle − 30 degree

36 | P a g e
The HC-SR04 Ultrasonic (US) sensor is a 4 pin module, whose pin
names are Vcc, Trigger, Echo and Ground respectively. This sensor is a
very popular sensor used in many applications where measuring distance
or sensing objects are required. The module has two eyes like projects in
the front which forms the Ultrasonic transmitter and Receiver. The
sensor works with the simple high school formula that

Distance = Speed × Time

The Ultrasonic transmitter transmits an ultrasonic wave, this wave


travels in air and when it gets objected by any material it gets reflected
back toward the sensor this reflected wave is observed by the Ultrasonic
receiver module.Now, to calculate the distance using the above
formulae, we should know the Speed and time. Since we are using the
Ultrasonic wave we know the universal speed of US wave at room
conditions which is 330m/s. The circuitry inbuilt on the module will
calculate the time taken for the US wave to come back and turns on the
echo pin high for that same particular amount of time, this way we can
also know the time taken. Now simply calculate the distance using a
microcontroller or microprocessor

37 | P a g e
Ultrasonic Sensor Pinout Configuration

Pin Pin Description


Number Name

1 Vcc The Vcc pin powers the sensor, typically with +5V

2 Trigger Trigger pin is an Input pin. This pin has to be kept


high for 10us to initialize measurement by sending
US wave.

3 Echo Echo pin is an Output pin. This pin goes high for a
period of time which will be equal to the time taken
for the US wave to return back to the sensor.

4 Ground This pin is connected to the Ground of the system.

HC-SR04 Sensor Features

 Operating voltage: +5V


 Theoretical Measuring Distance: 2cm to 450cm
 Practical Measuring Distance: 2cm to 80cm
 Accuracy: 3mm
 Measuring angle covered: <15°
 Operating Current: <15mA
 Operating Frequency: 40Hz

HC-SR04 Ultrasonic Sensor - Working


38 | P a g e
As shown above the HC-SR04 Ultrasonic (US) sensor is a 4 pin
module, whose pin names are Vcc, Trigger, Echo and Ground
respectively. This sensor is a very popular sensor used in many
applications where measuring distance or sensing objects are required.
The module has two eyes like projects in the front which forms the
Ultrasonic transmitter and Receiver. The sensor works with the simple
high school formula that
Distance = Speed × Time
The Ultrasonic transmitter transmits an ultrasonic wave, this wave
travels in air and when it gets objected by any material it gets reflected
back toward the sensor this reflected wave is observed by the Ultrasonic
receiver module as shown in the picture below

Now, to calculate the distance using the above formulae, we should


know the Speed and time. Since we are using the Ultrasonic wave we
know the universal speed of US wave at room conditions which is
330m/s.
The circuitry inbuilt on the module will calculate the time taken for the
US wave to come back and turns on the echo pin high for that same
particular amount of time, this way we can also know the time taken.
39 | P a g e
Now simply calculate the distance using a microcontroller or
microprocessor.

How to use the HC-SR04 Ultrasonic Sensor


HC-SR04 distance sensor is commonly used with both microcontroller
and microprocessor platforms like Arduino, ARM, PIC, Raspberry Pie
etc. The following guide is universally since it has to be followed
irrespective of the type of computational device used.
Power the Sensor using a regulated +5V through the Vcc ad Ground
pins of the sensor. The current consumed by the sensor is less than
15mA and hence can be directly powered by the on board 5V pins (If
available). The Trigger and the Echo pins are both I/O pins and hence
they can be connected to I/O pins of the microcontroller. To start the
measurement, the trigger pin has to be made high for 10uS and then
turned off. This action will trigger an ultrasonic wave at frequency of
40Hz from the transmitter and the receiver will wait for the wave to
return. Once the wave is returned after it getting reflected by any object
the Echo pin goes high for a particular amount of time which will be
equal to the time taken for the wave to return back to the sensor.
The amount of time during which the Echo pin stays high is measured
by the MCU/MPU as it gives the information about the time taken for
the wave to return back to the Sensor. Using this information the
distance is measured as explained in the above heading.

40 | P a g e
Applications

 Used to avoid and detect obstacles with robots like biped robot,
obstacle avoider robot, path finding robot etc.
 Used to measure the distance within a wide range of 2cm to 400cm
 Can be used to map the objects surrounding the sensor by rotating it
 Depth of certain places like wells, pits etc can be measured since the
waves can penetrate through water

Arduino Micro-controller:

Arduino is an open-source prototyping platform based on easy-to-


use hardware and software. Arduino boards are able to read inputs - light
on a sensor, a finger on a button, or a Twitter message - and turn it into
an output - activating a motor, turning on an LED, publishing something
online. We can tell your board what to do by sending a set of
instructions to the microcontroller on the board. To do so we use the
Arduino programming language (based on wiring), and the Arduino
Software(IDE), based on Processing.

The Arduino nano can be powered via the USB connection or with
an external power supply. The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter
(wall-wart) or battery. The adapter can be connected by plugging a
2.1mm center-positive plug into the board's power jack. Leads from a
battery can be inserted in the Gnd and Vin pin headers of the POWER
connector. The board can operate on an external supply of 6 to 20 volts.
If supplied with less than 7V, however, the 5V pin may supply less than
five volts and the board may be unstable. If using more than 12V, the
voltage regulator may overheat and damage the board. The
recommended range is 7 to 12 volts.
41 | P a g e
42 | P a g e
Fig.3.5 Arduino nano

43 | P a g e
What Does it Do?
The Arduino hardware and software was designed for artists,
designers, hobbyists, hackers, newbie’s, and anyone interested in
creating interactive objects or environments. Arduino can interact
with buttons, LEDs, motors, speakers, GPS units, cameras, the
internet, and even your smart-phone or your TV! This flexibility
combined with the fact that the Arduino software is free, the
hardware boards are pretty cheap, and both the software and
hardware are easy to learn has led to a large community of users
who have contributed code and released instructions for a huge
variety of Arduino-based projects.

What's on the board?


There are many varieties of Arduino boards (explained on the
next page) that can be used for different purposes. Some boards
look a bit different from the one below, but most Arduinos have
the majority of these components in common

Power (USB / Barrel Jack)


Every Arduino board needs a way to be connected to a power
source. The Arduino UNO can be powered from a USB cable
coming from your computer or a wall power supply (like this)
that is terminated in a barrel jack. In the picture above the USB
connection is labeled (1) and the barrel jack is labelled. The USB
connection is also how you will load code onto your Arduino
board.

Pins (5V, 3.3V, GND, Analog, Digital, PWM, AREF)


The pins on your Arduino are the places where you connect wires
to construct a circuit (probably in conjuction with a breadboard
and some wire. They usually have black plastic „headers‟ that
44 | P a g e
allow you to just plug a wire right into the board. The Arduino
has several different kinds of pins, each of which is labeled on the
board and used for different functions.

GND (3): Short for „Ground‟. There are several GND pins on the
Arduino, any of which can be used to ground your circuit.

5V (4) & 3.3V (5): As you might guess, the 5V pin supplies 5
volts of power, and the 3.3V pin supplies 3.3 volts of power.
Most of the simple components used with the Arduino run
happily off of 5 or 3.3 volts. Analog

(6): The area of pins under the „Analog In‟ label (A0 through A5
on the UNO) are Analog In pins. These pins can read the signal
from an analog sensor (like a temperature sensor) and convert it
into a digital value that we can read.

Digital (7): Across from the analog pins are the digital pins (0
through 13 on the UNO). These pins can be used for both digital
input (like telling if a button is pushed) and digital output (like
powering an LED).

PWM (8): You may have noticed the tilde (~) next to some of the
digital pins (3, 5, 6, 9, 10, and 11 on the UNO). These pins act as
normal digital pins, but can also be used for something called
Pulse-Width Modulation (PWM). We have a tutorial on PWM,
but for now, think of these pins as being able to simulate analog
output (like fading an LED in and out).

45 | P a g e
AREF (9): Stands for Analog Reference. Most of the time you
can leave this pin alone. It is sometimes used to set an external
reference voltage (between 0 and 5 Volts) as the upper limit for
the analog input pins.

Reset Button
Just like the original Nintendo, the Arduino has a reset button
(10). Pushing it will temporarily connect the reset pin to ground
and restart any code that is loaded on the Arduino. This can be
very useful if your code doesn‟t repeat, but you want to test it
multiple times. Unlike the original Nintendo however, blowing on
the Arduino doesn‟t usually fix any problems.

Power LED Indicator


Just beneath and to the right of the word “UNO” on your circuit
board, there‟s a tiny LED next to the word „ON‟ (11). This LED
should light up whenever you plug your Arduino into a power
source. If this light doesn‟t turn on, there‟s a good chance
something is wrong. Time to re-check your circuit!

TX RX LEDs
TX is short for transmit, RX is short for receive. These markings
appear quite a bit in electronics to indicate the pins responsible
for serial communication. In our case, there are two places on the
Arduino UNO where TX and RX appear – once by digital pins 0
and 1, and a second time next to the TX and RX indicator LEDs
(12). These LEDs will give us some nice visual indications
whenever our Arduino is receiving or transmitting data (like when
we‟re loading a new program onto the board).

46 | P a g e
Main IC
The black thing with all the metal legs is an IC, or Integrated
Circuit (13). Think of it as the brains of our Arduino. The main IC
on the Arduino is slightly different from board type to board type,
but is usually from the A Tmega line of IC‟s from the ATMEL
company. This can be important, as you may need to know the IC
type (along with your board type) before loading up a new
program from the Arduino software. This information can usually
be found in writing on the top side of the IC. If you want to know
more about the difference between various IC‟s, reading the
datasheets is often a good idea.

Voltage Regulator
The voltage regulator (14) is not actually something you can (or should)
interact with on the Arduino. But it is potentially useful to know that it is
there and what it‟s for. The voltage regulator does exactly what it says –
it controls the amount of voltage that is let into the Arduino board. Think
of it as a kind of gatekeeper; it will turn away an extra voltage that might
harm the circuit. Of course, it has its limits, so don‟t hook up your
Arduino to anything greater than 20 volts.

The Arduino Family


Arduino makes several different boards, each with different
capabilities. In addition, part of being open source hardware
means that others can modify and produce derivatives of Arduino
boards that provide even more form factors and functionality.

47 | P a g e
L298n Motor Driver
L298 motor shield is a dual full bridge driver designed to drive
inductive load i.e.stepper motor, relays & solenoids. It gives you
the control to drive two DC motor witharduino microcontroller
and provide you the royalty to control the direction and speedof
the motor.

5V (from arduino) Logic control voltage


4-8V ~ 35V (from external power source) motor driven voltage
36mA >= Logic supply current Iss
2A >= motor driver current Io
25W Maximum power consumption (T=75C)
PWN, PLL Speed control mode
High 2.3V=<Vin=<5V
Low -0.3V=<Vin=<1.5V

48 | P a g e
Fig.5.3 L298n motor driver

49 | P a g e
12V DC MOTOR

Fig.5.4 Dc Motor

DC Motor – 12Volts geared motors are generally a simple DC motor


with a gearbox attached to it. This can be used in all-terrain robots and
variety of robotic applications. These motors have a 3 mm threaded drill
hole in the middle of the shaft thus making it simple to connect it to the
wheels or any other mechanical assembly.
300 RPM 12V DC geared motors widely use for robotics applications.
Very easy to use and available in standard size. Also, you don’t have to
spend a lot of money to control motors with an Arduino or compatible
board.

50 | P a g e
The most popular L298N H-bridge module with onboard voltage
regulator motor driver can be used with this motor that has a voltage of
between 5 and 35V DC or you can choose the most precise motor diver
module from the wide range available in our Motor divers category as
per your specific requirements.
Nut and threads on the shaft to easily connect and internally threaded
shaft for easily connecting it to the wheel. DC Geared motors with
robust metal gearbox for heavy-duty applications, available in the wide
RPM range and ideally suited for robotics and industrial applications.
Very easy to use and available in standard size. Nut and threads on the
shaft to easily connect and internally threaded shaft for easily connecting
it to the wheel.

51 | P a g e
CHAPTER 6
ACTUAL IMAGE OF THE AUTOMATIC FLOOR CLEANING
ROBOT

52 | P a g e
CHAPTER 7

REFERENCES

[1] Manreet Kaur and Preeti Abrol “Design and development of floor
cleaner robot
(Automatic and manual)”, International Journal of Computer
Application,
published in July 2014.

[2] Jens Steffen Gutmann, Kristen Culp, Mario E. Munich and Paolo
Pirjanian “Social
impact of a systematic floor cleaner” IEEE International Workshop on
Advanced
Robotics and Its Social Impact, published in May 2012.

[3] J.Y. Sung, R. E. Grinter and H. I. Christensen in “Housewives


domestic robot
technology international journal of social robotics” IEEE International
Conference
on Human Robot Interaction, July 2012.

[4] Ajith Thomas, Rohith M.S, Febin Jolly, Jeeson Cheriyan, Ms.Renu
Mary George, “
AnAdvanced Mobile Robot for Floor Cleaning” , International Journal
of Advanced
Research in Electrical, Electronics and Instrumentation.

[5] https://en.wikipedia.org/wiki/HC-05 Bluetooth Module Accessed 25


May 2018.

53 | P a g e
THANK YOU

54 | P a g e

You might also like