0% found this document useful (0 votes)
400 views34 pages

Aishwarya Internship Report

The document discusses embedded systems and Internet of Things (IoT). It provides an introduction to embedded systems, describing their basic components like processors, memory, and I/O interfaces. Key characteristics of embedded systems are also outlined, such as being application-specific, resource-constrained, and power-efficient. Common applications of embedded systems include consumer electronics, industrial automation, and automotive systems. The document then discusses tasks performed during an internship focusing on embedded systems and IoT.

Uploaded by

Tarun Varkala
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)
400 views34 pages

Aishwarya Internship Report

The document discusses embedded systems and Internet of Things (IoT). It provides an introduction to embedded systems, describing their basic components like processors, memory, and I/O interfaces. Key characteristics of embedded systems are also outlined, such as being application-specific, resource-constrained, and power-efficient. Common applications of embedded systems include consumer electronics, industrial automation, and automotive systems. The document then discusses tasks performed during an internship focusing on embedded systems and IoT.

Uploaded by

Tarun Varkala
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/ 34

Department of

Electronics and Telecommunication


Engineering

An Internship Report on

IOT AND EMBEDDED SYSTEMS

Submitted in partial fulfillment of the requirements for the award of the degree of

Bachelor of Engineering
in
Electrical and Electronics Engineering

By

Aishwarya S K

1MS19ET006

M S RAMAIAH INSTITUTE OF TECHNOLOGY


(Autonomous Institute, Affiliated To VTU)
Bengaluru – 560054

MAY 2023

i
DECLARATION

I, hereby, declare that the entire work embodied in this report has been carried out by me at

Techno Fly Solutions, Vijayanagara, Bangalore. This report has not been submitted in part

or full for the award of any diploma or degree of this or any other University.

Aishwarya S Kalyanshetti 1MS19ET006

i
AKNOWLEDGEMENT

The feelings of satisfaction and pleasure that accompany the successful completion of a project
would be incomplete if the individuals who made it possible were not mentioned. For their
assistance, I am grateful to Mr Nawaz, CEO, Technofly Solutions.
In addition, I owe a huge debt of gratitude to Mr Someshwar, without whose continual advice,
support, and encouragement this course would not have been possible.
I truly express my gratitude to them as well as Technofly solutions for providing us with an
excellent environment and necessary tools to finish my summer training.
I would also like to thank our principal Dr. N.V.R NAIDU, MSRIT, Bangalore for his support.
I would also like to thank our HoD Dr.B K SUJATHA, ETE, MSRIT, Bangalore for her
support also extending my gratitude to Mrs. AKSHATA S K , Internship coordinator for her
support.
I hope that I can build upon the experience and knowledge that I have gained and make
valuable contribution towards industry coming in future.
Finally, I have extended our gratefulness to one and all who are directly or indirectly involved
in the successful completion of the course.

Aishwarya S Kalyanshetti

1MS19ET006

ii
ABOUT THE ORGANIZATION

Technofly Solutions is a leading electronics product design, development and services company.
The professionals with industrial experience in embedded technology, real time software, process
control and industrial electronics held the company.
The company is the pioneers in design and development of Single Board Computers, Compilers
for micro-controllers within India. Talented professional in the field of embedded hardware,
software design and development toil to reach its excellence.
Technofly Solutions & Consulting was found in year 2017 by a team with 14+ years of xperience
in embedded systems domain.Technofly Solutions focuses globally on automotive embedded
technologies and VLSI Design, Corporate Training & Consulting. Till now we have delivered
more than 15+ Corporate Trainings for companies working in Embedded Automotive
Technologies in India. Also involved in the Development of OBD2 (On Board Diagnose Product
for Passenger cars) for clients in India.

Technical Expertise:
➔ Expertise in Embedded software development
➔ Automotive domain expertise
➔ Expertise in ASIC VLSI
➔ Process Quality
➔ Technologies
➔ Management

iii
COMPANY PROFILE

TechnoFly was formed by professionals with formal qualifications and industrial experience in
the fields of embedded systems, real-time software, process control and industrial electronics.
The company is professionally managed and supported by qualified experienced specialists and
consultants with experience in embedded systems – including hardware and software.

Initially, the company Developed system software tools; these include C Compilers for
microcontrollers and other supporting tools such as assembler, linker, simulator and Integrated
Development Environment. Later Single Board Computers (SBCs) – were developed and are still
manufactured. Such hardware boards support a broad range of processors – including 8 bit, 16
and 32 bit processor.

Since 2015, company also started offering design and development services. This includes a
complete spectrum of activities in product development life cycle that is idea generation,
requirement gathering to prototype making, testing and manufacturing. Company has so far
provided product design services for various sectors which include the Industrial automation,
Instrumentation, Automotive, Consumer and Defense sector.

Services of technofly include embedded software engineering services, developing client / server
applications to run on Windows / Linux , develop / test Internet based applications, test suite
development for applications and network protocols, developing Networking tools for the
enterprises, Verification & Validation of Enterprise applications, Software maintenance of
enterprise applications.

iv
INTERNSHIP CERTIFICATE

v
TABLE OF CONTENTS

DECLARATION i
ACKNOWLEDGMENT ii
COMPANY PROFILE iv
INTERNSHIP CERTIFICATE v
CHAPTER 1:
1.1 INTRODUCTION – EMBEDDED SYSTEMS 1
1.2 CHARACTERISTICS OF EMBEDDED SYSTEMS 3

1.3 INTERNET OF THINGS 4

CHAPTER 2:
2.1 ARDUINO UNO 5
2.2 LED BLINKING 6
2.3 LIQUID CRYSTAL DISPLAY 7
2.4 DC MOTOR 8
2.5 SENSORS 9
2.6 UART 13
2.7 RADIO FREQUENCY IDENTIFICATION 14
CHAPTER 3:
TASKS PERFORMED _ 15
CHAPTER 4:
CONCLUSION AND FUTURE IMPROVEMENT 25
CHAPTER 5:
OUTCOMES 26
REFERENCES 27

vi
CHAPTER 1
INTRODUCTION

1.1 Embedded systems:


An embedded system is a computer system mainly designed to perform several tasks like to access,
process, store and control the data in various electronics-based systems.

Embedded systems are a combination of hardware and software where software is usually known as
firmware that is embedded into the hardware.

Fig1.1: Basic block diagram of Embedded System

1.1.1 Embedded System Hardware:

As with any electronic system, an embedded system requires a hardware platform on which it
performs the operation. Embedded system hardware is built with a microprocessor or microcontroller.
The embedded system hardware has elements like input output (I/O) interfaces, user interface,
memory and the display. Usually, an embedded system consists of:

● Power Supply
● Processor
● Memory
● Timers
● Serial communication ports
● System application specific circuits

1
1.1.2 Embedded System Software:

The embedded system software is written to perform a specific function. It is typically written in a
high level format and then compiled down to provide code that can be lodged within a non-volatile
memory within the hardware. An embedded system software is designed to keep in view of the three
limits:

● Availability of system memory


● Availability of processor’s speed
● When the system runs continuously, there is a need to limit power dissipation for events like
stop, run and wake up.

1.1.3 Real Time Operating System

A system is said to be real time, if it is essential to complete its work and deliver its service on time.
Real time operating system manages the application software and affords a mechanism to let the
processor run. The Real Time operating system is responsible for handling the hardware resources of
a computer and host applications which run on the computer.

Fig 1.2: Embedded System

2
1.2 Characteristics of Embedded Systems

1. Application-specific functionality – specialized for one or one class of applications.

2. Deadline constrained operation – system may have to perform its function(s) within specific time
periods to achieve successful results.

3. Resource challenged – systems typically are configured with a modest set of resources to meet the
performance objectives.

4. Power efficient – many systems are battery-powered and must conserve power to maximize the
usable life of the system.

5. Form factor – many systems are light weight and low volume to be used as components in host
systems.

6. Manufacturable – usually small and inexpensive to manufacture based on the size and low
complexity of the hardware.

1.2.1 Applications of Embedded Systems

