C-NSAKCET Documentation
C-NSAKCET Documentation
BACHELOR OF ENGINEERING
In
COMPUTER SCIENCE AND ENGINEERING-IOT
Submitted by
CERTIFICATE
They have presented the major project work during the academic year
2020-2021 in partial fulfillment of the requirements for the award of
BACHELOR OF TECHNOLOGY in department of COMPUTER
SCIENCE AND ENGINEERING
from JNTUH. This is a bonafide record work carried out by them under our
guidance and supervision. The results of investigation enclosed with this
report have been verified and found to be satisfactory.
DECLARATION
ACKNOWLEDGEMENT
TABLE OF CONTENTS
Chapter 1: Introduction 1
1.1 General 1
1.2 Objective 1
1.3 Methodologies 2
Chapter 2: Literature Survey 3
2.1 Problem Statement 3
2.2 Existing System 3
2.3 Proposed System 4
2.4 Technologies Used 4
Chapter 3: Software Analysis 26
3.1 Software Requirement Specification 26
3.2 UML Diagram 34
Chapter 4: System Design 37
4.1 Class Diagram 37
4.2 Architecture Diagram 37
4.3 Flow Diagram 38
Chapter 5: Implementation 40
5.1 Screenshots 40
Chapter 6: Conclusion 43
6.1 Applications 43
6.2 Future Scope 43
References 45
7
CHAPTER 1
INTRODUCTION
An Arduino-based vacuum cleaner is a cleaning device that is
powered and controlled by an Arduino microcontroller. The
Arduino board is programmed to control the motors, sensors,
and other components that make up the vacuum cleaner. This
allows for a high degree of customization and control over the
cleaning process, making it possible to program the vacuum
cleaner to clean specific areas, adjust the suction power, and
even navigate around obstacles. Additionally, an Arduino-
based vacuum cleaner can be connected to other devices and
systems, such as a smartphone or a home automation system,
to provide remote control and monitoring capabilities. This
makes the vacuum cleaner not only a practical cleaning tool,
but also a fun and educational project for makers and
hobbyists interested in robotics and home automation.
A. Vacuum Cleaner
A vacuum cleaner, commonly referred to as a vacuum or a
hoover, is a machine that creates suction to take dirt off of
surfaces like floors, couches, draperies, and other objects.
Typically, electricity is used to power it. Either a dust bag
or a cyclone collects the dirt for subsequent disposal. Small
battery-powered hand-held vacuum cleaners, wheeled
canister models for home use, domestic central vacuum
cleaners, enormous stationary industrial machines that can
hold hundreds of liters of dirt before being emptied, and
selfpropelled vacuum trucks for cleanup of significant
spills or removal of contaminated soil are all different sizes
and models of vacuum cleaners that are used in both
homes and industry. Both solid objects and liquids can be
sucked up using specialized shop vacuums. The
performance of a vacuum cleaner can be measured by
several parameters: 1) Airflow, in liters per second [l/s] or
cubic feet per minute (CFM or ft³/min) 2) Air speed, in
metres per second [m/s] or miles per hour [mph] 3)
Suction, vacuum, or water lift, in pascals [Pa] or inches of
water.
8
METHODOLOGIES:
CHAPTER 2
LITERATURE SURVEY
- Environmental Impact:
- Inefficient energy usage increases electricity consumption and
carbon footprint.
10
2.4.1 Arduino
Why Arduino?
C/C++
C and C++ are foundational programming languages with distinct yet
complementary strengths. C, originating in the early 1970s, serves as a
robust and efficient language known for its direct interaction with
hardware and low-level memory management. It finds extensive use in
system programming, embedded systems, and operating systems, where
direct control over hardware and high performance are paramount. Its
simplicity and portability make it a popular choice for writing device
drivers, operating systems kernels, and other system-level software
components.
Components used:
Arduino UNO
The Arduino Uno is a popular microcontroller board based on the
ATmega328P chip. It features digital input/output pins, analog inputs, a
USB connection for programming and power, and a reset button. The
board is equipped with 14 digital I/O pins, of which 6 can be used as
PWM outputs, and 6 analog input pins. These pins allow the Arduino
Uno to interface with a wide range of sensors, actuators, and other
14
Equipped with a simple and intuitive interface, the Arduino Motor Shield
can be easily stacked onto Arduino boards like the Arduino Uno or
Arduino Mega, expanding their capabilities for motor control
applications. It offers flexibility in motor control, supporting both DC
motors with PWM speed control and stepper motors with precise position
control. Additionally, the shield provides convenient access to all the
necessary pins and connectors, simplifying the wiring process and
allowing for quick and hassle-free setup.
for motor control needs. Its compatibility with the Arduino ecosystem,
along with its versatility and ease of use, makes it a popular choice
among hobbyists, educators, and professionals alike. With its robust
design and comprehensive features, the Arduino Motor Shield empowers
users to create sophisticated and dynamic motion control systems with
ease.
Ultra-Sonic Sensor
An ultrasonic sensor is a device that utilizes sound waves of frequencies
higher than the human audible range to detect the distance of objects. It
typically consists of a transmitter that emits ultrasonic waves and a
receiver that captures the waves reflected off nearby objects. By
measuring the time it takes for the ultrasonic waves to bounce back to the
sensor, the distance between the sensor and the object can
be accurately calculated using the speed of sound in air.
Servo Motor
One of the key benefits of gear motors is their ability to amplify torque
while decreasing speed, allowing them to generate greater force than a
motor operating without gears. This makes gear motors well-suited for
tasks that require heavy lifting, pushing, or pulling. Additionally, the use
of gears helps to stabilize and smooth out the motor's output, resulting in
more consistent and reliable performance.
17
DC Motor
Bluetooth Module
With its compact size and low power consumption, the HC-05 Bluetooth
module is widely used in a variety of applications, including wireless data
transmission, remote control systems, and Internet of Things (IoT)
projects. It features a range of up to 10 meters in open space, making it
suitable for short-range communication scenarios. Additionally, the
module supports baud rates ranging from 1,200 to 1,138,400 bps,
providing flexibility in data transfer rates to accommodate different
application requirements.
One of the key advantages of the HC-05 Bluetooth module is its ease of
integration and compatibility with Arduino microcontroller boards and
other embedded systems. By simply connecting the module to the serial
ports of Arduino boards, users can establish wireless communication
between their projects and external devices, enabling a wide range of
interactive and remote-controlled applications. Overall, the HC-05
Bluetooth module offers a cost-effective and reliable solution for
implementing wireless communication in electronic projects, enhancing
connectivity and versatility in various applications.
DC Jack
A female DC power supply connector, also known as a DC barrel jack or
socket, is a common type of electrical connector used to supply power to
electronic devices. It typically consists of a cylindrical
housing with a central pin or terminal surrounded by an
outer sleeve. The inner pin serves as the positive
terminal, while the outer sleeve is the negative terminal.
The connector is designed to mate with a corresponding
male plug, allowing for a secure and reliable electrical
connection.
Toggle Switch
A toggle switch is a mechanical switch that is commonly used to
manually control the electrical circuit by toggling between two or more
positions. It typically consists of a lever or actuator that can be moved
back and forth to open or close the circuit. Toggle switches are available
in various configurations, including single-pole single-throw (SPST),
single-pole double-throw (SPDT), and double-pole double-throw
(DPDT), each offering different switching options and functionalities.
and ease of use make toggle switches a popular choice for controlling
electrical circuits in various applications where manual control is
required.
Jumper Wires
Jumper wires are flexible wires with connectors at each end used to create
temporary electrical connections between components on a breadboard,
circuit board, or other electronic devices. They are typically made of
stranded copper wire with insulation to prevent short circuits and ensure
reliable conductivity. Jumper wires come in various lengths, colors, and
connector types to accommodate different applications and
configurations.
One of the key advantages of jumper wires is their versatility and ease of
use. They allow for quick and easy prototyping and testing of electronic
circuits without the need for soldering. By
simply inserting the connectors into the
appropriate holes on a breadboard or circuit
board, users can establish electrical
connections between components, such as
microcontrollers, sensors, LEDs, and
resistors, to create functional circuits.
Flux Wires
Flux wires, also known as soldering flux-core wires, are soldering wires
with a flux core embedded within them. Flux is a chemical compound
that aids in the soldering process by removing oxidation from metal
surfaces, promoting wetting, and improving
solder flow. Flux wires are commonly used in
electronics assembly, plumbing, and metalwork
applications where soldering is required.
DC adapter
A DC adapter, also known as a power adapter or AC/DC converter, is a
device that converts alternating current (AC) from a mains power source
into direct current (DC) suitable for powering
electronic devices. It typically consists of a plug
that connects to the mains power outlet and a cable
terminating in a connector or jack that interfaces
with the device. DC adapters come in various
shapes, sizes, and voltage and current ratings to
accommodate different devices and applications.
Fan
CHAPTER 3
SOFTWARE ANALYSIS
users to control the cleaner remotely via mobile app. The research aims to
improve human-machine interaction and contribute to smarter home
appliances.
The following sections will delve into the system's architecture,
components, and operating principles, providing a comprehensive
understanding of its transformative impact on household cleaning and the
broader trend of intelligent homes.
Purpose
In modern life, managing time efficiently remains a priority, especially as
technological advancements continue to shape our routines. However,
amidst busy schedules, maintaining a clean environment can often be
neglected. This project aims to address this issue by developing an
innovative cleaning solution using robotics and automation.
The purpose of this project is to create a robotic vacuum cleaner that not
only simplifies household cleaning but also enhances convenience and
effectiveness. By integrating smart technologies such as Arduino Uno and
Bluetooth, this cleaner can be controlled remotely via smartphone,
offering users greater flexibility and control over their cleaning routines.
Product Scope
Market Potential: With the growing demand for smart home solutions and
automation technologies, the product has significant market potential. It
caters to a diverse audience, including homeowners, technology
enthusiasts, engineers, developers, researchers, and academics.
26
System Planning: This section outlines the project's objectives, scope, and
constraints. It provides an overview of what the system is intended to
achieve and sets the context for the rest of the document.
Use Case Analysis: Use case diagrams and descriptions are provided to
illustrate how users will interact with the system and the various
scenarios that the system must support. This section helps to clarify the
system's behavior from the user's perspective.
SYSTEM PLANNING:
Project Objectives:
Develop a smart vacuum cleaner capable of autonomously
navigating and cleaning various floor surfaces.
Integrate advanced sensors and algorithms for obstacle detection,
avoidance, and optimized cleaning patterns.
Provide users with remote control and scheduling capabilities
through smartphone apps or smart home integration.
Ensure energy efficiency and sustainability through intelligent
power management features.
27
Project Scope:
Hardware Components: Sensors, motors, Arduino microcontroller
for navigation and control.
Software Components: Sensor data processing, obstacle avoidance
algorithms, connectivity with smartphone apps or smart home
systems.
External Interfaces: Wi-Fi or Bluetooth for remote control and
monitoring.
Integration with Existing Smart Home Ecosystems: Compatibility
with popular smart home platforms.
Energy Management Features: Automatic docking, scheduling, and
power-saving modes.
Project Constraints:
Cost Limitations: Budget constraints may impact the inclusion of
advanced features.
Technical Constraints: Sensor accuracy, battery life, processing
power may affect system performance.
Regulatory Requirements: Compliance with safety standards and
regulations governing household appliances.
Compatibility: Ensuring compatibility with existing smart home
ecosystems and platforms.
OVERALL DESCRIPTION:
Purpose:
The system aims to provide an autonomous solution for household
cleaning tasks, reducing the need for human intervention. By integrating a
vacuum cleaner onto a car, equipped with obstacle detection sensors and
remote control capabilities, the system offers efficient cleaning in indoor
environments.
Functionality:
The system utilizes an Arduino microcontroller to control the car's
movements and integrate sensors for obstacle detection. An ultrasonic
sensor mounted on the car detects obstacles, triggering a change in
direction to avoid collisions. The vacuum cleaner, powered by batteries,
comprises a fan and suction pipe to collect dust from floors. The system's
28
Key Features:
Autonomous Operation: The system autonomously navigates
indoor spaces, avoiding obstacles while efficiently cleaning floors.
Obstacle Detection: Utilizing ultrasonic sensors, the system detects
obstacles and adjusts its course to prevent collisions.
Remote Control: Users can control the car's movements remotely
via a dedicated mobile application, enhancing convenience and
flexibility.
Efficient Cleaning: The vacuum cleaner, integrated with the car,
effectively collects dust from floors, improving cleanliness and
hygiene.
User-Friendly Interface: The mobile application provides an
intuitive interface for sending directional commands to the car,
ensuring ease of use for users.
Environment:
The system is designed for operation in indoor environments such as
homes, offices, or commercial spaces. It is suitable for cleaning various
floor surfaces, including hardwood, tile, and carpet. The system's
mobility and obstacle avoidance capabilities make it adaptable to
different room layouts and furniture configurations.
External Interfaces:
The system interfaces with users via a mobile application . The mobile
application communicates with the car's Arduino microcontroller through
a Bluetooth module (HC-05), enabling wireless control over the car's
movements. Additionally, the system interacts with the environment
through its ultrasonic sensors, allowing it to detect and navigate around
obstacles during cleaning operations.
CHAPTER 4
SYSTEM DESIGN
Block Diagram
4.2Architecture Diagram
4.3Flow Diagram
CHAPTER 5 IMPLEMENTATION
5.1 Screenshots
33
34
CHAPTER 6 CONCLUSION
Future Scope:
REFERENCES: