0% found this document useful (0 votes)
11 views

Shivansh Rai Project

Uploaded by

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

Shivansh Rai Project

Uploaded by

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

FLOOR CLEANING ROBOT USING ULTRASOUND SENSOR

A Project Report
Submitted in partial fulfilment of the requirement for the award of
Degree of Bachelor of Technology in
Electronics & Communication Department submitted to

Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal (M.P.)

Major Project-I

Submitted by-

Shivansh Rai(0103EC201159) Shreya Kumari(0103EC201163)

Shivani Saini(0103EC201158) Piyush Pandey (0103EC191135)

under the supervision of

(Prof. Tarun Verma) (Prof. Shraddha Shrivastav)

Department of Electronics & Communication Engineering

Lakshmi Narain College of Technology, Bhopal


Session 2023 -2024
Lakshmi Narain College of Technology, Bhopal
Department of Electronics and Communication
Engineering

CERTIFICATE

This is to certify that the work embodied in this Project Report entitle
“Street Lights that Glow On Detecting Vehicle Movement” has been
satisfactorily completed by Shivansh Rai, Shreya Kumari, Shivani Saini
and Piyush Pandey. It is a bonafide piece of work, carried out under
our supervision and guidance in the Department of Electronics and
Communication, Lakshmi Narain College of Technology, Bhopal, for
partial fulfilment of the Bachelor of Technology during the academic
year 2023-24.

Under supervision of

Prof. Tarun Verma Prof. Shraddha Shrivastav


(project guide)

Approved By

-----------------------
Professor & Head
Department of Electronics and Communication Engineering
Lakshmi Narain College of Technology, Bhopal
Department of Electronics and Communication
Engineering

Declaration

We, Shivansh Rai, Shreya Kumari, Shivani Saini and Piyush Pandey, students
of Bachelor of Engineering, Electronics and Communication Department,
Engineering, Lakshmi Narain College of Technology, Bhopal, hereby declare that
the work presented in this Major Project is outcome of our own work, is
bonafide, correct to the best of our knowledge and this work has been carried
out taking care of Engineering Ethics. The work presented does not infringe any
patented work and has not been submitted to any University for the award of any
degree or any professional diploma.

Shivansh Rai Shreya Kumari


0103EC201159 0103EC201163

Shivani Saini Piyush Pandey


0103EC201158 0103EC191135

Date :
Acknowledgement

Words shall never be able to pierce through the Gamut’s of emotions


that are suddenly exposed during the routine of our college life. We
would like to thank Prof. Tarun Verma , Project Guide for guiding and
correcting us at each instant and for his continuous motivation. At the
same time we would also like to thank Prof. Shraddha Shrivastava,
Project Incharge of Electronics and Communication Engineering, for
her well-wishes and also to provide his kind support and valuable
knowledge on the subject from time to time. We express our heart-felt
thankfulness to Dr. Soni Changlani, H.O.D. of Electronics and
Communication Engineering, LNCT, Bhopal for her unfailure
inspiration, whole hearted co-operation and constant encouragement
throughout the progress of the dissertation and incisive comments
gave immense confidence to complete the work. Also, we are grateful
to Dr. Ashok Kumar Rai, Director of Administration, LNCT for
providing us a positive learning environment and to Principal, LNCT for
giving us a chance to fulfil our potential.

Shivansh Rai(0103EC201159) Shreya Kumari(0103EC201163)

Shivani Saini (0103EC171096) Piyush Pandey(0103EC191135)


CONTENTS

Page no.

List of Figures ..................................................................................................................... I

List of Tables .................................................................................................................... III

Abstract ................................................................ ............... ..............................................IV

Chapter 1 – Introduction………………………………………………………... 1

1.1 Introduction…………………………………………………………... 1

1.2 Objective of the Project……………………………………………… 1

Chapter 2 - Literature review………………………………………………….. 2-4

2.1 Inference…………………………………………………………….. 4

Chapter 3 – Proposed Methodology………………………………………….. 5-8

3.1 Flow Chart…………………………………………………………... 5

3.2 Existing Model……………………………………………………………... 5

3.3 Proposed Model ……………………………………………………………. 6

3.4 Problem Identification………………………………………………………. 8

Chapter 4 – Floor Cleaning Robot -Operation……………………………….. 9-31

4.1 Component Required ……………………………………………….. 9

4.2 Component Analysis………………………………………………… 13

4.3 Working……………………………………………………………… 28

4.4 Application Software………………………………………………... 30

Chapter 5-Conclusion and Future Scope……………………………................ 32

5.1 Conclusion........................................................................................... 32
5.2 Future Scope.............................................................................................. 32

Appendix………………………………………………………………. 33-37
References…………………………………………………………….. 38
LIST OF FIGURES

Figure No. Description of the figures Page No.

3.1 Flow chart of proposed model 5

3.2 Proposed model of floor cleaning robot 7

4.1 Arduino UNO controller 10

4.2 IC-05 Bluetooth module 10

4.3 Ultrasonic sensor module 11

4.4 DC motor 12

4.5 L293D Motor Driver 13

4.6 Water pump 13

4.7 Pin diagram of Arduino UNO 14

4.8 Waveform of PWM 16

4.9 Pin diagram of HC-05 17

4.0 Circuit of Relay 19

4.11 Pin diagram of Relay 20

4.12 Frequency range 22

4.13 Ultrasonic wave 22

4.14 Transmitted and Received Pulses 24

4.15 Object sensing process 24

4.16 Ultrasonic wave description 26

4.17 Circuit design 27

4.18 Pump design 27

I
4.19 Block diagram of floor cleaning robot 28

4.20 'S'-Shape pattern 29

4.21 Application software of Bluetooth module 30

II
LIST OF TABLES

Table No. Description of the Table Page No.

Table 4.1 Components Required 9

