You are on page 1of 34

AKNOWLEDGEMENT

The internship opportunity I had with AMSA Embedded Solutions was a great chance for learning
and professional development. Therefore, I consider myself as a very lucky individual as I was provided
with an opportunity to be a part of it. I am also grateful for having a chance to meet so many wonderful
people and professionals who led me though this internship period.

Bearing in mind previous I am using this opportunity to express my deepest gratitude and special thanks to
the MD of AMSA Embedded Solutions who in spite of being extraordinarily busy with her/his duties, took
time out to hear, guide and keep me on the correct path and allowing me to carry out my project at their
esteemed organization and extending during the training.

I express my deepest thanks to Vinayak Dhongadi, Trainer for taking part in useful decision & giving
necessary advices and guidance and arranged all facilities to make life easier. I choose this moment to
acknowledge his contribution gratefully.

It is my radiant sentiment to place on record my best regards, deepest sense of gratitude to Mr. Sagar K
[Co-Executive], Mr. Pramod K, [Co-Executive], Mr. Vinayak Dhongadi [Marketing Manager], for their careful
and precious guidance which were extremely valuable for my study both theoretically and practically.

I perceive as this opportunity as a big milestone in my career development. I will strive to use gained skills
and knowledge in the best possible way, and I will continue to work on their improvement, in order to
attain desired career objectives. Hope to continue cooperation with all of you in the future,

Sincerely,

Name:SOUMYA K UDUPI

Place: BAGALKOTE

1|Page
ABSTRACT

Today, there are billions of embedded system devices used across many industries including medical and
industrial equipment, transportation systems, and military equipment. Many consumer devices from digital
watches to kitchen appliances and automobiles also feature them. Embedded systems are small, fast,
powerful, and designed for very specific use cases. While general purpose systems can perform multiple
functions, they can be too costly for many applications, and may also fail to measure up to embedded
systems’ reliability, low power consumption, minimal size, and other functional and performance features.

Arduino: An Arduino is an open-source computer hardware and software company, project, and user
community that designs and manufactures single-board microcontrollers and microcontroller kits for
building digital devices and interactive objects that can sense and control objects in the physical world. The
project’s products are distributed as open-source hardware and software, which are licensed under the GNU
Lesser General Public License (LGPL) or the GNU General Public License (GPL), permitting the
manufacture of Arduino boards and software distribution by anyone. Arduino boards are available
commercially in preassemble form or as-do-it yourself kits.

Embedded System: An embedded system is a computer system with a dedicated function within a larger
mechanical or electrical system, often with real-time computing constraints. It is embedded as part of a
complete device often including hardware and mechanical parts. Embedded systems control many devices in
common use today. Ninety-eight percent of all microprocessors are manufactured as components of
embedded systems. An embedded system is a self-contained, microprocessor-based computer system
typically implemented as a component of a larger electrical or mechanical system. At the core of the
embedded system is an integrated circuit that performs computational tasks. Also included are hardware and
software, both of which are designed to execute a specific, dedicated function. Embedded systems can be
highly complex or relatively simple, depending on the task for which they were designed. They may include
a single microcontroller or a suite of processors with linked peripherals and networks. They may have no
interface or highly intricate GUIs. Embedded systems programming instructions are stored in read-only
memory or flash memory chips.

2|Page
Contents

Acknowledgement i

Abstract ii

Contents iii

Chapter 1 About the company 4-5


1.1 Introduction
1.2 Location
1.3 Services Provided

Chapter 2 Tasks Performed 6-7


2.1 Weekly overview of internship activities

Chapter 3 Key Learning


3.1 Introduction to Arduino 8-11
3.2 Introduction to LCD and setup 12
3.3 Voltage to temperature Conversion 13
3.4 Serial Communication and Coding 14-18
3.5 Motor Driver 19
3.6 Xbee Pro S2C 20-25
3.7 PCB designing 26-28
3.8 Mini Project 29-32

Chapter 4 Conclusions 33

Chapter 5 References 33

Chapter-1
ABOUT THE COMPANY

