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

Remote Sensing Io Tbased Android Controlled Robot TAJIM

Uploaded by

VAIBHAV WAGHADE
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)
9 views

Remote Sensing Io Tbased Android Controlled Robot TAJIM

Uploaded by

VAIBHAV WAGHADE
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/ 60

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/336774803

Remote Sensing IoT based Android Controlled Robot

Thesis · April 2019


DOI: 10.13140/RG.2.2.31724.10882

CITATIONS READS
9 7,268

1 author:

Tajim Md. Niamat Ullah Akhund


Daffodil International University
41 PUBLICATIONS 581 CITATIONS

SEE PROFILE

All content following this page was uploaded by Tajim Md. Niamat Ullah Akhund on 24 October 2019.

The user has requested enhancement of the downloaded file.


Remote Sensing IoT based Android Controlled Robot

Tajim Md. Niamat Ullah Akhund


Jahangirnagar University
Daffodil International University
[email protected]

ABSTRACT

This project is to make a robot which will be helpful for mankind. This robot will collect data from
remote place and able to send those data to a remote IoT cloud database. This robot will be
controlled via android mobile phone. We can control the movement of the robot by sending
instructions via Bluetooth from our android phone. The robot will receive the instruction via the
HC-05 Bluetooth module and process the data with Arduino microcontroller. Then it will move
the robot in all direction with the help of motor driver L298N by following the instructions received
from android mobile phone. Then the robot will collect data of temperature and humidity from that
place with the sensor DHT11 and send those data via Wi-Fi to the cloud database with the help of
node MCU ESP8266. Then the data will be shown as well as the remote place can be monitored
from anywhere in the globe from the internet server used. The system is made in very low cost.
TABLE OF CONTENTS
Chapter No. Chapter Name Page No.
1. Introduction 3
1.1 Summary 3
1.2 Problems statement 3
1.3 Objectives and Goals 4
1.4 Background 4
1.5 Social impact 5
2. Literature review 6
2.1 What is IoT (Internet of Things) 6
2.2 IoT in Healthcare 6
2.3 Robotics 9
2.4 Controlling the Robot 11
3. Methodology and System Model 16
3.1 Methodology 16
3.2 Algorithm 16
3.3 Main circuit diagram 17
3.4 The flowchart of the remote sensing 18
3.5 Circuit diagram of the remote sensing 19
4. Requirements analysis 20

5. Results and Outcome 47


5.1 System final output found 48
5.2 Node mcu ESP 8266 results 48
5.3 Final robots view 55
6. Conclusion and Further Development 57

7. References 58
LIST OF FIGURES
Sl. No. Figure Page
1. 3.1: system methodology to move the robot 16
2. 3.2: Main Circuit diagram 17
3. 3.3: The flowchart of the remote sensing part and data sending 18
4. 3.4: Circuit diagram of the remote sensing ad data sending part 19
5. 4.1: Bluetooth module HC-05 24
6. 4.2: various cables 35
7. 4.3: Arduino programmer data cable 35
8. 4.4: used Li-ion rechargeable battery pack 36
9. 4.5: Power Regulator IC 37
10. 4.6: Circuit diagram of power supply 38
11. 4.7: Robotic Chassis (2 Wheel) Model: ROB-00159 39
12. 4.8: L298 motor driver 40
13. 4.9: DHT 11 Sensor 41
14. 4.10: Node MCU Or ESP 8266 Wi-Fi Microcontroller 42
15. 4.11: DC gear motor 45
16. 4.12: DC gear motor specification 46
17. 5.1: Node MCU IoT part device 48
18. 5.2: output in thingspeak 1 49
19. 5.3: data export in multiple formats 49
20. 5.4: Data export in excel and CSV 50
21. 5.5: MATLAB analyzer for cloud data 51
22. 5.6: temperature graph 51
23. 5.7: humidity graph 52
24. 5.8: temperature widget 52
25. 5.9: humidity widget 53
26. 5.10: temperature data field 53
27. 5.10: humidity data field 54
28. 5.11: Final look of the robot (Side 1) 55
29. 5.12: Final look of the robot (Side 2) 56
CHAPTER 1
Introduction

1.1 Summary

This project will result a robot that can move with the instructions from your android phone
and can go to a remote abstruse place to collect data and help people. The Robot will be
Bluetooth controlled having 360˚ movement and can be controlled from a distance place
remotely. The robot can able to get the instructions from the mobile throw the Bluetooth
module HC-05. Then it will process the instruction through microcontroller Arduino and
move the robot by following the instructions. Then it will collect data from there and send
the collected data to cloud database via Wi-Fi and internet.
In my system I have designed a low-cost Microcontroller Based Android controlled Robot. The
robot will move forward, backward, left and right direction by following the instructions given
from the mobile. This system can be helpful for various purpose.

1.2 Problems statement


I have tried to make and HRI device here. Human computer interaction (HCI) also named Man-
Machine Interaction (MMI) refers to the relation between the human and the computer or more
precisely the machine, and since the machine is insignificant without suitable utilize by the human.
There are two main characteristics should be deemed when designing an HCI system as mentioned
in: functionality and usability. System functionality referred to the set of functions or services that
the system equips to the users, while system usability referred to the level and scope that the
system can operate and perform specific user purposes efficiently. The system that attains a
suitable balance between these concepts considered as influential performance and powerful
system. Gestures used for communicating between human and machines as well as between people
using sign language. We have to make the device be able to get the instructions from the mobile
throw the node mcu ESP 8266 ,to use temperature and humidity sensor to take the reading of
temperature and humidity , dht11 IC to read temperature and humidity, a micro controller which
will receive the humidity and the temperature reading from the sensor and will send it to cloud
database named ‘Thingspeak’. In this free cloud database ‘Thingspeak’ a graph will be
automatically generated basing on the results obtained in the microcontroller on an interval of 1
minutes.

1.3 Objectives and Goals

❖ Can go a remote abstruse place where man cannot go.


❖ Receive and transmit data from abstruse remote place.
❖ Receive instructions and data via Bluetooth from android mobile phone.
❖ Move the robot with received information.
❖ It can be used for the disable persons.
❖ Finally, I made a wireless Android-controlled robot.
❖ Suitable to integrate with other electrical devices.
❖ Will collect data from there and send the collected data to cloud database via Wi -Fi and
internet.

1.4 Background

We can use the robot in helping mankind by taking remote data as well as in health sector too. The
population of the entire world is constantly rising. Along with the rise of population
industrialisation and urbanisation are also increasing at a mentionable rate. The consequences of
these activities are global warming which has severely affected the health issues of the people
around the world. Under these circumstances, it has become very much essential to keep people’s
health parameters in constant observation. In Bangladesh, from a statistical analysis it has been
found out that one out of every eight people are suffering from serious health issues which could
be avoided if their health were monitored more often. In the face of these issues, home-based and
community-based healthcare services have been identified as necessary also in many developed
countries as well as our country to maintain the quality of services delivered and To create much
better health care facilities at less time .Analyzing all these conditions, we have come to the
decision of creating such a beneficial project in the perspective of health.
1.5 Social impact
The robot can serve the society. It can collect data from remote place. It can collect data from
patients. Quantified health is going to be future of healthcare because health that is measurable can
be better improved. Therefore, it is wise to take advantage of quantified health technology. We
also know that data affects performance so, an object measurement and tracking of health for better
outcomes is needed. Health is considered as one of the basic human needs. If sound health of mass
people can be guaranteed, then the overall productivity is obvious to enhance. This will have a
great positive impact on our society.
CHAPTER 2
Literature Review