Embedded systems find numerous applications in various fields such as digital electronics,
telecommunications, computing network, smart cards, satellite systems, military defense system
equipment, research system equipment, and so on.

Fig 1.3 Applications of embedded system

3
1.3 INTERNET OF THINGS

IoT stands for Internet of Things, the technology that helps us interact with things around us in
various ways. The things can be systems, machines or static objects. Which as used for machine-to-
machine communication for mere monitoring and control applications, IoT as used for wide variety
of applications. The applications of IoT are enormous viz. interacting with text books using QR code
printed on it, smart meters, home router, TV, light control, A/C control, finding where which movie
is running using NFC. IoT has covered all the industries right from energy, manufacturing, healthcare,
telecom and transportation. Though there are numerous advantages of IoT for the user, there are many
security aspects which need to be taken care by the user of IoT enabled devices.

Fig 1.4: Rise of IoT

There are three main aspects such as connectivity, remote management and security. The concept of
clouds and mobile app has pioneered the existence of IoTIt is a concept that not only has the potential
to influence how we live but also how we work. IoT support for nearly endless openings and
connections to take place like basically connecting any device with an on and off switch to the Internet
that includes everything from cell phones, coffee makers, washing machines, headphones, lamps,
wearable devices and almost anything else you can think of.

4
CHAPTER 2
INTRODUCTION TO BASIC COMPONENTS

2.1 Arduino Uno

Fig 2.1: Arduino uno

Arduino uno is an open source microcontroller board based on the microchip ATmega328P
microcontroller and developed by Arduino.cc. The board is equipped with sets of digital and
analog input/output pins that can may be interfaced to various expansion boards and other
circuits.
The board has 14 digital pins, 6 analog pins and programmable with the Arduino IDE
(Integrated Development Environment) via type B USB cable. It can be powered by the USB
cable or by an external 9 volt battery. It accepts voltages between 7 and 20 volts. It is also
similar to the Arduino Nano and Leonardo.

Technical Specifications:
 Operating Voltage : 5Volts
 Input Voltage : 7 to 20 Volts
 Digital I/O pins : 14 (of which 6 provide PWM output)
 Analog Input pins : 6
 DC Current per I/O pin: 20mA
 DC Current for 3.3V pin : 50mA
 Flash Memory : 32 KB of which 0.5 KB used bootloader
 SRAM : 2KB
 EEPROM: 1KB

5
 Clock speed : 16 MHz
 Length: 68.6 mm
 Width: 53.4mm
 Weight: 25g
General pin functions:

LED: There is a built-in LED driven by digital pin 13. When the pin is high value, the LED is
on, when the pin is low, it's off.

VIN: The input voltage to the Arduino/Genuino board when it's using an external power source
(as opposed to 5 volts from the USB connection or other regulated power source). You can
supply voltage through this pin, or, if supplying voltage via the power jack, access it through
this pin.