III
ABSTRACT
Households of today are becoming smarter and more automated. Home automation delivers
convenience and creates more time for people. Domestic robots are entering the homes and
people’s daily lives, but it is yet a relatively new and immature market. However, a growth is
predicted and the adoption of domestic robots is evolving. Several robotic vacuum cleaners are
available on the market but only few ones implement wet cleaning of floors. The purpose of this
project is to design and implement a Vacuum Robot Autonomous and Manual via Phone
Application. Vacuum Cleaner Robot is designed to make cleaning process become easier rather
than by using manual vacuum. The main objective of this project is to design and implement a
vacuum robot prototype by using Arduino Mega, Arduino Shield, LDR Sensor, Real Time Clock,
Motor Shield L293D, Ultrasonic Sensor, and IR Sensor and to achieve the goal of this project.
Vacuum Robot will have several criteria that are user-friendly. Cleaning is the essential duty in our
day to day life. Cleaning of floor is a important for our health and reduces the human power. House
hold automation delivers a time for people. Most of the domestic robots are entering in the people
daily life, but immature in mark Automatic floor cleaners are nothing new, but they all share a
common problem. They all are too expensive for what they do. Today, will make an Automatic
Home cleaning Robot that only costs a of the ones in the marked.

This Robot detect obstacles and objects in front of continue moving, avoiding the obstacles, until
the whole room is cleaned. It has a small brush attached to it to clean the floor. Different techniques
are used to clean the different surfaces. Mostly we clean floors individually or we depend on maids.
The aim of this project work is to design and develop automatic mode with dry and cleaner, hence
it is widely used in house, shops, hospitals, office, etc. This system is design by using
microcontroller, Bluetooth module purpose, ultrasonic sensor for obstacle detection and
avoidance. switching

Keywords: Bluetooth module, Ultrasonic Sensors, Atmega328 Microcontroller

IV
About Us

I am Shivansh Rai , currently pursuing B.Tech from Lakshmi Narain College of Technology,
Bhopal in Electronics and communication. I have completed my secondary and higher
secondary education from Raisen. My current CGPA is 7.9.

I am Shreya Kumari, currently pursuing B.Tech from Lakshmi Narain College of


Technology ,Bhopal in Electronics and communication. I have completed my secondary
and higher secondary education from Bhopal . My current CGPA is 8.65.

I am Shivani Saini, currently pursuing B.Tech from Lakshmi Narain College of Technology,
Bhopal in Electronics and communication. I have completed my secondary and higher
secondary education from Budni . My current CGPA is 8.61.

Department of Electronics and Communication, Lakshmi Narain College of Technology v


CHAPTER 1
INTRODUCTION

1.1 FLOOR CLEANING ROBOT


Robot is an electromechanical machine and used for various purpose in industrial and domestic
applications. Cleaning an indoor is a practical problem whose solution involves all the basic
research areas in robotics and lots of common sense. In this research floor cleaning robot is
based on ATmega328P has been developed. This robot is an electric home appliance, which
works in two modes as per the user convenience "Automatic and Manual". This is not a vacuum
cleaner robot and it performs wet and dry cleaning operation. It works on 12V supply.

In automatic mode, robot performs all tasks individually. First robot starts it moves forward
and performs cleaning operation. If any object detected, the robot change the pathway
automatically, does not stop and starts cleaning operation. Manual mode is performed with the
help of a Bluetooth module., which gives 50m and 100m range. Motor driver circuit have been
used to drive the motors. Two motors are used to drive the robot in four directions. LM293D
IC has been used to drive wheel motor. Relays have been used to drive the water pump and
cleaner motor. In the manual mode, user itself operates the robot. Bluetooth module transmits
and receive the signal to operate the robot through android phone.

1.2 Objective Of Project

The research and development of an autonomous mobile robot and a Manual Phone Application
Control prototype able to vacuum cleaning a room or even an entire house is not a trivial
challenge. In order to tackle such a task, so that it could be completed in six weeks (the duration
of the course), some simplifications and assumptions were made to the designers initial idea of
an “ideal” autonomous/manual vacuum cleaner. In this way, some functional requirements that
would improve the robot performance were not taking into account due either to their inherent
complexity or to their mechanical implications. These robots operate semi- or fully
autonomously to perform services useful to the well-being of humans and equipment. With the
aim of keeping our robot as simple as possible, while able to perform the initial goals, i.e. an
autonomous vacuum cleaner robot able to randomly navigate through a room or a house with
the minimum human assistance, the following specifications were found.

1
CHAPTER 2
LITERATURE SURVEY

In order to have a brief understanding in Bluetooth module, motor driver and Arduino the
detailed literature survey is carried out. They are summarized as follows.

Aishwarya Pardeshi [2017] proposed the "Automatic Floor Cleaner". In this project she
conclude that the setup of hardware with a combination of software gives better accuracy and
reduces the work load. Man power is minimized. It have Low cost. It is a Time Consuming
Device Making a small machine brings a flexibility to do work.

Anup Mendhe [2017] proposed the "Multipurpose Floor Cleaning Machine". He reported that
the multiple applications provide a wide range of functions in which we can clean the pipe,
scrubbing of surface for proper cleaning of the floor, remove dust and dirt from the road,
provide a pick and place mechanism by which obstacles can be removed. This project is very
helpful for the society and play a vital role in cleanliness of the country. The main motive of
the project is to cover the aspects of cleanliness in the society. The multiple applications provide
a wide range of functions in which we can clean the pipe, scrubbing of surface for proper
cleaning of the floor. This project is very helpful for the society and play a vital role in
cleanliness of the country.

Imaekhai Lawrence Et Al [2012] proposed the "Evaluating Single Disc Floor Cleaners" The
evaluation has shown how the use of multiple assessment techniques can provide a
comprehensive appraisal of the design, usability and musculoskeletal loading upon the
operator. They suggested that the trials with a larger number of subjects would certainly
strengthen the conclusions.

Manya Jain [2017] proposed the "Automatic Floor Cleaner". This research facilitates efficient
floor cleaning. Since in project the floor cleaner is incorporated with different devices like DC
motor(s), ultrasonic sensors etc., so it will be easy to handle it also saves time and will work
automatically for cleaning purpose at homes and offices. With simple algorithm and program,
the cleaner will be able to cover large floor areas as well as find its way into and out of small
corners. As the cleaner traverses the room, the sweeper installed in it will manage to pick up a
significant amount of dirt. Manual Sweeping might not be that effective as it will not be picking
up everything in as it is not in sight but using the automatic floor cleaner it can be done easily.

