Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

REPORT OF TRAINING

ON
ARDUINO PLATFORM AND C PROGRAMMING
A SUMMER TRAINING REPORT

Submitted by :
RAMAN MEHTA
UE185096

Submitted to
GURPREET KAUR
Contents:

1.WEEK 1
MODULE 1:ARDUINO ENVIRONMENT
LESSON 1:
1.1:Arduino Platform
1.2:Arduino Board
1.3:Direct Programming
LESSON 2:
2.1:Arduino Schematics
2.2:Arduino IDE
2.3:Compiling Code
LESSON 3:
3.1:Arduino Sheilds Libraries
3.2:Arduino Basic Setup

2.WEEK 2 :C PROGRAMMING
MODULE 2
LESSON 1:
1.1:Setting Up Your Environment
1.2:Hello World
1.3:Variables
LESSON 2:
2.1:Basic C Operators
2.2:Conditionals
2.3:Loops
LESSON 3:
3.1:Functions
3.2:Global Variables
3.WEEK 3:ARDUINO PROGRAMS
MODULE 3
LESSON 1:
1.1:Arduino Toolchain
1.2:Cross Compilation
1.3:Arduino Sketches
LESSON 2:
2.1:Classes
2.2: Sketch Structure
2.3: Pins
LESSON 3:
3.1:Input And Output
3.2:Blink Example
4.WEEK 4
MODULE 4:DEBUGGING AND COMMUNICATION
PROTOCOL
LESSON 1:
1.1:Debugging
1.2:Debug Environments
1.3:Debug Via Serial

LESSON 2:
2.1:UART Protocol
2.2:UART Synchronization
2.3:UART Parity And Stop
LESSON 3:
3.1:Serial On Arduino
3.2:Reading From Serial
ABSTRACT:

A very good course to teach you the basics of Arduino Platform and IDE.It help

you get started on how to code your programs and let you build up on it.

Arduino is an open source computer hardware/software platform for building

digital devices and interactive objects that can sense and control the physical

world around them.In this course I learnt how the Arduino Platform works in

terms of physical board and libraries and the IDE(Integrated development env-

-ronment).I also learn about shields,which are smaller boards that plug into  
 
the main arduino board to perform other functions such as sensing light,heat , 
 
GPS tracking,or providing a user interface display.I have covered programming  
 
the Arduino using C code and accessing the pins on the board via the software  
 
to control external devices through this course. Upon completion of this train- 
-ing, I learnt the following:1.Outlining the composition of the Arduino develo- 
-ment  Board  2.Describe  what  it  means to program the board’s firmware3.Read 
the  Board  schematics  4.Describe  what  “shields”  are  and  how  they  are  used 
5.Specify  the  roles  of  libraries  in  the  use  of  shields  6.Compile  and  Run  a 
program  7.Name a C Variables and Types 8.Name Common C operators 9.Use 
Conditionals  and  Loops  10.Explain  Functions,their  definition  and  invocation 
11.Explain  the  implication  of  Global  variables  12.Undertake  the  Arduino  build 
process  13.Describe  the  role  of  the  tools  behind  the  IDE  14.Describe  how  to 
invoke  function  in  classes  15.Explain  the  structure  of  an  Arduino  Sketch 
16.Access  the  pins  of  the  Arduino  17.Differentiate  the  digital  and  Analog  Pin 
18.Debug  embedded  software  19.Explain the importance of controllability and 
observability  in  the  debugging  process  20.Describe  common  debugging 
architectures  for  embedded  Systems  21.Explain  how  the  UART  Serial 
Communication  Protocol  works  22.Describe  how  the  Arduino  Serial  Library 
performs serial communication.

CHAPTERS:

WEEK 1
MODULE 1:Arduino Environment

This Module provides an introduction to the Arduino environment which


is composed of three things:the Arduino Board, the Arduino IDE,and the
Arduino-compatible shields together with their libraries.We first
investigate the board ,discussing all of its main components ,inputs and
outputs.We discuss how each component is used and we examine the
board schematics to see how they are connected.We then discuss the
Arduino Integrated Development Environment(IDE) which is used
primarily to write ,compile,and upload code.We survey the interface of
the IDE and discuss how to install and use it.We also examine the use
of shields to extend the functionality of an Arduino-based system.We
discuss how shield libraries provide a useful abstraction to facilitate the
programming.

MODULE 1 Objectives:
1.Outline the composition of the Arduino development board
2.Describe what it means to program the board’s firmware
3.read board schematics
4.Install Arduino IDE
5.Describe what “shields” are and how they are used
6.Specify the role of libraries in the use of shields

WEEK 2
MODULE 2:C Programming
This module covers the basic of the C programming language which will be