5V: This pin outputs a regulated 5V from the regulator on the board. The board can be supplied
with power either from the DC power jack (7 - 20V), the USB connector (5V), or the VIN pin
of the board (7-20V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and
can damage the board.

3V3: A 3.3volt supply generated by the on-board regulator. Maximum current draw is 50 mA.

GND: Ground pins.

IOREF: This pin on the Arduino/Genuino board provides the voltage reference with which the
microcontroller operates. A properly configured shield can read the IOREF pin voltage and
select the appropriate power source or enable voltage translators on the outputs to work with
the 5V or 3.3V.

Reset: Typically used to add a reset button to shields which block the one on the board.

2.2 LED Blinking:


A light-emitting diode (LED) is a two-lead semiconductor light source device used for
indicating the output status by making it ON or OFF
An LED is nothing but a p–n junction diode, which emits light when provided with power
supply. When voltage is applied to the leads of an LED, it forces the electrons to recombine
with electron holes within the device, emitting energy in the form of photons. This effect of
emitting energy in form of photons is called electroluminescence.
The colour of the light is determined by the energy band gap of the semiconductor
corresponding to the energy of the photon.

6
Fig 2.2 LED

Code snippet for led interfacing with Arduino

void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

2.3 Liquid Crystal Display (LCD):


LCDs (Liquid Crystal Displays) are used for displaying status or parameters in embedded
systems.
LCD 16x2 is 16 pin device which has 8 data pins (D0-D7) and 3 control pins (RS, RW, EN).
The remaining 5 pins are for supply and backlight for the LCD.

Fig 2.3.1 LCD Display

The control pins help us configure the LCD in command mode or data mode. They also help
configure read mode or write mode and also when to read or write.

7
LCD 16x2 can be used in 4-bit mode or 8-bit mode depending on the requirement of the
application. In order to use it we need to send certain commands to the LCD in command mode
and once the LCD is configured according to our need, we can send the required data in data
mode.

Fig 2.3.2 Tabular Column of LCD

Since we are using LCD in 4-bit mode, we require only 4 Data pins.
LCD Data pins D4-D7 are connected to respective pins.
LCD control pins RS, RW and EN are connected to their respective pins.

2.4 DC Motor
DC motor converts electrical energy in the form of Direct Current into mechanical energy.
In case of a motor, the mechanical energy produced is in the form of rotational movement of
the motor shaft .The direction of rotation of the shaft of the motor can be reversed by reversing
the direction of Direct Current through the motor.
The motor can be rotated at a certain speed by applying a fixed voltage to it. If the voltage
varies, the speed of the motor varies.
Thus, the DC motor speed can be controlled by applying varying DC voltage; whereas the
direction of rotation of the motor can be changed by reversing the direction of current through
it.

Fig 2.4:DC Motor

8
Code for interfacing with arduino:
if(Serial.available()>0)
{
char ch=Serial.read();
Serial.print("ch=");
Serial.println(ch);
if(ch=='A')
{
digitalWrite(m1,HIGH);
digitalWrite(m2,LOW);
}
if(ch=='B')
{
digitalWrite(m1,LOW);
digitalWrite(m2,HIGH);
}
if(ch=='S')
{
digitalWrite(m1,LOW);
digitalWrite(m2,LOW);
}
}

2.5 Sensors
A sensor is a device, module, or subsystem whose purpose is to detect events or changes in its
environment and send the information to other electronics, frequently a computer processor.

2.5.1 Types of sensors


1. Object detector-
Object detection is a form of proximity sensing to determine if an object or material is present
(arrives) or absent (disappears).

Fig 2.5.1: Object sensor

if (digitalRead(IR)==0)
{
Serial.print("Object detect");
delay(1000);
digitalWrite(Buzzer,HIGH);
delay(1000);

9
}
else{
Serial.print("No Object");
digitalWrite(Buzzer,LOW);
delay(1000);
}
}

2. Flame/Fire detector-
A flame detector is a sensor designed to detect and respond to the presence of flame or fire,
allowing flame detection. Responses to a detected flame depend on the installation but can
include sounding an alarm, deactivating a fuel line (such as a propane or a natural gas line),
and activating a fire suppression system.

Fig 2.5.2:Fire sensor


Code for interfacing with Arduino:

if (digitalRead(fire)==0)
{
Serial.print("FIREE!");
delay(1000);
digitalWrite(Buzzer,HIGH);
delay(1000);

}
else{
Serial.print("No Fire");
digitalWrite(Buzzer,LOW);
delay(1000);
}

3. Temperature detector-
A temperature sensor is a device, usually an RTD (resistance temperature detector) or a
thermocouple, that collects the data about temperature from a particular source and converts
the data into understandable form for a device or an observer and so on.

10
Fig 2.5.3:Temperature sensor
4. Gas sensor-
A gas sensor is an electronic device that is designed to detect and measure the presence and
concentration of various gases in the surrounding environment. Gas sensors are commonly
used in industrial and commercial settings to monitor and control the quality of air, and they
are also used in homes and vehicles to detect the presence of harmful gases such as carbon
monoxide.
There are several types of gas sensors, including electrochemical sensors, catalytic sensors,
infrared sensors, and semiconductor sensors. Each type of sensor works by detecting a different
property of the gas being measured, such as its chemical composition, temperature, or light
absorption.
Gas sensors are typically integrated into larger systems, such as air quality monitoring systems,
gas detection systems, and gas leak detection systems. They are also commonly used in
research and development applications, such as in the analysis of gas emissions from industrial
processes or in the study of atmospheric gases.