3|Page
Introduction:
AMSA embedded solution is an embedded solution provide with
a vision to develop industrial and educational projects with a
specific approach on the customer focus and needed. It has been
started with the professional approach to problem identification
analysis and solving our motto is to render new technologies in
the period of electronic word and to become the master in
embedded industry. we are presently into training development
and act as service provider. We have our own sourcing unit to
undertake engineering project from various field like embedded, wireless communication,
MATLAB, android, and web designing. Students are thought and trained from the fundamentals
such as electronics and computer software languages. The training is conducted in our premises
Our students have the opportunity to participate in hands on embedded system, industries specific
project exposing them global organization real world issues and software /hardware used in global
market place.

Customer centricity is at the core of Amsa Embedded Solution in Unkal, Hubli and it is this belief
that has led the business to build long-term relationships. Ensuring a positive customer experience,
making available goods and/or services that are of top-notch quality is given prime importance.

India’s leading B2B market place, Jd Mart ensures engaging in business activities is a seamless
process for small and medium enterprises as well as large businesses. In a wake to enable these
businesses to reach their audience, this portal lets them showcase their offerings in terms of the
products and/or services through a digital catalogue. This business has a wide range of product
offerings and the product/catalogue list includes Embedded Design and Development, Embedded
Design Services, Embedded Hardware, Embedded Product Design, Embedded Product Designing
Services etc.

Location:

Amsa Embedded Solution in Unkal, Hubli is known to satisfactorily cater to the demands of its
customer base. It stands located at Baligar Building, Unkal Cross Stop, Vidyanagar, Shirur Park
Road, Unkal-580031. It has earned 100 reviews and aspires to develop a loyal customer base. The
business strives to make for a positive experience through its offerings.

Services Provided:

4|Page
1. Electronics and Communication
Learning about basic electronics and creating your own projects is a lot easier than you may think.
we have something for everyone. Amsa embedded team has electronic and electrical lab setup for
engineering /MTech/diploma student to build their own innovative project by hands on
training,You will then learn about schematic diagrams and how they are used to design and build
circuits. And finally, you will come up with basic electronic and embedded knowledge.

2. Computer Science Course


One of the greatest things people learned to do in the 20th century was to use embedded design
to control machines and process information. We have something for everyone. Amsa embedded
team has Computer Science Programming lab setup and training for engineering /MTech/diploma
student to build their own innovative project by hands on training. Here this practice section you
will get how to design and develop and implementation.

3. Electrical and Electronics


Learning about basic electronics and creating your own projects is a lot easier than you may
think. we have something for everyone. Amsa embedded team has electronic and electrical lab
setup for engineering /MTech/diploma student to build their own innovative project by hands on
training,you will then learn about schematic diagrams and how they are used to design and build
circuits. And finally, you will come up with basic electronic and embedded knowledge.

Chapter-2
TASKS PERFORMED

5|Page
Weekly Overview of Internship Activities

Name of the Industry: AMSA Embedded Solutions Department: Embedded System Design

Week Date Task Assigned


 Introduction to Arduino UNO, its Data sheet
 Home Assignment
 Various programs related to Interfacing LED & Buttons using
Arduino
 Serial Communication Protocols
(SPI, I2 C, UART, USB, CAN)
 Home Assignment
1st
 Interfacing Temperature sensor, LED & buttons.
Week
 Voltage to Temperature conversion
 Assignment.
 Introduction to LCD pin configuration & setup
 Assignment

 Assignment programs execution

 Introduction Data frame in Serial communication


 Code for Serial communication
 Data frame transfer and data extraction using Arduino.
 Motor driver pin configuration(L293/L298)
 Introduction to industrial based projects
 UART communication basics
2nd
Week  Programs assigned: Password verification and implementing
using IOT Trainer Kit.
 Programs assigned: Password verification using Serial
communication.
 Industrial Project: - Wireless Water level Controlling using
XBee Pro S2C
 XBee Data Sheet.
 Serial communication using XBee:
1. Setting transmitter and receiver
 Half Duplex communication
 Full Duplex communication
 Checking XBee range of communication
 Implementing assigned project using XBee.
3rd  Introduction to PCB Design
Week  Installation of Dipfree software
 Designing simple circuits
 PCB design of following:
1. Rectifier
2. Op-Amp
3. ATMEGA
4. LCD
5. Buzzer
6|Page
6. Relay
7. Switch
8. Current sensor
 Clubbing all the above circuits into a single design
 Individual project assigned: Visitor counter and light intensity
4th controller Gathering the related information
Week  Implementing the assigned project (50%)
 Complete implementation and execution of the assigned