used to write the code for the Arduino.The course first covers basic
syntax,Variables and types.Most of the basic C operators are
presented.Conditional Statements(if,switch) and loops(while,for) are
described.The concepts of functions is presented together with how to define
and call function.Creation and use of global variables is explained.
Objectives:
1.Compile and run a program
2.Name C Variables and Types
3.Name common C operators
4.Use Conditionals and loops
5.Explain functions ,their definition and invocation
6.Explain the implications of Global Variables

WEEK 3
MODULE 3:Arduino Programs
This module describes the composition of an Arduino Program,or Sketch,and
the process by which it is compiled and uploaded.The Arduino IDE is a user
interface for the software tools which actually compile and upload the
program.We outline the the use of these tools in the build process.We
describe the basic structure of a sketch, including the use of the setup() and
loop() functions.The main interface of an Arduino is though its pins,so we
describe how to access those pins from a sketch.

objectives:
1.Undertake the Arduino build process
2.Describe the role of the tools behind the IDE
3.Describe how to invoke functions in classes
4.Explain the structure of an Arduino Sketch
5.Access the pins of the Arduino
6.Differentiate between Digital vs Analog Pins

WEEK 4

MODULE 4 :DEBUGGING AND COMMUNICATION

PROTOCOL

This module is an introduction on debugging embedded software on an


Arduino.We discuss the basic debugging requirements:controllability and
observability.The debugging environment available for an Arduino UNO is
limited, so we describe how to use the UART communication protocol to gain
controllability and observability.We present the use of the Serial library to
communicate with the Arduino through the serial monitor.

Objective:

1.Debug embedded software

2.Explain the importance of controllability and observability in the


debugging process

3.Describe common debugging architectures for embedded systems

4.Explain how the UART Serial communication protocol works


5.Describe how the Arduino Serial performs serial communication

Conclusions: Applications,Merits ,Demerits And Future


Scope

Applications:

1.For making Drones

2.For making Line follower Robot

3.For usage in internet of Things(IoT)

4.For Making Security Devices for home

5.For Automatic Opening Dustbin with Ultrasonic sensor

6.To measure temperature

7.Mini Stereo Radio with RDA5807

8.Smart GPS tracker using Arduino

9.It can also be used to make IoT devices.

10.Home and Industrial Automation

Merits :
1.Ready to use:

The biggest advantage of Arduino is its ready to use structure.As Arduino


comes in a complete package form which includes the 5V regulator,a burner
,an oscillator,a microcontroller,serial communication interface,LED and
headers for the connections.We don’t have to think about programmer
connections for programming or any other interface.Just plug it into USB port
of your computer and that’s it.The revolutionary idea is going to change the
world after just few words of coding.

2.Examples of Codes:

Another big advantage of Arduino is it’s library of examples present inside the
software of Arduino.I will explain this advantage using an example of voltage
measurement.For example if we want to measure voltage using ATmega8
microcontroller and want to display the output on computer screen then you
have to go through the whole process.The process will start from learning the
ABC's of microcontroller for measurement,went through the learning of serial
communication for display and will end at USB Serial converters.

3.Effortless Functions:

During coding of Arduino,you will notice some functions which makes the life
so easy.Another advantage of Arduino is it’s automatic unit conversion
capability.You can say that during debugging you don’t have to worry about
the units conversions.Just use your all force on the main parts of the
projects.You don’t have to worry about side problems.

. 4.Large Community:
There are many forums present on the internet in which people are talking
about the Arduino. Engineers, hobbyists and professionals are making their
projects through Arduino. You can easily find help about everything. Moreover
the Arduino website itself explains each and every function of Arduino.
So, We should conclude the advantage of Arduino by saying that while

working on different projects you just have to worry about your innovative

idea. The remaining will be handled by Arduino itself.

Disadvantages:
1.STRUCTURE:

Yes, the structure of Arduino is its disadvantage as well. During building a

project you have to make its size as small as possible. But with the big

structures of Arduino we have to stick with big sized PCB’s. If you are working

on a small microcontroller like ATmega8 you can easily make your PCB as

small as possible.

2.COST:

The most important factor which you cannot deny is cost. This is the problem

which every hobbyist, Engineer or Professional has to face. Now, we must

consider whether the Arduino is cost effective or not.

Some years’ ago I was working on a project in which I had to build three smart

energy meters. Now, for three smart energy meters present at some distance
connected with different loads must have their own processors. So, I

estimated my expenditures with and without the Arduino which you can see in

the block diagram present below.

Figure 2: Cost Comparison of Arduino and ATmega

3- Easy to use:
In my opinion, if you started your journey of microcontrollers with Arduino then

it will be very difficult for you to make the complex intelligent circuitries in

future. The easy to use hardware/software of Arduino enables a person to

learn the basics of many things like Serial communication, ADC, I2C etc.

You might also like