2.1 What is IoT (Internet of Things)

Many definitions of the Internet of Things exist, but at the most fundamental level it can be
described as a network of devices interacting with each other via machine to machine (M2M)
communications, enabling collection and exchange of data [7], [10], [11]. This technology enables
automation within a large range of industries, as well as allowing for the collection of big data.

Hailed as the driver of the Fourth Industrial Revolution [13], Internet of Things technology has
already found commercial use in areas such as smart parking [14], precision agriculture [15], and
water usage management [16]. Extensive research has also been conducted into the use of IoT for
developing intelligent systems in areas including traffic congestion minimization [17], structural
health monitoring [18], crash-avoiding cars [19], and smart grids [20].

While the aforementioned fields appear vastly different to healthcare, the research conducted
within them verifies the plausibility of an IoT-based healthcare system. Existing systems in other
fields have proven that remote monitoring of objects, with data collection and reporting, are
achievable. This can therefore be expanded and adapted for monitoring the health of people and
reporting it to relevant parties such as caretakers, doctors, emergency services, and healthcare
centers.

We have applied IoT in Robotics. Which robot may be applied in healthcare too as well as remote
sensing.

2.2 IoT in Healthcare

Research in related fields has shown that remote health monitoring is plausible, but perhaps more
important are the benefits it could provide in different contexts. Remote health monitoring could
be used to monitor non-critical patients at home rather than in hospital, reducing strain on hospital
resources such as doctors and beds. It could be used to provide better access to healthcare for those
living in rural areas, or to enable elderly people to live independently at home for longer.
Essentially, it can improve access to healthcare resources whilst reducing strain on healthcare
systems, and can give people better control over their own health at all times.
In fact, there are relatively few disadvantages of remote health monitoring. The most significant
disadvantages include the security risk that comes with having large amounts of sensitive data
stored in a single database, the potential need to regularly have an individual’s sensors recalibrated
to ensure that they’re monitoring accurately, and possible disconnections from healthcare services
if the patient was out of cellular range or their devices ran out of battery. Fortunately, these issues
are all largely solvable, and are already being addressed in the literature, as will be highlighted
throughout the remainder of this paper. As progress continues to be made to reduce the
disadvantages, IoT-based systems for remote health monitoring are becoming an increasingly
viable solution for the provision of healthcare in the near future.
As a result of the many benefits of remote health monitoring, many recent researchers have
identified the potential of the Internet of Things as a solution for healthcare. In several works, IoT
healthcare systems have been developed for specific purposes, including rehabilitation, diabetes
management, assisted ambient living (AAL) for elderly persons, and more. While these systems
have been designed for many different purposes, they are each strongly related through their use
of similar enabling technologies.
Rehabilitation after physical injury has been a topic of particular interest for several researchers.
In [7], a system has been developed that generates a rehabilitation plan tailored to an individual
based on their symptoms. The patient’s condition is compared with a database of previous patients’
symptoms, ailments, and treatments to achieve this. The system requires a doctor to manually enter
symptoms, and approve the recommended treatment; in 87.9% of cases, the doctor agreed
completely with the system, and no modifications were made to the treatment plan it proposed.
Meanwhile, in [21], mathematical models for the measurement of joint angles in physical
hydrotherapy systems are proposed, enabling the improvement of joint movement to be tracked
through therapy.
In [6], existing IoT technologies are evaluated for their usefulness in a system for monitoring
patients suffering from Parkinson’s Disease. Their work concludes that wearable sensors for
observing gait patterns, tremors, and general activity levels could be used in combination with
vision-based technologies (i.e. cameras) around the home to monitor progression of Parkinson’s
Disease. Furthermore, the authors suggest that machine learning could lead to enhanced treatment
plans in the future.
A practical system for the monitoring of blood-glucose levels in diabetic patients was proposed in
[5]. This system requires patients to manually take blood-glucose readings at set intervals. It
thereafter considers two kinds of blood-glucose abnormalities. The first is abnormal blood-glucose
levels and the second is a missed blood-glucose reading. The system then analyses the severity of
the abnormality, and decides who to notify; the patient themselves, caregivers and family
members, or emergency healthcare providers such as doctors. This system is practical and has been
proven realizable, though could be further improved by automating blood-glucose measurements.
A system aimed at detecting heart attacks was built using ready-made components and a custom
antenna in [22]. An ECG sensor is used to measure heart activity, which is processed by a
microcontroller. This information is forwarded via Bluetooth to the user’s smartphone, where the
ECG data is further processed and is presented in a user application. The authors identify that
developing heart attack prediction software would improve the system. Further improvements
could be made by measuring respiratory rate, which is known to aid in the prediction of heart
attack [23].
SPHERE [4] is a system under continuing development that utilizes wearable, environmental, and
vision-based (i.e. camera) sensors for general activity and health monitoring purposes. The aim of
this project it to allow older and chronically ill patients to live in the comfort of their own homes,
while their health continues to be monitored. This allows for intervention by caretakers and doctors
if any issues arise. Researchers working on the project have identified that machine learning would
be beneficial for learning about conditions and for making decisions about the patient’s healthcare.

2.3 Robotics
Today we are in the world of robotics. Knowingly or unknowingly, we have been using different
types of robots in our daily life. The aim of the thesis is to evaluate what students can learn about
the fields of engineering, mechatronics, and software development as they design, construct, and
program an autonomous robot. This will to provide a guideline to the students who are new in the
world of Arduino and help them to understand about embedded system, IR sensors,
microcontroller and how to make a robot using Arduino. [1]
Robotics is the branch of technology that deals with the design, construction, operation, and
application of robots. A machine capable of carrying out a complex series of actions automatically,
esp. one programmable by a computer’s is defined as a robot. The project is to develop a robot that
will move according to the code assigned but find a free space, navigating from any obstacle on
its way. This kind of obstacle is very useful in industries where automatic supervision is needed,
for example, in places where it might be risky for humans to be. This robot can also be made by
putting other sensors like light sensors or line sensors, ultrasonic sensors and ultrasound sensor
depending on the need. [2]
The workspace of the nursing robot would be usually confined to one room, either in a hospital or
in the user's home. This limitation is important since the constant presence of the disabled person
as a supervisor for the robot's activities greatly facilitates the design of our system and makes it
more economic compared with other similar mobile robots. [3]