project

 Introduction to Internet of Things (IoT)

Chapter-3
KEY LEARNINGS

Introduction to Arduino UNO:

The Arduino UNO is a standard board of Arduino. Here UNO means 'one' in Italian. It was named as UNO
to label the first release of Arduino Software. It was also the first USB board released by Arduino. It is
considered as the powerful board used in various projects. Arduino.cc developed the Arduino UNO board.

Arduino UNO is based on an ATmega328 microcontroller. It is easy to use compared to other boards, such
as the Arduino Mega board, etc. The board consists of digital and analog Input/Output pins (I/O), shields,
and other circuits.

The Arduino UNO includes 6 analog pin inputs, 14 digital pins, a USB connector, a power jack, and an
ICSP (In-Circuit Serial Programming) header. It is programmed based on IDE, which stands for Integrated

7|Page
Development Environment. It can run on both online and offline platforms.The IDE is common to all
available boards of Arduino.

o ATmega328 Microcontroller- It is a single chip Microcontroller of the Atmel family. The processor
code inside it is of 8-bit. It combines Memory (SRAM, EEPROM, and Flash), Analog to Digital
Converter, SPI serial ports, I/O lines, registers, timer, external and internal interrupts, and oscillator.
o ICSP pin - The In-Circuit Serial Programming pin allows the user to program using the firmware of
the Arduino board.
o Power LED Indicator- The ON status of LED shows the power is activated. When the power is OFF,
the LED will not light up.
o Digital I/O pins- The digital pins have the value HIGH or LOW. The pins numbered from D0 to D13
are digital pins.
o TX and RX LED's- The successful flow of data is represented by the lighting of these LED's.

o AREF- The Analog Reference (AREF) pin is used to feed a reference voltage to the Arduino UNO
board from the external power supply.
o Reset button- It is used to add a Reset button to the connection.

o USB- It allows the board to connect to the computer. It is essential for the programming of the
Arduino UNO board.
o Crystal Oscillator- The Crystal oscillator has a frequency of 16MHz, which makes the Arduino UNO
a powerful board.
o Voltage Regulator- The voltage regulator converts the input voltage to 5V.

o GND- Ground pins. The ground pin acts as a pin with zero voltage.

8|Page
o Vin- It is the input voltage.

o Analog Pins- The pins numbered from A0 to A5 are analog pins. The function of Analog pins is to
read the analog sensor used in the connection. It can also act as GPIO (General Purpose Input
Output) pins.

// Simple LED blinking code

int led=8;

