Report of Training ON Arduino Platform and C Programming
Report of Training ON Arduino Platform and C Programming
Report of Training ON Arduino Platform and C Programming
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.
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
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
PROTOCOL
Objective:
Applications:
Merits :
1.Ready to use:
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
Disadvantages:
1.STRUCTURE:
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
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
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
learn the basics of many things like Serial communication, ADC, I2C etc.