Robot navigation problems can be generally classified as global or local, depending upon the
environment surrounding the robot. In global navigation, the environment surrounding the robot
is known and a path which avoids the obstacles is selected. In one example of the global navigation
techniques, graphical maps which contain information about the obstacles are used to determine a
desirable path. In local navigation, the environment surrounding the robot is unknown, or only
partially known, and sensors have to be used to detect the obstacles and a collision avoidance
system must be incorporated into the robot to avoid the obstacles. The artificial potential field
approach is one of the well-known techniques which has been developed for this purpose. Krogh,
for example, used a generalized potential field approach to obstacle avoidance. Kilm and Khosla
used instead harmonic potential functions for obstacle avoidance. On the other hand, Krogh and
Fang used the dynamic generation of sub goals using local feedback information. [4]
During the past few years, potential field methods (PFM) for obstacle avoidance have gained
increased popularity among researchers in the field of robots and mobile robots. The idea of
imaginary forces acting on a robot has been suggested by Andrews and Hogan and Khatib. In these
approaches’ obstacles exert repulsive forces onto the robot, while the target applies an attractive
force to the robot. The sum of all forces, the resultant force R, determines the subsequent direction
and speed of travel. One of the reasons for the popularity of this method is its simplicity and
elegance. [5]
This paper introduces histogram in-motion mapping (HIMM), a new method for real-time map
building with a mobile robot in motion. HIMM represents data in a two-dimensional array, called
a histogram grid, that is updated through rapid in motion sampling of onboard range sensors. Rapid
in-motion sampling results in a map representation that is well-suited to modeling inaccurate and
noisy range-sensor data, such as that produced by ultrasonic sensors, and requires minimal
computational overhead. Fast map-building allows the robot to immediately use the mapped
information in real-time obstacle-avoidance algorithms. The benefits of this integrated approach
are twofold: (1) quick, accurate mapping; and (2) safe navigation of the robot toward a given target.
[6]
Real-time obstacle avoidance is one of the key issues to successful application of mobile robot
systems. All mobile robots feature some kind of collision avoidance, ranging from primitive
algorithms that detect an obstacle and stop the robot short of it in order to avoid a collision,
through sophisticate algorithms, that enable the robot to detour obstacle. The later algorithms are
much more complex, since they involve not only the detection of an obstacle, but also some kind
of quantitative measurements concerning the obstacle’s dimensions. In our system the ultrasonic
sensors are continuously sampled while the robot is moving. If an obstacle produces an echo, the
corresponding cell contents are incremented. A solid, motionless obstacle eventually causes a
high count in the corresponding cells. Misreading, on the other hand, occur randomly, and do not
cause high count in any particular cell. These methods yield a more reliable obstacle
representation in spite of the ultrasonic sensor’s inaccuracies. [7]

2.4 Controlling the Robot

PWM of AVR microcontroller ATmega32A and speed controlling:


A method, which is extensively used in motor controller, is the pulse width modulation (PWM).
PWM switching technique is a best method to control the speed of DC motor as compared to any
other method. The duty cycle can be varied to get the variable output voltage.
The Pulse-Width-Modulation (PWM) in microcontroller is used to control duty cycle of DC motor
drive. PWM is an entirely different approach to controlling the speed of a DC motor. Power is
supplied to the motor in square wave of constant voltage but varying pulse-width or duty cycle.
Duty cycle refers to the percentage of one cycle during which duty cycle of a continuous train of
pulses. Since the frequency is held constant while the on-off time is varied, the duty cycle of PWM
is determined by the pulse width. Thus the power increases duty cycle in PWM. [15]
The expression of duty cycle is determined by:

Since PWM is a method of transmitting information on a series of pulses. The data that is being
transmitted is encoded on the width of these pulses to control the amount of power being sent to a
load. PWM is very handy tool, you can use it for power delivery, voltage regulation and
amplification and audio effects. In this document we will go through the basic understanding of
PWM, register configuration for different modes of PWM in atmega32. Analog voltage and current
can be used to control devices directly like speed of a DC Motor.
In a simple analog controller, a knob is connected to a variable resistor. As you turn the knob, the
resistance goes up or down. As that happens, the current flowing through the resistor increases or
decreases.
Analog circuits can get very hot; the power dissipated is proportional to the voltage across the
active elements multiplied by the current through them. Analog circuitry can also be sensitive to
noise. By controlling analog circuits digitally, system costs and power consumption can be
drastically reduced.
What's more, many microcontrollers already include on-chip PWM controllers, making
implementation easy, for an example atmega32 comes with 3 timers all can be configured to use
for PWM. [15]
NB: As intuitive and simple as analog control may seem, it is not always economically
attractive or otherwise practical

Frequency:
Using the switch example, the frequency would be how fast the switch was turned on and off. If
the frequency is too low (switch is changed slowly), then the motor will run at full speed when the
switch is on, and completely stop when the switch is off. But if the frequency is too high, the
switch may mechanically fail. In reality there is no switch, but rather an electronic board named
an H-Bridge that switches the motor on and off. So in electrical terms; if the frequency is too low,
the time constant of the motor has enough time to fully switch between on and off. Similarly the
upper limit on the frequency is the limit that the H-Bridge board will support, analogous to the
mechanical switch.
The maximum frequency of this H-Bridge Board is 500 kHz, but the recommended frequency
of the PWM for this board is 31.25 kHz.

Duty Cycle:
The duty cycle is analogous to how long the upper switch (switch1) remains on as a percentage of
the total switching time. In essence it is an average of how much power is being delivered to the
motor. Duty cycle gives the proportional speed control of the motor. Effectively, these duty cycles
would run the motor at 1/1, 1/1 and 1/1 of full speed respectively. [15]

Using PWM (Pulse Width Modulation) to control a device is a common practice in embedded
systems; for example, you can use it to control the light intensity of a LED or control the speed of
a DC motor.

In this article, we will explain how to get a PWM from the AVR Atmega32 and we shalll apply
the output PWM to a small DC motor to vary its speed.

In order to get the PWM from AVR, we need to use the timer/counter module of the AVR. This
module can be used in several modes to generate different PWM signals of different
characteristics; here we shall explain how to use the counter in the “Phase Correct PWM” mode.
Atmega32 has 3 timer/counters and we are using timer/counter 0.

In “Phase Correct PWM” mode, the counter counts repeatedly from 0 to its maximum value
(0xFF) and then back from the maximum to zero. The Output pin (OC0) is cleared when the
counter reaches a certain value called the “Compare value” while up counting, and is set when
the counter reaches the same value while down counting. This compare value is set by the software
in a register called OCR0 (Output Compare Register), while the value of the counter itself is
contained in a register called TCNT0.
When the value of TCNT0 matches the OCR0, it’s called a Compare Match. The below timing
diagram explains the operation.

You can also invert the output PWM by changing the values of bits (COM00 and COM01) in the
TCCR register. In that case, the Output pin (OC0) is set when compare match occurs while up
counting, and is cleared when compare match occurs while down counting, and the waveform will
be as shown in the timing diagram below. [16]

In this case, we can calculate the PWM duty cycle using this equation:
USART communication and Bluetooth sensing:
To enable Bluetooth communication the Bluetooth module is used widely. This module is
interfaced with the 8051 microcontrollers by using the UART and the data is transmitted in the
form of packets. The path for the data transmission and reception is formed by using the pins of
Tx and Rx of HC 05 Bluetooth module. The Tx pin of HC 05 Bluetooth module should be
connected to the Rx pin of the microcontroller. The Rx pin of HC 05 is connected to the pin of the
Tx pin of the 8051 microcontrollers. To pairing the module with our device the key pin of the
module is used.