void setup() {

pinMode(led,OUTPUT);

void loop() {

digitalWrite(led,HIGH);

delay(1000);

digitalWrite(led,LOW);

delay(1000);

//Code for interfacing LED & Buttons using Arduino

int led=4;
int button1=2;
int button2=7;
void setup() {
pinMode(led,OUTPUT);
pinMode(button1,INPUT_PULLUP);
pinMode(button2,INPUT_PULLUP);
}
void loop() {
if(digitalRead(button1)==0 &&digitalRead(button2)==0){
digitalWrite(led,LOW);
}
else if(digitalRead(button1)==1 &&digitalRead(button2)==0){

9|Page
digitalWrite(led,HIGH);
}
else if(digitalRead(button1)==0 &&digitalRead(button2)==1){
digitalWrite(led,HIGH);
}
else if(digitalRead(button1)==1 &&
digitalRead(button2)==1){
digitalWrite(led,HIGH);
}
}

// Code for increasing and decreasing light intensity depending on the count
int led=3;
int inc=2;
int count=0;
void setup() {
pinMode(led,OUTPUT);
pinMode(inc,INPUT_PULLUP);
}
void check_status(){
if (digitalRead(inc)==0){
delay(100);
if(digitalRead(inc)==0){
while(digitalRead(inc)==0);
count++;
if (count>5)
count=0;
}
}
}
void led_control(float val){
analogWrite(led,val);
}
void led_status(){
10 | P a g e
if(count>0 && count<2)
led_control(63.75);
if(count>1 && count<3)
led_control(127.5);
if(count>2 && count<4)
led_control(191.25);
if(count>3 && count<5)
led_control(255);
if (count>5)
led_control(0);
}
void loop(){
check_status();
led_status(); }

Introduction to LCD pin Configuration&


Setup

 Pin1 (Ground/Source Pin): This is a GND pin


of display, used to connect the GND terminal
of the microcontroller unit or power source.
 Pin2 (VCC/Source Pin): This is the voltage
supply pin of the display, used to connect the
supply pin of the power source.
 Pin3 (V0/VEE/Control Pin): This pin
regulates the difference of the display, used to
connect a changeable POT that can supply 0
to 5V.
 Pin4 (Register Select/Control Pin): This pin
toggles among command or data register,

11 | P a g e
used to connect a microcontroller unit pin and obtains either 0 or 1(0 = data mode, and 1 =
command mode).
 Pin5 (Read/Write/Control Pin): This pin toggles the display among the read or writes operation,
and it is connected to a microcontroller unit pin to get either 0 or 1 (0 = Write Operation, and 1 =
Read Operation).
 Pin 6 (Enable/Control Pin): This pin should be held high to execute Read/Write process, and it is
connected to the microcontroller unit & constantly held high.
 Pins 7-14 (Data Pins): These pins are used to send data to the display. These pins are connected in
two-wire modes like 4-wire mode and 8-wire mode. In 4-wire mode, only four pins are connected
to the microcontroller unit like 0 to 3, whereas in 8-wire mode, 8-pins are connected to
microcontroller unit like 0 to 7.
 Pin15 (+ve pin of the LED): This pin is connected to +5V
 Pin 16 (-ve pin of the LED): This pin is connected to GND.

Voltage to Temperature Conversion:

Voltage=(Temp*5)/1023; where temp=input voltage of temperature sensor


Celsius= Voltage*100;

//Code
Int sensor=A1;
Int temp;
Float voltage;
Int Celsius;
Void setup(){
Serial.begin(9600);
}
Void loop(){
Temp=analogRead(sensor);
Voltage=(Temp*5)/1023;

12 | P a g e
Celsius= Voltage*100;
String bff=”Temperature is”+ string(celsius)+”C”;
Serial.println(buff);
Delay(500);
}

Serial Communication:

Serial communication is the process of sending data one bit at a time, sequentially, over a communication
channel or computer bus. This is in contrast to parallel communication, where several bits are sent as a
whole, on a link with several parallel channels.

Types if Serial Communication:

Half Duplex Method:


In half duplex method both sender and receiver can be active but not at the same time. So if the sender is
transmitting then receiver can accept but cannot send and similarly vice versa. The well-known example of
the half duplex is the internet where the user sends a request for a data and the gets it from server.

Full Duplex Method:


In full duplex method, both receiver and transmitter can send data to each other at the same time. The well-
known example is mobile phone.

13 | P a g e
Synchronous Serial Protocols

The synchronous type of serial protocols such as SPI, I2C, CAN and LIN are used in different projects
because it is one of the best resources for onboard peripherals. Also these are the widely used protocols in
major applications.

SPI Protocol

The Serial Peripheral Interface (SPI) is a synchronous interface which allows several SPI microcontrollers to
be interconnected. In SPI, separate wires are required for data and clock line. Also the clock is not included
in the data stream and must be furnished as a separate signal. The SPI may be configured either as master or
as a slave. The four basic SPI signals (MISO, MOSI, SCK and SS), Vcc and Ground are the part of data
communication. So it needs 6 wires to send and receive data from slave or master. Theoretically, the SPI can
have unlimited number of slaves. The data communication is configured in SPI registers. The SPI can
deliver up to 10Mbps of speed and is ideal for high speed data communication.

USB

USB (Universal Serial Bus) is widely protocol with different versions and speeds. A maximum of 127
peripherals can be connected to a single USB host controller. USB acts as "plug and play" device. The USB
are used in almost devices such as keyboards, printers, media devices, cameras, scanners and mouse. It is
designed for easy installation, faster data rated, less cabling and hot swapping. It has replaced the bulkier
and slower serial and parallel ports. USB uses differential signalling to reduce interference and allow high-
speed transmission over a long distance.

A differential bus is built with two wires, one of represents the transmitted data and the other its
complement. The idea is that the 'average' voltage on the wires does not carry any information, resulting in
less interference. In USB, the devices are allowed to draw a certain amount of power without asking the
host. USB uses only two wires to for data transfer and are faster than the serial and parallel interface.

CAN

The Controller Area Network (CAN) is used in e.g. automotive to allow communication between ECUs
(Engine Control Units) and sensors. The CAN protocol is robust, low-cost and message based and covers in
many applications - e.g. cars, trucks, tractors, industrial robots. The CAN bus system allows for central error
diagnosis and configuration across all ECUs. CAN messages are prioritized via IDs so that the highest
14 | P a g e
priority IDs are non-interrupted. Each ECU contains a chip for receiving all transmitted messages, decide
relevance and act accordingly - this allows easy modification and inclusion of additional nodes (e.g. CAN
bus data loggers). The applications include start/stop of vehicles, collision avoidance systems. The CAN bus
systems can provide speed up to 1Mbps.

UART
UART is a hardware communication protocol that uses asynchronous serial communication with
configurable speed. Asynchronous means there is no clock signal to synchronize the output bits from the
transmitting device going to the receiving end.

I2C
I2C combines the best features of SPI and UARTs. With I2C, you can connect multiple slaves to a single
master (like SPI) and you can have multiple masters controlling single, or multiple slaves. This is really
useful when you want to have more than one microcontroller logging data to a single memory card or
displaying text to a single LCD.
Simple serial data transfer program

String Name;
void setup() {
Serial.begin(9600);
}
void loop() {
while(Serial.available())
{
char data=Serial.read();
Name+= data;
Serial.print(Name);
Serial.println(Name);
Name="";
delay(100);
if(Serial.available()>0){
Serial.write(Serial.read());
}
}

15 | P a g e
Sending a data frame with serial comunication in Arduino

“NAMESOUMYAUSN2BA19EC097PNO625367484959#”

String MainString;
String Name,usn,pno;
void setup() {
Serial.begin(9600);
}
void loop() {
if(Serial.available()>0){
while(Serial.available()>0){
char data=Serial.read();
MainString+=data;
delay(10);
}
}
if(MainString.length()>0){
int val1=0,val2=0;
val1=MainString.indexOf("Name");
val2=MainString.indexOf("usn");
Name=MainString.substring(val1+4,val2-1);
val1=val2=0;

val1=MainString.indexOf("usn");
val2=MainString.indexOf("pno");
usn=MainString.substring(val1+3,val2-1);
val1=val2=0;

val1=MainString.indexOf("pno");
val2=MainString.indexOf("#");
pno=MainString.substring(val1+3,val2-1);
val1=val2=0;
Serial.println("candidatename"+Name);
Serial.println("candidateUSN"+usn);
Serial.println("candidatePHONEno"+pno);
}}
16 | P a g e
Password verification and implementing using IOT Trainer Kit.

String Key="1234";
String password,input;
int buzz=2;
void setup() {
pinMode(buzz,OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available()>0){
while(Serial.available()>0){
char data=Serial.read();
input+=data;
delay(10);
}
}
if(input.length()>0){
int start=0,End=0;
start=input.indexOf("*");
End=input.indexOf("&");
password=input.substring(start+1,End);
start=0;End=0;
Serial.println("password"+password);
if(password==Key)
digitalWrite(buzz,HIGH);
else
beep();
}
}
void beep(){
for(int c=0;c<20;c++){
digitalWrite(buzz, HIGH);
delay(100);
digitalWrite(buzz, LOW);

17 | P a g e
delay(100); } }

Motor Driver

The L293D is designed to provide bidirectional drive currents of up to 600-mA at voltages from 4.5 V to 36
V. Both devices are designed to drive inductive loads such as relays, solenoids, DC and bipolar stepping
motors, as well as other high-current/high-voltage loads in positive-supply applications.

H-bridge 1 can control one motor, and H-bridge 2 can control another motor.

Each pin has the following function:

18 | P a g e
 Output 1: power for H-bridge 1 motor
 Output 2: power for H-bridge 1 motor
 Output 3: power for H-bridge 2 motor
 Output 4: power for H-bridge 2 motor
 Vcc 1: 5V supply for the L293D chip
 Vcc 2: power supply for the motors (4.5V to 36V DC)
 Enable 1, 2: turns ON/OFF H-bridge 1 (HIGH enables, LOW disables)
 Enable 3, 4: turns ON/OFF H-bridge 2 (HIGH enables, LOW disables)
 Input 1: motor control signal for H-bridge 1
 Input 2: motor control signal for H-bridge 1
 Input 3: motor control signal for H-bridge 2
 Input 4: motor control signal for H-bridge 2

XBee Pro S2C

XBee S2C is a RF module designed for wireless communication or data exchange and it works on ZigBee
mesh communication protocols that sit on top of IEEE 802.15.4 PHY. The module provides wireless
connectivity to end-point devices in any ZigBee mesh networks including devices from other vendors.
Please note that XBee is a module designed by ‘DiGi’ and ZigBee is the name of the protocol followed by

19 | P a g e
XBee modules for establishing wireless communication. With a few of these modules the user can setup
their own ZigBee network up-and-running in a matter of minutes.The XBee RF Module is compatible with
other units that use ZigBee technology. These include other XBee modules, Connect Ports gateways, XBee
and XBee-PRO Adapters, XBee Sensors and other products that are designated with “ZB” product name.

XBee S2C Pin Configuration

XBee S2C is a 20-pin module as given in XBee S2C pinout diagram and the description for each pin is
given below.

Pin Name Description

1 VCC Power supply

2 DOUT/DIO13 UART data out pin (TXD)/GPIO

3 DIN/CONFIG / DIO14 UART data in pin (RXD)/ GPIO

4 DIO12/SPI_MISO GPIO/ Master Input-Slave Output pin of SPI interface

5 RESET Module Reset pin

20 | P a g e
6 RSS PWM /DIO10 RX Signal Strength Indicator pin / GPIO

7 PWM1/DIO11 Pulse Width Modulator/GPIO

8 RESERVED Do not connect

9 DTR/SLEEP_RQ/ DIO8 Pin Sleep Control line /GPIO

10 GND Ground

11 DIO4/ SPI_MOSI GPIO/Master Output-Slave Input pin of SPI interface

12 CTS/DIO7 Clear-to-send flow control/GPIO

13 ON_SLEEP/DIO9 Device status indicator/GPIO

14 VREF Voltage Reference for ADC

15 ASC/DIO5 Associate Indicator/GPIO

16 RTS/DIO6 Request to send flow control/ GPIO

17 AD3/DIO3/SPI_SSEL Analog input/GPIO/SPI slave select

18 AD2 /DIO2/SPI_CLK Analog input/GPIO/SPI clock

19 AD1/DIO1/SPI_ATTN Analog input/GPIO/SPI attention

20 AD0/DIO0/C Analog input/GPIO/ Commissioning

button

//Code for Water Level Transmitter for XBee pro

#include "SoftwareSerial.h”

21 | P a g e
SoftwareSerialXBee(2,3);
int under=4;
int over1=5,over2=6,over3=7;
int drySensor=8;
void setup()
{
pinMode(under,INPUT_PULLUP);
pinMode(over1,INPUT_PULLUP);
pinMode(over2,INPUT_PULLUP);
pinMode(over3,INPUT_PULLUP);
Serial.begin(9600);
XBee.begin(9600);
}
void loop()
{
if(digitalRead(drySensor)==0){
if(digitalRead(under)==1)
{
XBee.write('0');
Serial.println("led off");
}
else if(digitalRead(under)==0){
checklevel();
}
}
}
void checklevel(){
if(digitalRead(over1)==0){
Serial.println("led off");
XBee.write('0');
}
else if(digitalRead(over2)==0){
XBee.write('1');
Serial.println("led on");
22 | P a g e
}
else if(digitalRead(over3)==0){
XBee.write('1');
Serial.println("led on");
}
}

// Code for Water Level Receiverfor XBee pro

#include<SoftwareSerial.h>
int led = 5;
int received = 0;
SoftwareSerialXBee(2,3);
void setup()
{
pinMode(led, OUTPUT);
XBee.begin(9600);
Serial.begin(9600);
}
void loop()
{
if (XBee.available()>0)
{
received = XBee.read();
if (received == 0)
{
Serial.println("Turning off LED");
digitalWrite(led, LOW);
}
else if (received == 1) {
Serial.println("Turning on LED");
digitalWrite(led, HIGH); } }}
// Code for Water level management using Arduino
int under=2;

23 | P a g e
int over1=4, over2=5,over3=6;
int drySensor=1;
int motor=7;
void setup() {
pinMode(under,INPUT_PULLUP);
pinMode(over1,INPUT_PULLUP);
pinMode(over2,INPUT_PULLUP);
pinMode(over3,INPUT_PULLUP);
pinMode(motor,OUTPUT);
Serial.begin(9600);
}
void loop() {
if(digitalRead(drySensor)==0){
if(digitalRead(under)==1)
digitalWrite(motor,LOW);
else if(digitalRead(under)==0){
checklevel();
}
}
}
void checklevel(){
if(digitalRead(over1)==0){
digitalWrite(motor,LOW);
}
else if(digitalRead(over2)==0){
digitalWrite(motor,HIGH);
}
else if(digitalRead(over3)==0){
digitalWrite(motor,HIGH);
}
}

PCB Designing:

24 | P a g e
Printed circuit board (PCB) design brings your electronic circuits to life in the physical form. Using layout
software, the PCB design process combines component placement and routing to define electrical
connectivity on a manufactured circuit board. Breadboards are great for prototyping circuits, but they aren’t
so good for actually using the thing you’re building. At some point, you’ll probably want to make
a project more permanent. The best way to do that is to put it on a PCB.

PCB Designing Using Diptrace Software:

PCB Layout is a high-level engineering tool for board design featuring smart manual routing of high-speed
and differential signals, shape-based autorouter, advanced verification, and wide import/export
capabilities. Design requirements are defined by net classes, class-to-class rules, and detailed settings by
mechanical object types for each class or layer. Dip Trace features design process with real-time DRC,
which reports errors on the fly before actually making them. The board can be previewed in 3D and
exported for CAD modelling. Design Rule Check with in-depth detailing, Net Connectivity
verification.DipTrace is a software that allows you to create simple and complex Printed Circuit Boards
from schematic diagrams to layouts. It is a user friendly EDA software.

PCB designs implemented:

 Led

 Rectifier

25 | P a g e
 Op-Amp

26 | P a g e
 Atmega

27 | P a g e
 Arduino

28 | P a g e
Mini Project

Visitor control and light intensity controller

Abstract: This project is based on a pair of infrared sensors that detects interrupt when it
detects an obstacle. The pair of IR sensors can detect the visitor from both directions, i.e.
the number of entering visitors and the number of exiting visitors. When the total number of
people is zero then the room light is turned off. When even a single person is found inside
the room, the light turn, depending on people inside the room light intensity control.

29 | P a g e
Components used:

Trainer Kit

30 | P a g e
IR Sensor 2 Diode LED

//Code
31 | P a g e
#include <LiquidCrystal.h>
int buzz=7;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
lcd.begin(16, 2);
pinMode(buzz,OUTPUT);
lcd.clear();
Serial.begin(9600);
}

void loop() {
int inputvoltage = analogRead(A0);
float voltage = inputvoltage * (300.0 / 1023.0);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(voltage);
lcd.print("V");
int i;
float current,maximum=0;
uint32_t starttime = millis();
while((millis()-starttime) < 1000)
{
current=analogRead(A1);
if(current>maximum){
maximum=current;
}
}
Serial.println(maximum);
float volt= (maximum*5.0)/1023.0;
float val1 = (volt /200.0) *1000.0;
float I = val1 * 0.707;
lcd.setCursor(9,0);
lcd.print(I);
lcd.print(" A");
32 | P a g e
float power=I*voltage;
if(power>55){
digitalWrite(buzz,HIGH);
lcd.setCursor(2,1);
lcd.print("Power: HIGH");
}
else{
lcd.setCursor(1,1);
lcd.print("Power: MODERATE");
}
delay(1000);
}

CONCLUSION

In a nutshell, this internship has been an excellent and rewarding experience. I can conclude that there

have been a lot I’ve learnt from my Internship at AMSA Embedded Solutions. Needless to say, the

technical aspects of the work I’ve done are not flawless and could be improved provided enough time. As

someone with no prior experience with Embedded System Design whatsoever I believe my time spent in

research and discovering it was well worth it and contributed to finding an acceptable solution to build a

fully functional web service. Two main things that I’ve learned the importance of are time-management

skills and self-motivation

33 | P a g e
REFERENCES

 https://solael.gitbooks.io

 https://www.electronicsmedia.infosystem

 https://create.arduino.cc/projecthub/projects/tags/embedded

 https://www.tutorialspoint.com/embedded_systems

 https://www.techtarget.com/iotagenda/definition/embedded-system

34 | P a g e

You might also like