Arn 1
Arn 1
Internship Report On
IOT Development
2023-24
Submitted By
Arun Budni
2BA21EC020
This is to certify that the “Internship Report” work entitled “IOT Development” is
a bonafide work carried out by ARUN BUDNI
(2BA21EC020) submitted in partial fulfillment during the year 2022-2023. It is
certified that all corrections / suggestions indicated for Internal Assessment have
been incorporated in the report. The report has been approved as it satisfies the
academic requirements in respect of internship activity prescribed for Bachelor of
Engineering Degree in Electronics and Communication
Engineering.
1.
2.
3.
2
3
ACKNOWLEDGEMENT
Sincerely,
Mr. Arun Budni
(2BA21EC020)
Abstract
5
This abstract provides a concise overview of an immersive and multifaceted
internship experience conducted at Amsa Embedded Solutions, encompassing the
domains ‘IOT Development’. The internship aimed to equip students with a broad
spectrum of skills, fostering a holistic approach to problem-solving and
innovation.
This internship offered a dynamic exploration into the realm of Internet of Things
(IoT) development, centering on the versatile Arduino Uno microcontroller.
Through a combination of theoretical learning and hands-on experimentation, a
comprehensive understanding of the Arduino Uno's architecture, functionality,
and applications was acquired.
The internship journey commenced with an in-depth study of the Arduino Uno
microcontroller, unraveling its intricate workings and capabilities. Through guided
tutorials and practical exercises, proficiency in programming the Arduino Uno
using the Arduino Integrated Development Environment (IDE) was attained. This
included writing and deploying C programs to interface with various components
and sensors, thereby laying the groundwork for more complex projects.
A significant aspect of the internship involved the exploration and integration of
diverse sensors into Arduino-based projects. Temperature sensors, humidity
sensors, motion sensors, and others were employed to collect real-world data and
trigger appropriate responses. This hands-on experience not only familiarized with
sensor interfacing but also provided insights into data acquisition, processing, and
analysis within IoT applications.
Furthermore, the internship delved into the realm of wireless communication by
incorporating Bluetooth and WiFi modules into Arduino projects. Understanding
the protocols and mechanisms underlying wireless communication was crucial in
establishing reliable connections and enabling seamless data exchange between
devices. Practical projects involving remote monitoring, control systems, and data
logging were undertaken to demonstrate the practical implications of wireless IoT
solutions.
Throughout the internship, a series of engaging projects were undertaken to apply
the acquired knowledge and skills in practical scenarios. From developing a smart
weather station to designing a home automation system, each project presented
unique challenges and opportunities for innovation. These projects not only served
as a platform to showcase technical proficiency but also fostered creativity and
problem-solving skills.
6
Introduction
The rise in global competition has prompted organizations to devise strategies to
have a talented and innovative workforce to gain a competitive edge. Developing
an internship policy is an impactful strategy for creating future talent pool for the
industry.
7
Objective
7
Contents
Certificate………………………………………………………..02-03
Acknowledgement………………………………………………..04
Abstract……………………….………………………………..05
Introduction…………………………………………………….06
Objectives………………………………………………………07
Week-1…………………………………………………………09-12
• RLC Circuits…………………………………………….09
• Sensors…………………………………………………..09-12 o Photo
Sensor………………………………………09 o Temperature
Sensor……………………………….10 o DHT-11
Sensor……………………………………11 o Pressure
Sensor……………………………………11
• Buzzer…………………………………………………12
• Relay…………………………………………………………………….12
Week-2…………………………………………………………..13-15
• Arduino…………………………………………………………...…13-14
• Types Of Arduino…………………………………………...………14-15 o
Arduino Mega 2560 Rev3………………………………………..14 o
Arduino Zero…………………………………………………..…14 o
Arduino UNO…………………………………………………….15
Week-3…………………………………………………………..16-19
• Liquid Crystal Display………………………………………………….16
• Seven Segment Display……………………………………………...16-17
• Ultrasonic Sensor……………………………………………………18-19
Week-4……………………………………………………………20-22
• Internet of Things……………………………………………………….20
ESP8266 Wi-Fi
Module………………………………………………...21
• HC05 Bluetooth Module………………………………………………..22
Worked Programs……………………………………………...23-26
Project………………………………………………………..…27-30
Conclusion………………………………………………………….31
References………………………………………………………….32
8
Temperature Sensor
Figure 2. Photosensor
A temperature sensor can also be defined as a simple instrument that measures the
degree of coldness or hotness and then converts it into a readable unit. There are
specialized temperature sensors used to measure the temperature of the boreholes,
soil, huge concrete dams, or buildings.
Computers– within computers there are temperature sensors to ensure the system
does not overheat
Warming Electrical Radiators – NTC thermistors are used to control the heat on
electric radiators.
The DHT11 is a commonly used Temperature and humidity sensor. The sensor
comes with a dedicated NTC to measure temperature and an 8-bit microcontroller
to output the values of temperature and humidity as serial data. The sensor is also
factory calibrated and hence easy to interface with other microcontrollers.
The sensor can measure temperature from 0°C to 50°C and humidity from 20% to
90% with an accuracy of ±1°C and ±1%. So if you are looking to measure in this
range then this sensor might be the right choice for you.
14
Applications of DHT11
Pressure Sensor
Pressure sensors are used for control and monitoring in thousands of everyday
applications. Pressure sensors can also be used to indirectly measure other
variables such as fluid/gas flow, speed, water level, and altitude. Pressure sensors
can alternatively be called pressure transducers, pressure transmitters, pressure
senders, pressure indicators, piezometers and manometers, among other names.
11
Applications of pressure sensor
Submersible pressure sensors can be used to measure liquid pressures (up to 30
16
PSI) with either a voltage or current (4-20mA) output in liquid tanks. By
positioning these sensors at the bottom of a tank, you can get an accurate reading
of the contents in order to alert workers or the process control system when levels
in the tank fall below safe limits.
Buzzer:
Relay:
A Relay is a simple electromechanical switch. While we
use normal switches to close or open a circuit manually,
a Relay is also a switch that connects or disconnects two
circuits. But instead of a manual operation, a relay uses
an electrical signal to control an electromagnet, which
in turn connects or disconnects another circuit.
Arduino
Arduino IDE
19
from the Wiring project, which provides many common input and output
procedures. User-written code only requires two basic functions, for starting the
sketch and the main program loop, that are compiled and linked with a program
stub main() into an executable cyclic executive program with the GNU tool chain,
also included with the IDE distribution. The Arduino IDE employs the program
avrdude to convert the executable code into a text file in hexadecimal encoding
that is loaded into the Arduino board by a loader program in the board's firmware.
By default, avrdude is used as the uploading tool to flash the user code onto official
Arduino boards.
Types of Arduino:
2. Arduino Zero
• Reset Button
• On-board LED
• SCL/SDA pins (Serial Clock/ Serial Data pins)
• In short, it contains everything needed to support the microcontroller;
simply connect it to a computer with a USB cable or power it with a
ACto-DC adapter or battery to get started.
21
22
this process electroluminescence.
The actual colour of the visible light emitted by an LED, ranging from blue to red
to orange, is decided by the spectral wavelength of the emitted light which itself is
dependent upon the mixture of the various impurities added to the semiconductor
materials used to produce it.
DESCRIPTION
PIN
E Controls the left bottom LED
D Controls the bottom most LED
COM Connected to Ground/VCC
C Controls the right bottom LED
DP Controls the decimal point LED
B Controls the top right LED
A Controls the top most LED
COM Connected to Ground/VCC
F Controls the top left LED
G Controls the middle LED
23
Ultrasonic Sensor.
Ultrasonic sensors are electronic devices that calculate the target’s distance by
emission of ultrasonic sound waves and convert those waves into electrical signals.
The speed of emitted ultrasonic waves traveling speed is faster than the audible
sound.
There are mainly two essential elements which
are the transmitter and receiver. Using the
piezoelectric crystals, the transmitter generates
sound, and from there it travels to the target and
gets back to the receiver component.
To know the distance between the target and the
sensor, the sensor calculates the amount of time
required for sound emission to travel from 12. Ultrasonic Sensor
transmitter to receiver.
Working Principle.
Ultrasonic sensor working principle is either similar to sonar or radar which
evaluates the target/object attributes by understanding the received echoes from
sound/radio waves correspondingly. These sensors produce high-frequency sound
waves and analyze the echo which is received from the sensor. The sensors
measure the time interval between transmitted and received echoes so that the
distance to the target is known.
24
APPLICATION
ULTRASONIC ANEMOMETERS:
Anemometers are often used in weather stations because they efficiently detect
wind speed and direction. 2D anemometers can only measure the horizontal
component of wind speed and direction, while 3D anemometers can also measure
the vertical component of wind.
Ultrasonic anemometers can not only measure wind speed and direction, but also
temperature. This is because the ultrasonic velocity is affected by temperature
changes independently of pressure changes. Temperature is calculated by
measuring the ultrasonic velocity change.
TIDE GAUGE:
It is used to monitor sea levels and detects tides, storm surges, tsunamis, swells
and other coastal processes. Tide gauges can detect water levels in real-time using
ultrasonic sensors. Meters are often linked to an online database where records are
kept, and the system can trigger alarms if dangerous situations occur.
TANK LEVEL:
Measuring the liquid level in a tank is like a level meter. However, in this case, the
fluid may be freshwater, corrosive chemicals, or flammable fluids. In contrast to
optical sensors and float switches, ultrasonic sensors are not in contact with
liquids, which means less corrosion.
WEB-GUIDING SYSTEMS:
The purpose is to make sure the material is placed correctly. If the material is
misaligned, the system mechanically moves the material back into the machine
path.
19
26
27
13
28
ESP8266 WiFi Module:
Specifications:
• Tensilica L106 32-bit micro controller unit at 80 MHz (or overclocked to 160
MHz)
•32 kB instruction RAM
•80 kB user data RAM
• 6 kB ETS system data RAM
• Flash Memory 4Mb
• USB – micro-USB port for power, programming and debugging
• 13 GPIO pins
• 802.11 b/g/n, supporting WPA/WPA2
• Pin-compatible with Arduino UNO, Mega
• 32-bit hardware timer
• Serial WiFi transmission rate: 110-460800bps
29
HC-05 Bluetooth Module:
30
• HC-05 is a Bluetooth module which is designed for wireless communication.
31
This module can be used in a master or slave configuration.
• It has 6 pins
• 1. Key/EN: It is used to bring Bluetooth module in AT commands mode. If
Key/EN pin is set to high, then this module will work in command mode.
Otherwise by default it is in data mode.
• The default baud rate of HC-05 in command mode is 38400bps and 9600 in
data mode.
• 2. VCC: Connect 5 V or 3.3 V to this Pin.
• 3. GND: Ground Pin of module.
• 4. TXD: Transmit Serial data (wirelessly received data by Bluetooth module
transmitted out serially on TXD pin)
• 5. RXD: Receive data serially (received data will be transmitted wirelessly
by Bluetooth module).
• 6. State: It tells whether module is connected or not.
Specifications:
• Bluetooth version: 2.0 + EDR (Enhanced Data Rate)
• Frequency: 2.4 GHz ISM band
• Modulation: GFSK (Gaussian Frequency Shift Keying)
• Transmit power: Class 2 (up to 4 dBm)
• Sensitivity: -80 dBm typical
• Range: approximately 10 meters (or 33 feet) in open air
• Operating voltage: 3.3V to 5V DC Operating current: less than 50mA
• Standby current: less than 2.5mA
• Sleep current: less than 1mA
• Interface: UART(Universal Asynchronous Receiver/Transmitter)
Worked Program
1. Program to interface LED in the following fashion using serial monitor:
1.LED running Right 2.LED running Left 3.Blinking
void setup() {
Serial.begin(9600); for
(int i = 0; i< 8; i++) {
32
pinMode(ledPins[i], OUTPUT); digitalWrite(ledPins[i],
LOW);
}
}
void loop() { if
(Serial.available() > 0) { char
command = Serial.read();
switch (command) { case 'r':
mode = 0;
break; case
'l':
mode = 1;
break; case
'b': mode =
2; break;
default:
break;
}
}
switch (mode) { case 0: // led running
right for (int i = 0; i< 8; i++) {
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
} break; case 1: // led running
left for (int i = 7; i>= 0; i--) {
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
} break; case 2: // blinking
for (int i = 0; i< 8; i++) {
digitalWrite(ledPins[i], HIGH);
} delay(500); for (int
i = 0; i< 8; i++) {
digitalWrite(ledPins[i], LOW);
}
delay(500);
break; default:
break;
}
33
}
int Val[10][7]= {
{0,0,0,0,0,0,1},
{1,0,0,1,1,1,1},
{0,0,1,0,0,1,0},
{0,0,0,0,1,1,0},
{1,0,0,1,1,0,0},
{0,1,0,0,1,0,0},
{0,1,0,0,0,0,0},
{0,0,0,1,1,1,1},
{0,0,0,0,0,0,0},
{0,0,0,1,1,0,0},
}; int count = 0 ; int count2 = 0 ;
int DS1 = 9 , DS2= 10; void
setup() { for(int pin = 2 ; pin <=
8 ; pin++)
{
pinMode(pin , OUTPUT);
} for(int pin = 2 ; pin <= 8 ;
pin++)
{ digitalWrite(pin ,
HIGH);
}
pinMode(DS1 , OUTPUT);
pinMode(DS2 , OUTPUT);
digitalWrite(DS1 , HIGH);
digitalWrite(DS1 , HIGH);
} void loop() { for(count2 = 0 ; count2 <
10 ; count2++)
{ for(count = 0 ; count < 10 ;
count++) {
for(int frame = 0 ; frame < 25 ; frame++)
{
digitalWrite( DS1 ,LOW);
digitalWrite(DS2 , HIGH);
Numwrite(count);
delay(10); digitalWrite(
DS1 ,HIGH);
34
digitalWrite(DS2 , LOW);
Numwrite(count2);
delay(10);
}
}
} } void Numwrite(int
Number)
{ int pin = 2; for( int i =
0 ; i < 7 ; i++)
{ digitalWrite(pin ,
Val[Number][i]); pin++;
}
}
PROJECT
Components Used:
Arduino Uno Kit
DHT11 Sensor
Moisture sensor
Pump
Wires
35
The DHT11 sensor is a basic digital temperature and humidity sensor. It's
commonly used in electronics projects and is relatively inexpensive. It provides
accurate temperature and humidity readings and is easy to interface with
microcontrollers like Arduino.
The DHT11 sensor works by using a digital signal to measure temperature and
humidity. It contains a humidity-sensitive component and a temperaturesensitive
component. When the sensor is powered, it measures the resistance changes in
these components in response to changes in temperature and humidity. These
changes in resistance are then converted into digital signals, which can be read by
a microcontroller. By interpreting these digital signals, the microcontroller can
determine the temperature and humidity readings.
Applications of Dht11
36
37
38
Source code:
#include<LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
#define MOISTUREPIN A0
#define PUMP 8
void setup()
{
pinMode(PUMP , OUTPUT);
digitalWrite(PUMP , LOW);
lcd.begin(16 , 2); lcd.setCursor(0,0);
lcd.print("WELCOME");
delay(1000);
pinMode(MOISTUREPIN, INPUT);
}
lcd.clear(); lcd.setCursor(0,0);
lcd.print("Moisture:"+String(Moisture_level)+"%");
delay(1000); if(Moisture_level < 20)
{
digitalWrite(PUMP , HIGH);
lcd.setCursor(0,2);
lcd.print("FIELD DRY");
}
else if(Moisture_level > 80)
{ digitalWrite(PUMP ,
LOW); lcd.setCursor(0,2);
lcd.print("FIELD WET");
}
}
39
Figure 17.Project Output
CONCLUSION
In conclusion, this internship experience in IoT development, centered on the
Arduino Uno microcontroller, has been immensely enriching and transformative.
Through a combination of theoretical learning, hands-on experimentation, and
practical project implementation, a solid foundation in IoT technologies has been
established. Mastery of the Arduino Uno, proficiency in sensor interfacing, and
expertise in wireless communication protocols have been acquired, paving the way
for future endeavours in this dynamic field. This internship has not only honed
40
technical skills but also fostered creativity, problem-solving abilities, and a deeper
appreciation for the potential of IoT solutions to address real-world challenges.
With this newfound knowledge and experience, equipped with the confidence to
innovate and contribute meaningfully to the ever-evolving landscape of IoT
development.
41
REFERENCES
• https://amsaembedded.com/
• https://en.wikipedia.org/wiki/RLC_circuit
• https://en.wikipedia.org/wiki/Sensor
• https://docs.arduino.cc/hardware/uno-rev3/
• https://projecthub.arduino.cc/shreyas_arbatti/how-to-interface-16x2-lcd
• https://www.sciencedirect.com/topics/materials-science/ultrasonic-sensor
42