The Bluetooth terminal applications should be present in our devices like mobile & PC to
communicate with the microcontroller with the help of Bluetooth. We have no. of apps which are
present on the internet for the different types of like OS, Android, Windows, Mac, and other
programming devices. The following circuit diagram shows the schematic diagram of the
Bluetooth module interfacing with the microcontroller. [17]
CHAPTER 3
Methodology and System Model

3.1 Methodology
The system methodology by which the robot moves is described by the following block diagram:

Fig 3.1: system methodology to move the robot

3.2 Algorithm
The algorithm by which the full project work is as follows:
1. If receive data == F then Forward going function works.
2. If receive data == B then Backward going function works.
3. If receive data == L then Left going function works.
4. If receive data == R then Right going function works.
5. If receive data == S then Stop function works.
6. By a loop the DHT11 sensor collects temperature and humidity values.
7. It shows the values in the oled display.
8. It connects with wifi router through NodeMCU ESP 8266
9. Then sends the data to the declared cloud server
10. Monitored the data and take actions.

3.3 Main circuit diagram


The main circuit diagram is as follows:

Figure 3.2: Main Circuit diagram


3.4 The flowchart of the remote sensing part and data sending:

Fig 3.3: The flowchart of the remote sensing part and data sending
3.5 Circuit diagram of the remote sensing ad data sending part:

Fig 3.4: Circuit diagram of the remote sensing ad data sending part
CHAPTER 4
Requirements analysis

Hardware and Software Requirements of the full project:


1. Arduino Micro Controller

2. HC-05 Bluetooth Sensor

3. Arduino IDE

4. C++ Programming Language

5. Wires

6. Power Sources

7. Breadboard Etc.

8. Robotic Chassis.

9. L298 Motor Driver.

10. Android Phone, An App, Glue Etc.

11. DHT 11 Sensor

12. Node MCU Or ESP 8266 Wi-Fi Microcontroller

13. I2c oled display

14. Thingspeak IoT Cloud platform

15. DC motor with gear

In this chapter we will discuss about the required particles of our project. The main parts that we
have used here are: node mcu ESP 8266, battery as power supply, Arduino coding, programming
language C,java,xml, various types of cables, dh11 temperature humidity sensor, 128*64 |2C
OLED display, Arduino software, Thingspeak IoT cloud platform, Arduino IDE etc.

The Descriptions of all the parts will be discussed in the following sections:

4.1 Arduino Micro Controller

I have used Arduino Uno R3 and node MCU here.

The board selection has two effects: it sets the parameters (e.g. CPU speed and baud rate) used
when compiling and uploading sketches; and sets and the file and fuse settings used by the burn
bootloader command. Some of the board definitions differ only in the latter, so even if you've been
uploading successfully with a particular selection you'll want to check it before burning the
bootloader. You can find a comparison table between the various boards here.

Arduino Software (IDE) includes the built in support for the boards in the following list, all based
on the AVR Core. The Boards Manager included in the standard installation allows to add support
for the growing number of new boards based on different cores like Arduino Due, Arduino Zero,
Edison, Galileo and so on.

• Arduino Yùn
An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7
PWM.

• Arduino/Genuino Uno
An ATmega328 running at 16 MHz with auto-reset, 6 Analog In, 14 Digital I/O and 6
PWM.

• Arduino Diecimila or Duemilanove w/ ATmega168


An ATmega168 running at 16 MHz with auto-reset.

• Arduino Nano w/ ATmega328


An ATmega328 running at 16 MHz with auto-reset. Has eight analog inputs.
• Arduino/Genuino Mega 2560
An ATmega2560 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15
PWM.

• Arduino Mega
An ATmega1280 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15
PWM.

• Arduino Mega ADK


An ATmega2560 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15
PWM.

• Arduino Leonardo
An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7
PWM.

• Arduino Micro
An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7
PWM.

• Arduino Esplora
An ATmega32u4 running at 16 MHz with auto-reset.

• Arduino Mini w/ ATmega328


An ATmega328 running at 16 MHz with auto-reset, 8 Analog In, 14 Digital I/O and 6
PWM.

• Arduino Ethernet
Equivalent to Arduino UNO with an Ethernet shield: An ATmega328 running at 16 MHz
with auto-reset, 6 Analog In, 14 Digital I/O and 6 PWM.

• Arduino Fio
An ATmega328 running at 8 MHz with auto-reset. Equivalent to Arduino Pro or Pro
Mini (3.3V, 8 MHz) w/ ATmega328, 6 Analog In, 14 Digital I/O and 6 PWM.
• Arduino BT w/ ATmega328
ATmega328 running at 16 MHz. The bootloader burned (4 KB) includes codes to
initialize the on-board bluetooth module, 6 Analog In, 14 Digital I/O and 6 PWM..

• LilyPad Arduino USB


An ATmega32u4 running at 8 MHz with auto-reset, 4 Analog In, 9 Digital I/O and 4
PWM.

• LilyPad Arduino
An ATmega168 or ATmega132 running at 8 MHz with auto-reset, 6 Analog In, 14
Digital I/O and 6 PWM.

• Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328


An ATmega328 running at 16 MHz with auto-reset. Equivalent to Arduino Duemilanove
or Nano w/ ATmega328; 6 Analog In, 14 Digital I/O and 6 PWM.

• Arduino NG or older w/ ATmega168


An ATmega168 running at 16 MHz without auto-reset. Compilation and upload is
equivalent to Arduino Diecimila or Duemilanove w/ ATmega168, but the bootloader
burned has a slower timeout (and blinks the pin 13 LED three times on reset); 6 Analog
In, 14 Digital I/O and 6 PWM.

• Arduino Robot Control


An ATmega328 running at 16 MHz with auto-reset.

• Arduino Robot Motor


An ATmega328 running at 16 MHz with auto-reset.

• Arduino Gemma
An ATtiny85 running at 8 MHz with auto-reset, 1 Analog In, 3 Digital I/O and 2 PWM.

4.2 HC-05 Bluetooth Sensor


Fig 4.1: Bluetooth module HC-05

4.3 Arduino IDE

I use here Arduino Integrated Development Environment - or Arduino Software (IDE) - contains
a text editor for writing code, a message area, a text console, a toolbar with buttons for common
functions and a series of menus. It connects to the Arduino and Genuino hardware to upload
programs and communicate with them.

Writing Sketches:

Programs written using Arduino Software (IDE) are called sketches. These sketches are written
in the text editor and are saved with the file extension .ino. The editor has features for
cutting/pasting and for searching/replacing text. The message area gives feedback while saving
and exporting and also displays errors. The console displays text output by the Arduino Software
(IDE), including complete error messages and other information. The bottom righthand corner of
the window displays the configured board and serial port. The toolbar buttons allow you to verify
and upload programs, create, open, and save sketches, and open the serial monitor.

NB: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with the extension .pde.
It is possible to open these files with version 1.0, you will be prompted to save the sketch with the
.ino extension on save.
Verify
Checks your code for errors compiling it.

Upload
Compiles your code and uploads it to the configured board. See uploading
below for details.

Note: If you are using an external programmer with your board, you can hold
down the "shift" key on your computer when using this icon. The text will
change to "Upload using Programmer"