2
This research facilitates efficient floor cleaning. Since in project the floor cleaner is
incorporated with different devices like DC motor(s), ultrasonic sensors etc., so it will be easy
to handle it also saves time and will work automatically for cleaning purpose at homes and
offices. With simple algorithm and program, the cleaner will be able to cover large floor areas
as well as find its way into and out of small corners. As the cleaner traverses the room, the
sweeper installed in it will manage to pick up a significant amount of dirt. Manual Sweeping
might not be that effective as it will not be picking up everything in as it is not in sight but
using the automatic floor cleaner it can be done easily.

Ranjith Kumar Et Al (2015) proposed the "Design and Analysis of Manually Operated Floor
Cleaning Machine". The authors has been designed and analyzed manually operated floor
cleaning machine. From his research he concluded that the stress level in the manually operated
machine is within the safe limit.

Sandeep. J. Meshram Et Al (2016) proposed the "Design and Development of Tricycle


Operated Street Cleaning Machine" He has developed the street cleaning machine by tricycle
operated. In this research article he framed a model especially for rural area. He concluded that
the cleaning is less effective where the street seems to be very rough and damaged. It is found
that the existing street cleaning machines uses petrol and diesel. It can cause pollution and also
the vibration produced in the machine causes noise pollution. While manual cleaning may
cause health problem as the person directly comes in contact with dust. Also, the shoulder
problem due to continuously sweeping occurs.

A tricycle operated street cleaning machine seems an alternative concept for avoiding such
problems enlisted in first point. The tricycle operated machine can work very efficiently with
respect to covering area, time and cost of street cleaning process compared with the existing
machineries. Also it is economical. It was seen while testing of machine, that the cleaning is
less effective where the street seems to be very rough and damaged.

3
2.1 INFERENCE

Suggested a tricycle operated floor cleaning machine can work very efficiently with respect to
covering area, time and cost of floor cleaning process compared with the existing machineries.
Also it is economical. Bluetooth controlled manually operated floor cleaning machine has
stress level within the safe limit. Single dise floor cleaner use of multiple assessment
techniques can. provide a comprehensive appraisal of the design and usability. Design of dust
collector for rear wheel of Four Wheeler to clean the road side dust and to reduce the road
accident. Automatic floor cleaning machine will be easy to handle it also saves time and will
work automatically for cleaning purpose at homes and offices.

4
CHAPTER 3
METHODOLOGY

Usually robots of this kind can cost more making it an unaffordable choice. At the same time
this economical robotic floor cleaner has been designed mainly keeping the price margin in
mind. As a result, a most efficient and agile cleaning system is developed to attain perfect
cleaning rather than satisfactory cleaning achieved by a pre-existing extravagant machine. In
fig.3.1 shows this project resulted in the outcome of exhaustive research and comparisons with
the conventional designs and performances of various kinds and make. Supervisory control
over these gadgets is made so simple and cost efficient without reduction in performance.

3.1 FLOW CHART

PROBLEM IDENTIFICATION

MACHINE DESIGN

MOTOR SELECTION

DEVELOPMENT OF ROBOT

TESTING AND VALIDATION

Fig.3.1 Flow chart of proposed model

3.2 EXISTING MODEL


The existing model of floor cleaning robot is manually control not automatic. Human labour is
required to handle the machine physically and the existing model have only wet or dry floor
cleaning not both at one robot.

5
3.3 PROPOSED MODEL

We are done this machine in fully automatic and attached wet and dry cleaning mop at one
robot. We will make a Automatic wet and dry floor cleaning Robot that only costs a small
fraction of the ones in the market. In fig 3.2 shows this Robot can detect the obstacles & objects
in front of it and can continue moving, avoiding the obstacles, until the whole room is cleaned.
It has a small brush attached to it to clean both wet and dry floor.

Robot performs the following specifications were found:

1. Obstacle detection

2. Obstacle avoidance

3. Collision detection

4. Wet and dry cleaning operation

5. Speed controlling

6. System on automatically

For obstacle detection and to avoid obstacle ultrasonic sensor have been used. If any obstacle
detected then robot change the lane automatically, does not stop and start cleaning action.

6
3.4 PROBLEM IDENTIFICATION

In many Industries creates dust in the floor. Human didn't able to clean the dust and dirt. And
the other case some people have problem of Asthma, Sneezing problems.

So, they are creates an Industrial robot. Some robots are cleaning only wet or dry cleaning. And
some robots detects obstacle in the cleaning process the robot pick the object and placed
another side of the floor. Its taken a maximum time ..

8
CHAPTER 4
FLOOR CLEANING ROBOT-OPERATION
4.1 COMPONENTS REQUIRED
SR.NO. Component Specification Quantity price
name
1 DC motors 60 rpm 4 500
2 Relay Module 5V 1 100
3 Arduino UNO 1 400

4 Bluetooth HC-05 1 300


Module
5 Ultrasonic sensor HSR04 2 300
6 Battery 12V 1 500
7 Water pump 5V 1 100
8 Mop - 2 50
9 Tank 1000ml 1 50
Total 2300

Table 4.1 Components Required

4.1.1 Arduino Uno Controller

Arduino is an open source prototyping platform based on easy to use hardware and software as
shown in Table 4.1. Arduino consists of both a physical programmable circuit board (often
referred to as a microcontroller) and a piece of software, or Integrated Development
Environment that runs on computer, used to write and upload computer code to the physical
board.

It is 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 and publishing something online. The
Arduino UNO is a microcontroller board based

9
on the ATM ega 328(data sheet). It has 14 digit input/output pins, 6 analog inputs, a 16 MHz
crystal oscillator, a USB connection, power jack, an ICSP header and a reset button.

Fig.4.1 Arduino UNO controller

4.1.2 Bluetooth Module

HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module, designed for
transparent wireless serial connection setup. Serial port Bluetooth module is fully qualified
Bluetooth V2.0+EDR (Enhanced Data Rate) 3Mbps Modulation with complete 2.4GHz radio
transceiver and baseband. It uses CSR Blue core 04-External single chip Bluetooth system with
CMOS technology and with AFH(Adaptive Frequency Hopping Feature).

Fig.4.2 HC-05 Bluetooth Module