Fig 2.5.4 Gas sensor


Code for interfacing with Arduino:
int gas_val=analogRead(gas);
if (gas_val>900)
{
Serial.print("more gas");
delay(1000);
digitalWrite(Buzzer,HIGH);
delay(1000);

11
else{
Serial.print("less gas");
digitalWrite(Buzzer,LOW);
delay(1000); }
}
4. Moisture sensor-
A moisture sensor, also known as a humidity sensor, is a device that measures the level of
moisture or humidity in the surrounding environment. Moisture sensors are commonly used in
a variety of applications, including agriculture, construction, HVAC systems, and food
processing.
Moisture sensors are typically integrated into larger systems, such as irrigation systems or
HVAC systems, to control the level of moisture in the air or soil. They can also be used in
manufacturing processes to ensure the quality of products, such as in the production of
electronics or pharmaceuticals.
Overall, moisture sensors are important tools for monitoring and controlling the level of
moisture in various environments and processes, which can help to improve efficiency, reduce
waste, and ensure the safety and quality of products.

Fig 2.5.5. Moisture sensor

Code to interface with Arduino:


int moisture_val=analogRead(moisture);
Serial.print(moisture_val);
if(moisture_val<500)
{ digitalWrite(relay,HIGH);
delay(1000);
digitalWrite(relay,LOW);
delay(1000);
}
else
{
digitalWrite(relay,LOW);

delay(1000);

12
}
}

2.6 UART
UART stands for Universal Asynchronous Receiver/Transmitter. A UART’s main purpose is
to transmit and receive serial data.

2.6.1 Introduction to UART Communication


In UART communication, two UARTs communicate directly with each other. The transmitting
UART converts parallel data from a controlling device like a CPU into serial form, transmits
it in serial to the receiving UART, which then converts the serial data back into parallel data
for the receiving device. Only two wires are needed to transmit databetween two UARTs. Data
flows from the Tx pin of the transmitting UART to the Rx pin of the receiving UART:

Fig 2.6: Basic UART Communication

UARTs transmit data asynchronously, which means there is no clock signal to synchronize the
output of bits from the transmitting UART to the sampling of bits by the receiving UART.
Instead of a clock signal, the transmitting UART adds start and stop bits to the data packet
being transferred. These bits define the beginning and end of the data packet so the receiving
UART knows when to start reading the bits.
When the receiving UART detects a start bit, it starts to read the incoming bits at a
specific frequency known as the baud rate. Baud rate is a measure of the speed of data
transfer, expressed in bits per second (bps). Both UARTs must operate at about the same baud
rate. The baud rate between the transmitting and receiving UARTs can only differ by about
10% before the timing of bits gets too far off.

13
2.7 Radio-frequency identification
A RFID system is made up of two parts: a tag or label and a reader. RFID tags or labels are
embedded with a transmitter and a receiver. The RFID components on the tags have two parts:
a microchip that stores and processes information, and an antenna to receive and transmit a
signal. The tag contains the specific serial number for one specific object.

Fig 2.7: RFID


Code to interface with Arduino:
if(Serial.available()>0)
{
card=Serial.readString();
Serial.print("Card value= ");
Serial.println(card);
delay(1000);
if(card=="0007239343")
{
Serial.println("name1 matched");
delay(1000);
}
else
{
Serial.println("inval card");
}
}
}

14
CHAPTER 3
TASKS PERFORMED

As a part of Internship many tasks were performed starting from basic led blinking, interfacing
with sensors to developing embedded and IoT based projects with the basic knowledge.
Here are list of projects completed as a part of internship course:
o Coin based Mobile Charger
o Automatic Street light control
o Irrigation system using IoT
o Mobile controlled robot
o Mobile controlled home automation
o Industrial monitoring system
o Attendance system using RFID
o Metro train system
o Automatic traffic light
o Vehicle monitoring system