New
Creates a new sketch.

Open
Presents a menu of all the sketches in your sketchbook. Clicking one will open
it within the current window overwriting its content.

Note: due to a bug in Java, this menu doesn't scroll; if you need to open a sketch
late in the list, use the File | Sketchbook menu instead.

Save
Saves your sketch.

Serial Monitor
Opens the serial monitor.

Additional commands are found within the five menus: File, Edit, Sketch, Tools, Help. The
menus are context sensitive, which means only those items relevant to the work currently being
carried out are available.
File

• New
Creates a new instance of the editor, with the bare minimum structure of a sketch already
in place.

• Open
Allows to load a sketch file browsing through the computer drives and folders.

• Open Recent
Provides a short list of the most recent sketches, ready to be opened.

• Sketchbook
Shows the current sketches within the sketchbook folder structure; clicking on any name
opens the corresponding sketch in a new editor instance.

• Examples
Any example provided by the Arduino Software (IDE) or library shows up in this menu
item. All the examples are structured in a tree that allows easy access by topic or library.

• Close
Closes the instance of the Arduino Software from which it is clicked.

• Save
Saves the sketch with the current name. If the file hasn't been named before, a name will
be provided in a "Save as.." window.

• Save as...
Allows to save the current sketch with a different name.

• Page Setup
It shows the Page Setup window for printing.

• Print
Sends the current sketch to the printer according to the settings defined in Page Setup.
• Preferences
Opens the Preferences window where some settings of the IDE may be customized, as
the language of the IDE interface.

• Quit
Closes all IDE windows. The same sketches open when Quit was chosen will be
automatically reopened the next time you start the IDE.

Edit

• Undo/Redo
Goes back of one or more steps you did while editing; when you go back, you may go
forward with Redo.

• Cut
Removes the selected text from the editor and places it into the clipboard.

• Copy
Duplicates the selected text in the editor and places it into the clipboard.

• Copy for Forum


Copies the code of your sketch to the clipboard in a form suitable for posting to the
forum, complete with syntax coloring.

• Copy as HTML
Copies the code of your sketch to the clipboard as HTML, suitable for embedding in web
pages.

• Paste
Puts the contents of the clipboard at the cursor position, in the editor.

• Select All
Selects and highlights the whole content of the editor.
• Comment/Uncomment
Puts or removes the // comment marker at the beginning of each selected line.

• Increase/Decrease Indent
Adds or subtracts a space at the beginning of each selected line, moving the text one
space on the right or eliminating a space at the beginning.

• Find
Opens the Find and Replace window where you can specify text to search inside the
current sketch according to several options.

• Find Next
Highlights the next occurrence - if any - of the string specified as the search item in the
Find window, relative to the cursor position.

• Find Previous
Highlights the previous occurrence - if any - of the string specified as the search item in
the Find window relative to the cursor position.

Sketch

• Verify/Compile
Checks your sketch for errors compiling it; it will report memory usage for code and
variables in the console area.

• Upload
Compiles and loads the binary file onto the configured board through the configured Port.

• Upload Using Programmer


This will overwrite the bootloader on the board; you will need to use Tools > Burn
Bootloader to restore it and be able to Upload to USB serial port again. However, it
allows you to use the full capacity of the Flash memory for your sketch. Please note that
this command will NOT burn the fuses. To do so a Tools -> Burn Bootloader command
must be executed.
• Export Compiled Binary
Saves a .hex file that may be kept as archive or sent to the board using other tools.

• Show Sketch Folder


Opens the current sketch folder.

• Include Library
Adds a library to your sketch by inserting #include statements at the start of your code.
For more details, see libraries below. Additionally, from this menu item you can access
the Library Manager and import new libraries from .zip files.

• Add File...
Adds a source file to the sketch (it will be copied from its current location). The new file
appears in a new tab in the sketch window. Files can be removed from the sketch using
the tab menu accessible clicking on the small triangle icon below the serial monitor one
on the right side o the toolbar.

Tools

• Auto Format
This formats your code nicely: i.e. indents it so that opening and closing curly braces line
up, and that the statements inside curly braces are indented more.

• Archive Sketch
Archives a copy of the current sketch in .zip format. The archive is placed in the same
directory as the sketch.

• Fix Encoding & Reload


Fixes possible discrepancies between the editor char map encoding and other operating
systems char maps.

• Serial Monitor
Opens the serial monitor window and initiates the exchange of data with any connected
board on the currently selected Port. This usually resets the board, if the board supports
Reset over serial port opening.
• Board
Select the board that you're using.

• Port
This menu contains all the serial devices (real or virtual) on your machine. It should
automatically refresh every time you open the top-level tools menu.

• Programmer
For selecting a harware programmer when programming a board or chip and not using
the onboard USB-serial connection. Normally you won't need this, but if you're burning a
bootloader to a new microcontroller, you will use this.

• Burn Bootloader
The items in this menu allow you to burn a bootloader onto the microcontroller on an
Arduino board. This is not required for normal use of an Arduino or Genuino board but is
useful if you purchase a new ATmega microcontroller (which normally come without a
bootloader). Ensure that you've selected the correct board from the Boards menu before
burning the bootloader on the target board. This command also set the right fuses.

Help

Here you find easy access to a number of documents that come with the Arduino Software
(IDE). You have access to Getting Started, Reference, this guide to the IDE and other documents
locally, without an internet connection. The documents are a local copy of the online ones and
may link back to our online website.

• Find in Reference
This is the only interactive function of the Help menu: it directly selects the relevant page
in the local copy of the Reference for the function or command under the cursor.
Sketchbook

The Arduino Software (IDE) uses the concept of a sketchbook: a standard place to store your
programs (or sketches). The sketches in your sketchbook can be opened from the File >
Sketchbook menu or from the Open button on the toolbar. The first time you run the Arduino
software, it will automatically create a directory for your sketchbook. You can view or change the
location of the sketchbook location from with the Preferences dialog.

Beginning with version 1.0, files are saved with a .ino file extension. Previous versions use the
.pde extension. You may still open .pde named files in version 1.0 and later, the software will
automatically rename the extension to .ino.

Tabs, Multiple Files, and Compilation

Allows you to manage sketches with more than one file (each of which appears in its own tab).
These can be normal Arduino code files (no visible extension), C files (.c extension), C++ files
(.cpp), or header files (.h).

Uploading

Before uploading your sketch, you need to select the correct items from the Tools > Board and
Tools > Port menus. The boards are described below. On the Mac, the serial port is probably
something like /dev/tty.usbmodem241 (for an Uno or Mega2560 or Leonardo) or
/dev/tty.usbserial-1B1 (for a Duemilanove or earlier USB board), or /dev/tty.USA19QW1b1P1.1
(for a serial board connected with a Keyspan USB-to-Serial adapter). On Windows, it's probably
COM1 or COM2 (for a serial board) or COM4, COM5, COM7, or higher (for a USB board) - to
find out, you look for USB serial device in the ports section of the Windows Device Manager. On
Linux, it should be /dev/ttyACMx , /dev/ttyUSBx or similar. Once you've selected the correct
serial port and board, press the upload button in the toolbar or select the Upload item from the File
menu. Current Arduino boards will reset automatically and begin the upload. With older boards
(pre-Diecimila) that lack auto-reset, you'll need to press the reset button on the board just before
starting the upload. On most boards, you'll see the RX and TX LEDs blink as the sketch is
uploaded. The Arduino Software (IDE) will display a message when the upload is complete, or
show an error.