10
4.1.3 Ultrasonic Sensor
Ultrasonic sensor emit a sound pulse that reflects of objects entering the wave field. The
reflected sound, or "echo" is then received by the sensor. Detection of the sound generates an
output signal for use by an actuator, controller, or computer. The output signal can be analog
or digital, Ultrasonic sensing technology is based on the principle that sound has a relatively
constant velocity. In this sensors are used frequently for distance measurement applications
such as level control.

A special sonic transducer is used for the ultrasonic proximity sensors, which allows for
alternate transmission and reception of sound waves. The sonic waves emitted by the transducer
are reflected by an object and received back in the transducer sensor will switch to receive
mode. The time elapsed between emitting and receiving is proportional to the object from the
sensor. This sensor is most suitable for obstacle detection and it is of low cost and has high
ranging capability.

Fig.4.3 Ultrasonic sensor module

11
4.1.4 Dc Motor
A DC motor is any of a class of electrical machines that converts direct current, electrical power
into mechanical power. The most common types relay on the forces produced by magnetic
fields. Nearly all types of DC motor have some internal mechanism, either electromechanical
or electronic; to periodically change the direction of current flow in part of the motor. Most
types produce rotary motion; a linear motor directly produces force and motion in a straight
line.

The universal motor can operate on direct current but is a lightweight motor used for portable
power tools and appliances. Larger DC motors are used in propulsion of electric vehicles,
elevator and hoists, or in drives for steel rolling mills.

Fig.4.4 DC motor

We choose two 100 rpm motors for wheeling purpose and 1000 rpm for mopping purpose

4.1.5 Relay Module

Relays are most commonly used switching device in electronics. A relay is an electrically
operated switch that can be turned on or off, letting the current go through or not, and can be
controlled with low voltages, like the 5V provided by the Arduino pins. A Relay is actually a
switch which is electrically operated by an electromagnet. The electromagnet is activated with
a low voltage, for example 5 volts from a microcontroller and it pulls a contact to make or
break a high voltage circuit.

12
Fig.4.5 L293D Motor Driver Module

4.1.6 Water Pump


This is a low cost, small size Submersible Pump Motor which can be operated from a 2.56V
power supply. It can take up to 120 litters per hour with very low current consumption of
220mA. Just connect tube pipe to the motor outlet, submerge it in water and power it. Make
sure that the water level is always higher than the motor. Dry run may damage the motor due
to heating and it will also produce noise.

Fig. 4.6 Water pump

4.2 COMPONENTS ANALYSIS

4.2.1 Analysis of Arduino Uno Controller

There are several I/O digital and analog pins placed on the board which operates at 5V. These
pins come with standard operating ratings ranging between 20mA to40mA. Internal pull-up
resistors are used in the board that limits the current exceeding from the given operating

13
conditions. However, too much increase in current makes these resisters useless and damages
the device.

Fig 4.7 Pin diagram of Aurdino Uno

LED: Arduino Uno comes with built-in LED which is connected through pin 13. Providing
HIGH value to the pin will turn it ON and LOW will turn it OFF.

Vin: It is the input voltage provided to the Arduino Board. It is different than 5 V supplied
through a USB port. This pin is used to supply voltage. If a voltage is provided through power
jack, it can be accessed through this pin.

5V: This board comes with the ability to provide voltage regulation. 5V pin is used to provide
output regulated voltage. The board is powered up using three ways i.e. USB, Vin pin of the
board or DC power jack.

USB supports voltage around 5V while Vin and Power Jack support a voltage ranges between
7V to 20V. It is recommended to operate the board on 5V. It is important to note that, if a
voltage is supplied through 5V or 3.3V pins, they result in bypassing the voltage regulation that
can damage the board if voltage surpasses from its limit.

14
GND: These are ground pins. More than one ground pins are provided on the board which can
be used as per requirement.

Reset: This pin is incorporated on the board which resets the program running on the board.
Instead of physical reset on the board, IDE comes with a feature of resetting the board through
programming.

IOREF: This pin is very useful for providing voltage reference to the board. A shield is used
to read the voltage across this pin which then selects the proper power source.

PWM: PWM is provided by 3, 5, 6,9,10, 11pins. These pins are configured to provide 8-bit
output
PWM.

SPI: It is known as Serial Peripheral Interface. Four pins 10(SS), 11(MOSI), 12(MISO),
13(SCK) provide SPI communication with the help of SPI library.

AREF: It is called Analog Reference. This pin is used for providing a


reference voltage to the analog inputs.
TWI: It is called Two-wire Interface. TWI communication is accessed through Wire Library.
A4 and AS pins are used for this purpose.

Serial Communication: Serial communication is carried out through two pins called Pin 0 (Rx)
and Pin 1 (Tx).Rx pin is used to receive data while Tx pin is used to transmit data.

External Interrupts: Pin 2 and 3 are used for providing external interrupts. An interrupt is
called by providing LOW or changing value.

In general, Pulse Width Modulation (PWM) is a modulation technique used to encode a


message into a pulsing signal. A PWM is comprised of two key components: frequency and
duty cycle. The PWM frequency dictates how long it takes to complete a single cycle (period) and
how quickly the signal fluctuates from high to low.

The duty cycle determines how long a signal stays high out of the total period. Duty cycle is
represented in percentage as shown in Fig.4.9. In Arduino, the PWM enabled pins produce a
constant frequency of 500Hz, while the duty cycle changes according to the parameters set by
the user.

15
Fig.4.8 Wave form of PWM

PWM signals are used for speed control of DC motors, dimming LEDs and more. Serial
communication is used to exchange data between the Arduino board and another serial device
such as computers, displays, sensors and more. Each Arduino board has at least one serial port.

4.2.1.1 FEATURES OF THE ARDUINO UNO

• Microcontroller: ATmega328
• Operating Voltage: 5V
• Input Voltage (recommended): 7-12V
• Input Voltage (limits): 6-20V
• Digital I/O Pins: 14 (of which 6 provide PWM output)
• Analog Input Pins: 6
• DC Current per I/O Pin: 40 mA
• DC Current for 3.3V Pin: 50 mA
• Flash Memory: 32 KB of which 0.5 KB used by boot loader
• SRAM: 2 KB (ATmega328) EEPROM: 1 KB (ATmega328)
• Clock Speed: 16 MHz.

16
4.2.2 Analysis Of Bluetooth Module

HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module, designed for
transparent wireless serial connection setup. Serial port Bluetooth module is fully qualified
Bluetooth V2.0+EDR (Enhanced Data Rate) 3Mbps Modulation with complete 2.4GHz radio
transceiver and baseband. It uses CSR Bluecore 04-External single chip Bluetooth system with
CMOS technology and with AFH(Adaptive Frequency Hopping Feature). It has the footprint
as small as 12.7mmx27mm. Hope it will simplify your overall design/development cycle.

Fig.4.9 Pin diagram of HC-05


• Enable/Key - This pin is used to toggle between Data Mode (set low) and AT command
mode (set high). By default it is in Data mode
• Vec - Powers the module. Connect to +5V Supply voltage
• Ground - Ground pin of module, connect to system ground.
• TX Transmitter-Transmits Serial Data. Everything received via Bluetooth will be
given out by this pin as serial data.
• RX Receiver-Receive Serial Data. Every serial data given to this pin will be
broadcasted via Bluetooth State The state pin is connected to on board LED, it can be
used as a feedback to check if Bluetooth is working properly.
• LED-Indicates the status of Module

17
• Blink once in 2 sec: Module has entered Command Mode
• Repeated Blinking: Waiting for connection in Data Mode
• Blink twice in I see: Connection successful in Data Mode
• Button -Used to control the Key/Enable pin to toggle between Data and
command Mode
• PIO8- is used to control LED indicating the status. It will blink after power on.
• PIO9 -is used to control LED indicating paring. It will be steady on when paring is
successful.
• . PIOII -is used to set this two mode: AT command mode (if the pin is connect to
3.3V) or Automatic binding transparent data mode (if the pin is connect to GND). The
AT command mode is used to configure some characteristics of the device (for example
the Master, Slave or Loopback modes).

4.2.2.1 Hardware Features

• Typical -80dBm sensitivity Up to +4dBm RF transmit power .


• Low Power 1.8V Operation, 1.8 to 3.6V I/O
• PIO control
• UART interface with programmable baud rate
• With integrated antenna. With edge connector

4.2.2.2 Software Features

• Given a rising pulse in PIOO, device will be disconnected


• Status instruction port PIO1: lowdisconnected, high-connected
• PIO10 and PIO11 can be connected to red and blue led separately. When master and
slave are paired, red and blue led blinks Itime/2s in interval, while disconnected only
blue led blinks 2times/s.
• Auto-connect to the last device on power as default
• Permit pairing device to connect as default
• Auto-pairing PINCODE:"0000" as default
• Auto-reconnect in 30 min when disconnected as a result of beyond the range of
connection

18
4.2.3 Analysis of Relay

Relays are most commonly used switching device in electronics. Let us learn how to use one
in our circuits based on the requirement of our project. Before we proceed with the circuit to
drive the relay we have to consider two important parameter of the relay. Once is the Trigger
Voltage, this is the voltage required to turn on the relay that is to change the contact from
Common->NC to Common- >NO. Our relay here has 5V trigger voltage, but you can also find
relays of values 3V, 6V and even 12V so select one based on the available voltage in your
project. The other parameter is your Load Voltage & Current, this is the amount of voltage or
current that the NC, NO or Common terminal of the relay could withstand, in our case for DC
it is maximum of 30V and 10A. Make sure the load you are using falls into this range

Fig.4.10 Circuit of Relay

The above circuit shows a bare-minimum concept for a relay to operate. Since the relay has 5V
trigger voltage we have used a +5V DC supply to one end of the coil and the other end to
ground through a switch. This switch can be anything from a small transistor to a
microcontroller or a microprocessor which can perform switching operating. You can also
notice a diode connected across the coil of the relay, this diode is called the Fly back Diode.
The purpose of the diode is to protect the switch from high voltage spike that can produced by
the relay coil..

19
As shown one end of the load can be connected to the Common pin and the other end is either
connected to NO or NC. If connected to NO the load remains disconnected before trigger and
if connected to NC the load remains connected before trigger.

Fig.4.11 Pin diagram of Relay

The six pins on the left side of the relay module connect high voltage, and the pins on the right
side connect the component that requires low voltage the Arduino pins. The high-voltage side
has two connectors, each with three sockets: common (COM), normally closed (NC), and
normally open (NO).

COM: common pin

NC (Normally Closed): the normally closed configuration is used when you want the relay to
be closed by default, meaning the current is flowing unless you send a signal from the Arduino
to the relay module to open the circuit and stop the current.

NO (Normally Open): the normally open configuration works the other way around: the relay
is always open, so the circuit is broken unless you send a signal from the Arduino to close the
circuit.

The low-voltage side has a set of four pins and a set of three pins. The set at the right consists
of VCC and GND to power up the module, and input 1 (INI) andinput 2 (IN2) to control the
bottom and top relays, respectively. The second set of pins consists of GND, VCC, and JD-
VCC pins. The JD-VCC pin powers the electromagnet of the relay.

20
The connections between the relay module and the Arduino are really simple:

GND: goes to ground

INI: controls the first relay (it will be connected to an Arduino digital pin)

