Aishwarya Internship Report
Aishwarya Internship Report
An Internship Report on
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
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.
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
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
Embedded systems are a combination of hardware and software where software is usually known as
firmware that is embedded into the 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:
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.
2
1.2 Characteristics of Embedded Systems
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.
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.
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.
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
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.
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.
6
Fig 2.2 LED
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
}
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.
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.
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.
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.
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.
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.
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.
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.
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
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);
}
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);
}
}
Flowchart:
17
Code:
Flowchart:
18
Code:
Flowchart:
19
Code:
Flowchart:
20
Code:
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.
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
27