3.1 Coin-based Mobile Charger:

Flowchart:

Code:
int coin=2;

15
int relay=3;
void setup()
{
// put your setup code here, to run once:
pinMode(coin,INPUT);
pinMode(relay,OUTPUT);
digitalWrite(relay,LOW);
Serial.begin(9600);
}

void loop()
{
// put your main code here, to run repeatedly:
if(digitalRead(coin)==0)
{
Serial.print("Coin detected");
for(int i=10;i>0;i--)
{
digitalWrite(relay,HIGH);
delay(1000);
Serial.println(i);
} //i is timer
}
digitalWrite(relay,LOW);
}

3.2 Automatic Street light control:

Flowchart:

Code:
int resistance=A0;
int led=2;
int vehicle=3;

16
int ldr_val;
void setup()
{
// put your setup code here, to run once:
Serial.begin(9600);
Serial.print("Automatic street lights");
pinMode(led,OUTPUT);
pinMode(resistance,INPUT);
pinMode(vehicle,INPUT);
ldr_val=analogRead(resistance);
Serial.println(ldr_val);
}
void loop()
{
// put your main code here, to run repeatedly:
int ldr_val=analogRead(resistance);
Serial.println(ldr_val);
if(ldr_val>1000)
{
if(digitalRead(vehicle)==0)
{
Serial.print("vehicle detected");
digitalWrite(led,HIGH);
delay(10000);
digitalWrite(led,LOW);
delay(1000);
}
}
else
{
digitalWrite(led,LOW);
delay(1000);
}
}

3.3 Industrial Monitoring system:

Flowchart:

17
Code:

3.4 Metro train system:

Flowchart:

18
Code:

3.5 Automatic Traffic light:

Flowchart:

19
Code:

3.6 Vehicle monitoring system:

Flowchart:

20
Code:

3.7 Mobile-controlled robot:


Flowchart:

21
Mobile controlled robot

Code:

22
3.8 Mobile controlled home automation:

Flowchart:

23
Code:

24
CHAPTER 4
CONCLUSION AND FUTURE IMPROVEMENT

4.1 Conclusion
Many embedded systems have requirements that differ significantly both in details and in scope
from desktop computers. In particular, the demands of the specific application and the interface
with external equipment may dominate the system design. Also, long life-cycles and in some
cases extreme cost sensitivity require more attention to optimization based on these goals rather
than maximizing the computational throughput.

4.2 Scope for improvement:


1. Difficult to change configurations and features -Once an embedded system is
deployed (or finalized), it will be difficult to change its configuration - both its
hardware and software.
2. Issue of scalability -Because it is difficult to change configuration, an
embedded system cannot be easily scaled up as demand/scope changes.
3. Limitation of hardware - There is always a limitation on our software design.
4. Applied for a specific purpose - If it is decided to "rehash" an existing
embedded system for a completely different purpose, it will normally result in
significant change(s) in either or both its hardware or/and software.

25
CHAPTER 5
OUTCOMES

I have carried out my internship my in Technofly Solutions. I have learnt about Embedded
Systems, Arduino microcontroller. Designed an embedded system to control robotic motions
using various sensors.
Outcomes of internship are
1. Enhancement the client interface to make it more intuitive and user-friendly.
2. Enhancements of clients to work on all types of clients.
3. Enhancement of embedded system to control more types of embedded systems.
4. Handling of error scenarios.

I have learnt in a friendly environment and all my friends and mentors were supportive to
me.
I have also learnt about interfacing of LED, LCD, Switch, DC Motor, Sensors, RFID card,
Wi-Fi, GSM, Buzzer and UART.
I have done mini-project which involves the control of movement of Robot using LED,
LCD, Switch, DC Motor, Sensors, RFID card, Buzzer.

26
REFERENCES

1. “Computers as Components: Principles of Embedded Computing Systems Design” by


Wayne Wolf.
2.”Embedded Systems: A Contemporary Design Tool” by James K Peckol.
3.”Embedded Systems: Design and Applications” by Barrett

27

You might also like