IN2: controls the second relay (it should be connected to an Arduino digital pin if you are using
this second relay. Otherwise, you don't need to connect it)

VCC: goes to 5V

4.2.4 Analysis Of Ultrasonic Sensor

Sound is a mechanical vibration transmitted by an elastic medium. The range of frequencies


that humans can hear are approximately between 20 Hz and 20,000 Hz. This range is by
definition the audible spectrum and varies by individual and generally reduces with age. The
ear is most sensitive to frequencies around 3, 500 Hz. Sound above 20,000 Hz is known as
ultrasound, and sound below 20 Hz as infrasound.

The speed which sound travels depends on the medium which it passes through. In general, the
speed of sound is proportional (the square root of the ratio) to the stiffness of the medium and
its density. This is a fundamental property of the medium. Physical properties and the speed of
sound change with the conditions in the environment. The speed of sound in the air depends
on the temperature. In the air speed is approximately 345 m/s, in water 1500 m/s and in a bar
of steel 5000 m/s. A common use of ultrasound is for range finding. This use is also called
sonar. Sonar works similarly to radar. An ultrasonic pulse is generated in a particular direction.
If there is an object in the way of this pulse, the pulse is reflected back to the sender as an echo
and is detected. Measuring the difference in time between the pulse transmitted and the echo
received, it is possible to determine how far away the object is. Bats use a variety of ultrasonic
ranging (echolocation) to detect their prey.

21
Fig.4.12 Frequency range

To measure the distance of a sound signal transmitted, it needs to be reflected. This sound signal
is a longitudinal sound wave that strikes a flat surface. Sound is then reflected, provided that
the dimension of the reflective surface is large compared to the wavelength of the sound. An
ideal target surface is hard and smooth. This surface reflects a greater amount of signal than a
soft, rough surface. A weak echo is the result of a small or soft object. This reduces the operating
distance of an ultrasonic sensor and decreases it accuracy.

Fig.4.13 Ultrasonic wave

DISTANCE

The shorter the distance from the ultrasonic sensor to an object, the stronger the returning echo
is. Therefore, as the distance increases, the object requires better reflective characteristics to
return a sufficient echo.

22
SIZE

A large object has more surfaces to reflect the signal than a small one. The surface area
recognized as the target is generally the area closest to the sensor.

ANGLE

The inclination of an objects surface facing the ultrasonic sensor affects how the object reflects.
The portion perpendicular to the sensor returns the echo. If the entire object is at a greater angle,
the signal is then reflected away from the sensor and no echo is detected.

4.2.4.1 Working And Range

Ultrasonic sensor HC-SR04 is used here to measure distance in range of 2cm-400cm with
accuracy of ultrasonic transmitter, receiver and the control circuit. The working principle of
ultrasonic sensor is as follows

High level signal is sent for 10us using trigger.

The module sends eight 40 KHz signals automatically, and then detects whether pulse is
received or not.

If the signal is received, then it is through high level. The time of high duration is the time gap
between sending and receiving the signal.

Distance= (time speed of sound in air (340m/s))/2

The module works on the natural phenomenon of ECHO of sound. A pulse is sent for about
10us to trigger the module. After which the module automatically sends 8 cycles of 40 KHz
ultrasound signal and checks its echo. The signal after striking with an obstacle returns back
and is captured by the receiver. Thus the distance of the obstacle from the sensor is simply
calculated by the formula is Distance (time speed)/2

Here we have divided the product of speed and time by 2 because the time is the total time it
took to reach the obstacle and return back. Thus the time to reach obstacle is just half the total
time taken. Time = distance/speed

23
Fig.4.14 Transmitted and Received Pulses

Time of flight=950 us

Distance measured = 330/950 us

=0.347 meters

Fig.4.15 Object sensing process

24
AMPLIFIER

The frequency of the received pulse is of 40 kHz which requires amplifiers working at high
frequency.
TL084 is used, as it has good high frequency gain characteristics. The gain of the amplifier is
set to 1000 in two stages with first being 100 and second being 10. The gain is set by taking
into account the least magnitude (50mV) of the receiver output when sensing an object at
distance of 2 meters.

COMPARATOR

The output signal from the amplifier is passed through the comparator which compares with a
reference threshold level to weed out the noises and false triggering. The signal is a series of
square pulses as shown in Fig.1 with amplitude of 15 volts. This is passed through the voltage
limiter (zener regulator) to be fed to the microcontroller for counting the pulses.

DESCRIPTION

The time of flight method is used for finding the distance between the transmitter and the object.
The transmitter sends out a burst of pulses and a receiver detects the reflected echo. The time
delay between the corresponding edges of the transmitted and received pulses is measured by
arduino, this gives the time of flight. Substituting the time delay and the velocity of ultrasound
in air (330metres/second) in the following formula we can determine the distance between the
transmitter and the target. Fig.1.9 shows the transmitted and received pulses.

Distance = Velocity X Elapsed time

This distance is twice of the required distance. Hence it is reduced to half and this calculated
distance is displayed on the LCD. The LCD is refreshed every 250 milliseconds.

Channel 3: Output receiver amplifier

Channel 4: Input pulses to the microcontroller

4.2.4.2 FIRMWARE DESCRIPTION

The Arduino closes the switch for duration of 250 microseconds to allow 10 cycles of 40 kHz
sine wave. The sine wave varying between 0-1V passes through the switch to the gain
amplifier. The level shifter and gain amplifier gives a sine wave with output varying between

25
-10V and +10V. The transmitter sends out a burst of 10 pulses. As the transducers are
directional they are positioned to face the target.

The arduino waits to receive the pulses for a maximum duration of 12 milliseconds. This is the
time taken for the ultrasound waves to travel a maximum distance of 4metres (time of flight
gives twice the time taken to traverse a unit distance). If it doesn't receive the pulses within this
time it is considered as absence of object or object out of range. Once the pulses are received
the microcontroller counts 10 pulses with a time spacing of 25 microseconds only then the
measurement is considered valid and computation using the formula is implemented.
Necessary hex to decimal conversion and decimal to ASCII conversions are performed to
display the output of the computation in the LCD. The appendix gives the detailed program
with necessary comments for this application.

Fig.4.16 Ultrasonic wave description

4.2.5 Water Pump Analysis

4.2.5.1 Design Of Water Pump

The motor almost certainly needs more "drive" current than what the IO pin can supply. An
output pin might supply (say) 40mA but the motor might need 1A or 2A. The IO pin can't
provide the current so the motor sits there doing nothing. Think of it like water pressure and
feeding water through a really small pipe (say 2mm diameter). If the flow rate demand is low
it'll work fine but if you want to fill your tub then forget it. Get bigger pipes the output pin has
only got little pipes. It is a circuit that takes an 10 pin from a micro and uses a couple of
transistors to switch a battery (5.5V) to a load (motor). It can run from 5V of course.

26
If your motor needs something like 100mA you can use a small-signal general purpose NPN
transistor instead of a Darlington as in the circuit above, something like BC546/547. The
characteristic to look for is peak collector current: that will tell you how much of a load the
transistor can drive. The diode across the motor is a snubber/flyback diode, there to protect
your circuitry against harmful voltage spikes that could be generated by the motor in your pump
when its is shut down. To be clear, one advantage of Andy Aka's circuit is that it is designed
for any motor voltage, whereas the circuit here relies on your Arduino and the motor running
off the same V source

Fig.4.17 Circuit design

Fig.4.18 Pump design

27
SPECIFICATIONS:
• Operating Voltage: 2.5-6V
• Operating Current: 130-220mA
• Flow Rate: 80-120 L/H
• Maximum Lift: 40-110 mm
• Continuous Working Life: 500 hours
• Driving Mode: DC, Magnetic Driving
• Material: Engineering Plastic
• Outlet Outside Diameter: 7.5 mm.
• Outlet Inside Diameter: 5 mm

4.3 WORKING

4.3.1 Block Diagram

Fig.4.19 Block diagram of floor cleaning robot

The floor cleaning robot is a integration of power (12V), microcontroller ATmega328,


Bluetooth module (ESP8266), DC motors, motor driver LM293D. ATmega328 is main part
of this system which controls all operations. Bluetooth module is used for wireless

28
communication between android phone and robot and its operating range 500m. Ultrasonic
sensors used for obstacle detection. Two motors to drive the wheel. are used in this system

4.3.2 Working Modes

This automatic wet and dry floor cleaning robot has two working modes. One is manual mode
and other is automatic mode.

In automatic mode, robot performs all control operation itself. Firstly robot starts it moves
forward and perform cleaning action. Usually, autonomous mode is guided by algorithms for
path planning of the robot. Path planning is an important factor because the efficiency of
cleaning robot is very much dependent on it. The route map of the algorithm used here is like
the letter 'S'. This algorithm is the fastest process to cover the entire room area. With every
collision with obstacle the turning direction of the robot continuously changes under this mode.
'S' shape pattern motion path. For this algorithm, after every collision the robot has a sequence
of movements.

They area:

a. Back

b. 90deg Turn (Right Left)

c. Go

d. 90deg Turn (Left/Right

Fig.4.20 'S' Shape pattern

Manual mode allows the users to operate the robot hardly to reach places.

29
The user has freedom to command the robot to create any pattern. In autonomous mode
obstacles and cliffs are not handled automatically by on board sensors and controllers.

But as the user operates the robot by him in manual mode. The robot may bump an obstacle
badly or fall from stairs it has to be avoided manually by user.

This may bring huge damage to the robot.

This is accomplished by using any android app and programming accordingly.

The Forward symbol moves the robot forward, Backward symbol moves the robot back, The
Right and Left symbol moves the robot right and left respectively when pressed else the robot
will be stationary.

4.4 APPLICATION SOFTWARE

The app invented by these searches for the Bluetooth devices along with their MAC addresses.
The user just needs to select a particular MAC Address. When a particular MAC is selected,
the status shown on the screen is "Connected". Bluetooth RC controller app is offered by
"andi.co".

Fig.4.21 Application software of Bluetooth module

30
The communication between the smart phone and the Bluetooth module was done using the
serial communication Arduino. The app "Bluetooth RC Controller" send to the Bluetooth
module the following commands.

31
CHAPTER 5

CONCLUSION AND FUTURE SCOPE

5.1 CONCLUSION

After studying the various research papers of floor cleaning machines we have concluded that
there are certain limitations in floor cleaning machines which can be worked upon. For example
cleaning machines are made with an aim to clean only dry surface of the floor. This means that
they are only sufficient in the summer and winter season but not in rainy season this is the
major issue for cleaning the floor surface but during the rainy season floor cleaning machines
are required which can perform the tasks when the surface contain moisture or little amount of
water on the surface of floor. So we are developing the machine which can work in both dry
and wet conditions. This machine called as dry and wet floor cleaning machine. This machine
can remove the dust in summer season and also it can remove and clean the dirt, water from
floor in rainy season. This robot works in two modes automatic and manual for user
convenience. This proposed work provides the hurdle detection in case of any obstacle that
comes in its way. An automatic water sprayer is attached which sprays water for mopping
purpose for the convenience of user. User can also operate this robot manually with the help of
Smartphone. It reduces the labour cost and saves time also and provides efficient cleaning. In
automatic mode, the robot operates autonomously. The operations such as sweeping, mopping
and changing the path in case of hurdle are performed automatically.

A cheaper and user friendly automatic wet and dry floor cleaning robot can be developed with
two different mode of controlling (Manual and Autonomous) using an Arduino controller with
obstacle sensing functionality. With simple design and program, the cleaner will be able to
cover large floor areas as well as find its way into and out of small corners easily.

As the robot traverses the room, the mop installed in it will manage to pick up a significant
amount of dirt. Manual sweeping might not be that effective as it will not be picking up
everything in as it is not in sight but using the automatic floor cleaner it can be done easily.

5.2 FUTURE WORK

We will implement in this floor cleaning robot to add vacuum cleaner that pump the dirt and it
can store easily and also Battery monitoring, self-charging. lighter body weight and to set alarm
on/off time manually are the future scope of this project.

32
APPENDIX

#include<SoftwareSerial.h>

#define led 5

#define motor 6 #define mal A0

#define ma2 Al

#define mb1 A2 #define mb2 A3


String response:
unsigned long time_prev=0;
unsigned long time_now:
bool change_update=false;
bool showespcom=true;
SoftwareSerial esp8266(2, 3);
char matstr[8];
int i;

void setup()

pinMode(led, OUTPUT);
digitalWrite(led,LOW);
pinMode(A0, OUTPUT);
digitalWrite(A0,LOW);
pinMode(A1, OUTPUT);
digitalWrite(A1,LOW);
pinMode(A2, OUTPUT);
digitalWrite(A2,LOW);
pinMode(A3, OUTPUT);
digitalWrite(A3,LOW);
pinMode(motor, OUTPUT);
Serial.begin(9600);
esp8266.begin(9600);

33
Serial.println("Getting In..");

// put your setup code here, to run once: }

int ESPwait(String stopstr, int timeout_secs)

response; bool
found = false;
char c; long
timer_init, long
timer,
response="";
timer init = millis(): while (!found)
timer = millis(); if (((timer timer
init)/1000) timeout secs)
{

// Timeout?
Serial.println("!Timeout!
"); return 0; //timeout if
(esp8266.available())
{

c = esp8266.read();
//Serial.print(c);
response += c:
if (response.endsWith(stopstr))

found = true;
delay(10);
esp8266.flush();
Serial.flush();
//Serial.println();

34
}

// end Seriall_available() //
end while (!found) return 1;
3 void count_time(void)
time_now-millis();
if(time_nowtime_prev
>=2000) time_prev-
time_now;
change_update=true;
}

void robot_f(void)

Serial.println("FORWARD
"); digitalWrite(mal,
HIGH); digitalWrite(ma2,
LOW); digitalWrite(mb1,
HIGH); digitalWrite(mb2,
LOW); void robot_b(void)
Serial.println("BACKWO
RD"); digitalWrite(mal,
LOW); digitalWrite(ma2,
HIGH); digitalWrite(mb1,
LOW): digitalWrite(mb2,
HIGH);
}

void robot l(void)


Serial.println("LEFT");
digitalWrite(mal, HIGH);
digitalWrite(ma2, LOW);
digitalWrite(mb1, LOW);
digitalWrite(mb2, HIGH); void
robot_r(void)

35
{

Serial.println("RIGHT");
digitalWrite(mal, LOW);
digitalWrite(ma2, HIGH);
digitalWrite(mb1, HIGH);
digitalWrite(mb2, LOW);
void robot s(void)
Serial.println("STOP");
digitalWrite(mal, LOW):
digitalWrite(ma2, LOW):
digitalWrite(mb1, LOW);
digitalWrite(mb2, LOW);
void led set(void)
{

Serial.print("SW:");
response.remove(response.length()
4); Serial.println(response.toInt());
if(response.toInt()-1) robot_f();
if(response.toInt()=2) robot_b():
if(response.toInt()-3) robot 1();
if(response.toInt() ==4) robot_r();
if(response.tolnt() -5) robot_s();
// if(response.toInt()-255)
//digitalWrite(led,HIGH);
delay(10);

1 void
loop()
// put your main code here, to run
repeatedly: count time(): char c;
if(esp8266.available())
{

c-esp8266.read();

36
if(c)

if(ESPwait("*" 3))

//Serial.println(response);
if(response.endsWith("LED*"))
led set();
response=""; else
if(showespcom)
Serial.print((String)(
c));
if(change_update)
{

change_update-false;

//Main Loop

37
REFERENCES

[1] Abhishek Chakraborty and Ashutosh Bansal (2013) Design of Dust Collector for Rear
Wheel of Four-Wheeler, International Journal of Emerging Technology and Advanced
Engineering, Vol.3, No.7, pp.199-216.

[2] Ajay P. and John-March (2003) "Implementation of an Automated Smart Robotic Floor
Cleaner, Pampakuda, Ernakulam, India.

[3] Haslam R.A. and Williamsn H.J. (2005) Ergonomics considerations in the design and
use of single dise floor cleaning machines, Applied Ergonomics, pp.30-35.

[4] Imaekhai Lawrence (2012) 'Evaluating Single Dise Floor Cleaners", An Engineering
Evaluation, Innovative Systems Design and Engineering. Vol.3, No.4, pp.41-44.

[5] Manya Jain (2017) Ergonomics considerations in the design and use of single dise floor
cleaning machines", Applied Ergonomics, pp.112-116.

[6] Sahil Bharti (2008) Design And Development Of Cleaning System', MIT International
Journal of Soft Computing and Artificial Intelligence, Vol.1, No.1. pp. 2321-2325

[7] Sandeep J. Meshram and Mehta G.D (2016) 'Design and Development of Tricycle
Operated Street Cleaning Machine", Journal of Information, Knowledge And Research In
Mechanical Engineering, Vol.4, No. 1.pp.0975-0981.

38
Floor cleaning robot using ultrasound sensor

ANNEXURE-I

Department of Electronics and Communication Engineering, Lakshmi Narain College of Technology, Bhopal.

39
Floor cleaning robot using ultrasound sensor

Department of Electronics and Communication Engineering, Lakshmi Narain College of Technology, Bhopal.

40
Floor cleaning robot using ultrasound sensor

Department of Electronics and Communication Engineering, Lakshmi Narain College of Technology, Bhopal.

41
Floor cleaning robot using ultrasound sensor

Department of Electronics and Communication Engineering, Lakshmi Narain College of Technology, Bhopal.

42
Floor cleaning robot using ultrasound sensor

Department of Electronics and Communication Engineering, Lakshmi Narain College of Technology, Bhopal.

43
Annexure II:
Environmental & Sustainability

The environmental and sustainability aspects of floor cleaning robots utilizing ultrasound sensors
depend on various factors, including their design, materials, energy source, and maintenance
practices. Here's an overview of how these robots can contribute to environmental sustainability:

Energy Efficiency: Many modern robots, including those equipped with ultrasound
sensors, are designed to be energy-efficient. They often use rechargeable batteries and
employ intelligent navigation systems to optimize cleaning routes, reducing energy
consumption compared to traditional cleaning methods.

Reduced Chemical Usage: Floor cleaning robots can potentially reduce the need for
chemical cleaners, especially if they are equipped with advanced cleaning mechanisms
such as microfiber pads or steam cleaning. This can lead to a decrease in the use of harmful
chemicals that can pollute waterways and harm ecosystems.

Water Conservation: Some floor cleaning robots use minimal water during operation,
employing methods like dry sweeping or using small amounts of water for mopping. This
can contribute to water conservation efforts, particularly in regions facing water scarcity.

While floor cleaning robots have the potential to contribute to environmental


sustainability, it's essential to consider the broader context of their lifecycle and usage to
maximize their positive impact and minimize any unintended environmental
consequences. Regular monitoring, research, and innovation can help continuously
improve the environmental performance of these technologies.

Department of Electronics and Communication Engineering, Lakshmi Narain College of Technology, Bhopal 44
Annexure III:
Impact on Society

Efficiency and Convenience: These robots can automate the task of floor cleaning, saving time
and effort for homeowners and businesses. This can lead to increased productivity and
convenience in daily life.

Health and Hygiene: Cleaner floors contribute to better indoor air quality and reduce the risk of
allergens and respiratory issues. Especially in public spaces like hospitals and restaurants,
maintaining cleanliness is crucial for public health.

Accessibility: For individuals with mobility issues or disabilities, floor cleaning robots can make
a significant difference by providing an accessible solution to maintaining a clean living
environment.

Department of Electronics and Communication Engineering, Lakshmi Narain College of Technology, Bhopal 45

You might also like