When you upload a sketch, you're using the Arduino bootloader, a small program that has been
loaded on to the microcontroller on your board. It allows you to upload code without using any
additional hardware. The bootloader is active for a few seconds when the board resets; then it starts
whichever sketch was most recently uploaded to the microcontroller. The bootloader will blink the
on-board (pin 13) LED when it starts (i.e. when the board resets).

Libraries

Libraries provide extra functionality for use in sketches, e.g. working with hardware or
manipulating data. To use a library in a sketch, select it from the Sketch > Import Library menu.
This will insert one or more #include statements at the top of the sketch and compile the library
with your sketch. Because libraries are uploaded to the board with your sketch, they increase the
amount of space it takes up. If a sketch no longer needs a library, simply delete its #include
statements from the top of your code.

There is a list of libraries in the reference. Some libraries are included with the Arduino software.
Others can be downloaded from a variety of sources or through the Library Manager. Starting with
version 1.0.5 of the IDE, you do can import a library from a zip file and use it in an open sketch.

Third-Party Hardware

Support for third-party hardware can be added to the hardware directory of your sketchbook
directory. Platforms installed there may include board definitions (which appear in the board
menu), core libraries, bootloaders, and programmer definitions. To install, create the hardware
directory, then unzip the third-party platform into its own sub-directory. (Don't use "arduino" as
the sub-directory name or you'll override the built-in Arduino platform.) To uninstall, simply delete
its directory.

Serial Monitor

Displays serial data being sent from the Arduino or Genuino board (USB or serial board). To send
data to the board, enter text and click on the "send" button or press enter. Choose the baud rate
from the drop-down that matches the rate passed to Serial.begin in your sketch. Note that on
Windows, Mac or Linux, the Arduino or Genuino board will reset (rerun your sketch execution to
the beginning) when you connect with the serial monitor.

Preferences

Some preferences can be set in the preferences dialog (found under the Arduino menu on the Mac,
or File on Windows and Linux). The rest can be found in the preferences file, whose location is
shown in the preference dialog.

Language Support

Since version 1.0.1, the Arduino Software (IDE) has been translated into 30+ different languages.
By default, the IDE loads in the language selected by your operating system. (Note: on Windows
and possibly Linux, this is determined by the locale setting which controls currency and date
formats, not by the language the operating system is displayed in.)

If you would like to change the language manually, start the Arduino Software (IDE) and open the
Preferences window. Next to the Editor Language there is a dropdown menu of currently
supported languages. Select your preferred language from the menu, and restart the software to
use the selected language. If your operating system language is not supported, the Arduino
Software (IDE) will default to English.
You can return the software to its default setting of selecting its language based on your operating
system by selecting System Default from the Editor Language drop-down. This setting will take
effect when you restart the Arduino Software (IDE). Similarly, after changing your operating
system's settings, you must restart the Arduino Software (IDE) to update it to the new default
language.

4.4 C++ Programming Language


The full project code is written in C++ programing language.

4.5 Wires

various cables have been used here:

Fig 4.2: various cables

We have used those types of cables and Arduino data-cable.

Fig 4.3: Arduino programmer data cable


4.6 Power Sources

Li-ion rechargeable Battery:

Fig 4.4: used Li-ion rechargeable battery pack

We used power supply to charge our battery:

Power supply is a reference to a source of electrical power. A device or system that supplies
electrical or other types of energy to an output load or group of loads is called a power supply
unit or PSU. The term is most commonly applied to electrical energy supplies, less often to
mechanical ones, and rarely to others. Here in our application we need a 5v DC and 9-12v DC
power supply for all electronics involved in the project.

Power regulator IC: Microcontroller needs +5 DC volt to operate .This is very essential for
the microcontroller to keep the voltage rating constant. The microcontroller will burn out if the
voltage supplied to it is exceeding its voltage rating. So to protect AT mega 8 IC there must be
need a power supply 5 volt. Adaptor can supply Microcontroller +4 DC volt but this creates a
problem, because inside adaptor there is a transformer. If secondary side of the transformer
draws more current than voltage level reduces due to eddy current and hysteresis loss. Thus
Microcontroller cannot operate properly. So there need a power regulator IC which can gives
continuous 5 volt.

7805 is a voltage regulator integrated circuit. It is a member of 78xx series of fixed linear
voltage regulator ICs. The voltage source in a circuit may have fluctuations and would not give
the fixed voltage output. The voltage regulator IC maintains the output voltage at a constant
value. The xx in 78xx indicates the fixed output voltage it is designed to provide. 7805 provides

+5V regulated power supply. Capacitors of suitable values can be connected at input and output
pins depending upon the respective voltage levels. If there is any noise in input and output than
the capacitor reduces the noise. The value of capacitors is chosen according to noise. If noise is
high, the value of capacitors should be high and if noise is low than the value of capacitor
should be low. The circuit diagram 7804 IC are shown in figure and pin description is shown in
table

Fig 4.5: Power Regulator IC

This circuit can give +4V output at about 140 mA current, but it can be increased up to 1 A
when good cooler is added to 7804 regulator chip. The circuit has overload and terminal
protection. The capacitors must have enough high voltage rating to safely handle the input
voltage feed to circuit.

Circuit Diagram of Power Supply


Figure 4.6:
Circuit diagram of power supply

output is not obtained in projects using this IC, engineers or technicians need to test this IC
separately. A quick testing of this IC could save a lot of time in re-search labs and
manufacturing industries of communication instruments. Here’s a small and handy tester circuit
for the DTMF IC It can be assembled on a multipurpose PCB with an 18-pin IC base. One can
also test the IC on a simple breadboard.

For optimum working of telephone equipment, the DTMF receiver must be designed to
recognize a valid tone pair greater than 40 ms in duration and to accept successive digit tone-
pairs that are greater than 40 ms apart. However, for other applications like remote controls and
radio communications, the tone duration may differ due to noise considerations. Therefore, by
adding an extra resistor and steering diode the tone duration can be set to different values. The
circuit is configured in balanced-line mode. To reject common-mode noise signals, a balanced
differential amplifier input is used. The circuit also provides an excellent bridging interface
across a properly terminated telephone line. Transient protection may be achieved by splitting
the input resistors and inserting ZENER diodes (ZD1 and ZD2) to achieve voltage clamping.
This allows the transient energy to be dissipated in the resistors and diodes and limits the
maximum voltage that may appear at the inputs.
4.7 Breadboard
Breadboards were used to connect the wires.

4.8 Robotic Chassis.

We have also used robotic car frame, rechargeable battery as power supply, wheels, ball castor etc.

Fig 4.7: Robotic Chassis (2 Wheel) Model: ROB-00159

4.9 L298 Motor Driver


Fig 4.8: L298 motor driver

4.10 Android Phone, An App


A general Arduino Bluetooth app can be used. I read their sending data and made my code by
following their data and conditions. To run those apps, we need an Android phone. The app is not
a matter. Any app that can connects HC05 and able to send data can be used here.

4.11 DHT 11 Sensor


This DHT11 Temperature and Humidity Sensor features a calibrated digital signal output with the
temperature and humidity sensor complex. Its technology ensures the high reliability and excellent
long-term stability. A high-performance 8-bit microcontroller is connected. This sensor includes a
resistive element and a sense of wet NTC temperature measuring devices. It has excellent quality,
fast response, anti-interference ability and high cost performance advantages. Each DHT11 sensors
features extremely accurate calibration of humidity calibration chamber. The calibration
coefficients stored in the OTP program memory, internal sensors detect signals in the process, we
should call these calibration coefficients. The single-wire serial interface system is integrated to
become quick and easy. Small size, low power, signal transmission distance up to 20 meters,
making it a variety of applications and even the most demanding applications. The product is 4-
pin single row pin package. Convenient connection, special packages can be provided according
to users need.

Fig 4.9: DHT 11 Sensor

Specifications:
Supply Voltage: +5 V

Temperature range :0-50 °C error of ± 2 °C

Humidity :20-90% RH ± 5% RH error

Interface: Digital
Technical details:
Low cost

3 to 5V power and I/O

2.5mA max current use during conversion (while requesting data)

Good for 20-80% humidity readings with 5% accuracy

Good for 0-50°C temperature readings ±2°C accuracy

No more than 1 Hz sampling rate (once every second)

Body size 15.5mm x 12mm x 5.5mm

4 pins with 0.1" spacing

4.12 Node MCU Or ESP 8266 Wi-Fi Microcontroller


NodeMCU is an open source IoT platform. It includes firmware which runs on the ESP8266 Wi-
Fi SoC from Espressif Systems, and hardware which is based on the ESP-12 module. The term
"NodeMCU" by default refers to the firmware rather than the development kits. The firmware uses
the Lue scripting language. It is based on the eLua project, and built on the Espressif Non-OS SDK
for ESP8266. It uses many open source projects, such as lua-cjson. The ESP8266 is a low-cost Wi-
Fi chip with full TCP/IP stack and microcontroller capability produced by Shanghai-based Chinese
manufacturer, Espressif.

Fig 4.10: Node MCU Or ESP 8266 Wi-Fi Microcontroller


ESP8266 Feature:
Open-source

Interactive

Programmable

Low cost

Simple

Smart

WI-FI enabled

USB-TTL included

Plug & Play

Node MCU DEVKIT 1.0 Specification:


Developer: ESP8266 Open source Community
Type: Single-board microcontroller
Operating system: XTOS
CPU: ESP8266
Memory: 128kBytes
Storage: 4MBytes
Power By: USB
Power Voltage: 3v ,5v (used with 3.3v Regulator which inbuilt on-Board using Pin VIN)
Code: Arduino, Cpp
IDE Used: Arduino IDE
GPIO: 10

4.13 i2c oled display


If one have been diggin' our monochome OLEDs but need something bigger, this display will delight
him. These displays are 2.7" diagonal, and very readable due to the high contrast of an OLED display.
This display is made of 128x64 individual white OLED pixels, each one is turned on or off by the
controller chip. Because the display makes its own light, no backlight is required. This reduces the
power required to run the OLED and is why the display has such high contrast. The OLED itself
requires a 3.3V power supply and 3.3V logic levels for communication. We include a breadboard-
friendly level shifter that can convert 3V or 5V down to 3V, so it can be used with 5V-logic devices
like Arduino.

4.14 Thingspeak IoT Cloud platform


ThingSpeak is an IoT analytics platform service that allows you to aggregate, visualize and analyze
live data streams in the cloud. ThingSpeak provides instant visualizations of data posted by your
devices to ThingSpeak. With the ability to execute MATLAB code in ThingSpeak you can perform
online analysis and processing of the data as it comes in. ThingSpeak is often used for prototyping and
proof of concept IoT systems that require analytics.
IoT: Internet of Things (IoT) describes an emerging trend where a large number of embedded
devices (things) are connected to the Internet. These connected devices communicate with people
and other things and often provide sensor data to cloud storage and cloud computing resources
where the data is processed and analyzed to gain important insights. Cheap cloud computing power
and increased device connectivity is enabling this trend. IoT solutions are built for many vertical
applications such as environmental monitoring and control, health monitoring, vehicle fleet
monitoring, industrial monitoring and control, and home automation.

ThingSpeak Key Features:


ThingSpeak allows you to aggregate, visualize and analyze live data streams in the cloud. Some
of the key capabilities of ThingSpeak include the ability to:
Easily configure devices to send data to ThingSpeak using popular IoT protocols. Visualize
your sensor data in real-time.
Aggregate data on-demand from third-party sources.
Use the power of MATLAB to make sense of your IoT data.
Run your IoT analytics automatically based on schedules or events.
Prototype and build IoT systems without setting up servers or developing web software.
Automatically act on your data and communicate using third-party services like Twilio or
Twitter. To learn how you can collect, analyze and act on your IoT data with ThingSpeak, explore
the topics below:
• Collect: Send sensor data privately to the cloud.
• Analyze: Analyze and visualize your data with MATLAB.
• Act : Trigger a reaction.

4.15 DC motor with gear

Fig 4.11: DC gear motor

Description:

This gear motor wheel is perfect for your next robotics project. This gear motor is ideal for robotic
car or line-tracing robot. With plastic construction and colored in bright yellow, the DC gear motor
measures approx. 2.5 inch long, 0.85 inch wide and 0.7 inch thick . The wheel can be mounted on
either side and the gearmotor works well between 4V to 7V (recommended 6 Volts). At a ratio of
1:48 you can get some really good torque at 5 Volts [26,27].

Specification:
Operating voltage: 3V ~ 6V DC (recommended value 5V)
Maximum torque: 800g.cm
Speed without load: 90±10rpm
Reduction ratio: 1:48
No Load current: 190mA(max.250mA)
Stall Current: ~1A
Strong anti-interference on this motor keeps it safe around micro-controllers.

Fig 4.12: DC gear motor specification


CHAPTER 5
Results and Outcome

5.1 System final output found:


1 Can go a remote abstruse place where man cannot go.
2 Receive and transmit data from abstruse remote place.
3 Receive instructions and data via Bluetooth from android mobile phone.
4 Move the robot with received information.
5 Finally, the wireless Android-controlled robot worked successfully.
6 Suitable to integrate with other electrical devices.
7 Collects data and send the collected data to cloud database via Wi-Fi and internet.

5.2 Node mcu ESP 8266 results


There are two rechargeable batteries in our device each with 3.7v which are connected in series
with each other. The accumulated voltage of the two batteries is 7.4v. Batteries are connected with
node mcu via positive and negative portion. Next we have a dht11 sensor whose positive and
negative portion are connected to the positive and negative portion of node mcu respectively. The
data section of the sensor is connected to the D5 pin of the node mcu. The SDA and SCL of the
monitor are connected to the D2 and D1 pins of the node mcu respectively [24,25].

We have used:
1. C programming language
2. Dht11 temperature humidity sensor to sense the data from human body and send it to
microcontroller
3. We use node mcu ESP 8266 for sending the collected data in the cloud database “Thingspeak”
4. We have send data to our cell phone via Wifi.
5. It has been work successfully and our microcontroller sends the collected data to the cloud
database.

The device looks like:


Fig 5.1: Node MCU IoT part device

Output Result in Thinspeak Cloud Server:


The data is snt to the cloud database via Node MCU and Wi-Fi. Then the collected data is stored
in this link:
“ https://thingspeak.com/channels/739817 ”
The cloud home page with data is like following:
Fig 5.2: output in thingspeak 1

We can export the data as many format:

Fig 5.3: data export in multiple formats


Data export in excel and CSV:

Fig 5.4: Data export in excel and CSV

Data can be analyzed through MATLAB plugin:


Fig 5.5: MATLAB analyzer for cloud data

The graph and widget view of data in cloud database:

Fig 5.6: temperature graph


Fig 5.7: humidity graph

Fig 5.8: temperature widget


Fig 5.9: humidity widget

Fig 5.10: temperature data field


Fig 5.10: humidity data field

5.3 Final robots view

Final look of the robot (Side 1):


Fig 5.11: Final look of the robot (Side 1)

Final look of the robot (Side 2):


Fig 5.12: Final look of the robot (Side 2)
CHAPTER 6
Conclusion and Further Development

The robot worked successfully. It can move 360 degree by touching android phone screen. Goes
to abstruse place and collects data from there. Then it sends the data to cloud database. Then the
data can give report about the remote place. The collected data can be accessed from anywhere in
the globe. Data can be downloaded as several formats to [22,23].

It has some limitations too. It can do works only in the range of Wi-Fi and Bluetooth.

Further recommendation:
• In further development the distance range may be increased. Like if xbee is used then the
distance range may be 1 kilometer.
• The number of sensors may increase to get more data.
• Developing machine learning using the json, XML file for predicting human condition and
weather condition.
• It can be applied in various ways in medical sciences.
• This robot can be used to manage Alzheimer’s patients too [23].
References

[1] OBSTACLE-AVOIDING ROBOT: Lok Prasad Khanal, Patric Granholm. TURKU


UNIVERSITY OF APPLIED SCIENCES. [DECEMBER, 2013].

[2] Obstacle Avoidance Robotic Vehicle Using Ultrasonic Sensor, Android and Bluetooth
For Obstacle Detection: Vaghela Ankit, Patel Jigar, Vaghela Savan. [IRJET 2 February, 2016].

[3] Obstacle A voidance with Ultrasonic Sensor: JOHANN BORENSTEIN AND YORAM
KOREN. [IEEE JOURNAL OF ROBOTICS AND AUTOMATION 2 APRIL,1988].

[4] Adaptive Navigation of Mobile Robots with Obstacle Avoidance [August 1997].

[5] Potential Field Methods and Their Inherent Limitations for Mobile Robot [April 1991].

[6] Histogram in-motion mapping for mobile robot obstacle avoidance [November, 1991]

[7] Real-time Obstacle Avoidance for Fast Mobile Robots [September, 1989].

[8] C. F. Pasluosta, H. Gassner, J. Winkler, J. Klucken, B. M. Eskofier, "An emerging era in


the management of Parkinson’s disease: Wearable technologies and the Internet of Things",
IEEE J. Biomed. Health Inform., vol. 19, no. 6, pp. 1873-1881, Nov. 2015.

[9] Y. J. Fan, Y. H. Yin, L. D. Xu, Y. Zeng, F. Wu, "IoT-based smart rehabilitation system",
IEEE Trans. Ind. Informat., vol. 10, no. 2, pp. 1568-1577, May 2014.

[10] https://www.arduino.cc/en/Guide/Introduction, Visiting time: 05 September 2016 at


3:25:23 PM.
[11] The Arduino book by Jeremy Blum 2010, Visiting time: 01 September 2016 at 1:31:56
PM.

[12] www.jeremyblum.com , Visiting time: 09 September 2016 at 6:05:12 PM.

[13] https://www.techshopbd.com/product-categories/miscellaneous-98724/1343/sonar-
sensor-hc-sr04-techshop-bangladesh, Visiting time: 01 September 2016 at 7:16:34 PM.

[14] https://www.adafruit.com/products/81, Visiting time: 01 September 2016 at 12:45:34


PM.

[15] Wireless Control Of A Dc Motor (project index: 67, reg. No: f17/35762/2010) by
Kimemia Elvis Wanjagi, faculty of engineering, university of Nairobi.

[16] http://www.circuitstoday.com/dc-motor-speed-control-using-pwm-avr , Visiting time: 16


January 2018 at 12:45:34 PM.

[17] http://www.efxkits.com/blog/interfacing-hc-05-bluetooth-module-with-microcontroller/
Visiting time: 16 January 2018 at 12:55:34 PM.

[18] E. Perrier, Positive Disruption: Healthcare Ageing and Participation in the Age of
Technology, Sydney, NSW, Australia:The McKell Institute, 2015.

[19] P. Gope, T. Hwang, "BSN-care: A secure IoT-based modern healthcare system using
body sensor network", IEEE Sensors J., vol. 16, pp. 1368-1376, Mar. 2016.

[20] N. Zhu et al., "Bridging e-health and the Internet of Things: The SPHERE project", IEEE
Intell. Syst., vol. 30, no. 4, pp. 39-46, Jul./Aug. 2015.

[21] S.-H. Chang, R.-D. Chiang, S.-J. Wu, W.-T. Chang, "A context-aware interactive M-
health system for diabetics", IT Prof., vol. 18, no. 3, pp. 14-22, May/Jun. 2016.
[22] Akhund, T.M.N.U., Mahi, M.J.N., Tanvir, A.H., Mahmud, M. and Kaiser, M.S., 2018,
December. ADEPTNESS: Alzheimer’s Disease Patient Management System Using Pervasive
Sensors-Early Prototype and Preliminary Results. In International Conference on Brain
Informatics (pp. 413-422). Springer, Cham.

[23] Sarker, M.M., Shah, M.A.I., Akhund, T.M.N.U. and Uddin, M.S., 2016. An approach of
automated electronic voting management system for bangladesh using biometric fingerprint.
International Journal of Advanced Engineering Research and Science, 3(11).

[24] Sarker, M.M. and Akhund, T.M.N.U., The Roadmap to the Electronic Voting System
Development: A Literature Review. International Journal of Advanced Engineering, Management
and Science, 2(5).

[25] Satu, M.S., Howlader, K.C., Akhund, T.M.N.U., Haq, F., Quinn, J.M. and Moni, M.A.,
2018. Bioinformatics Approach to Identify Diseasome and Comorbidities Effect of Mitochondrial
Dysfunctions on the Progression of Neurological Disorders. bioRxiv, p.483065.

[26] Satu, M.S., Akhund, T.M.N.U. and Yousuf, M.A., Online Shopping Management System
with Customer Multi-Language Supported Query handling AIML Chatbot.

[27] Akhund, T.M.N.U., Sagar, I.A. and Sarker, M.M., Remote Temperature Sensing Line
Following Robot with Bluetooth Data Sending Capability.

View publication stats

You might also like