SlideShare a Scribd company logo
Arduino Programming
(C) 2014 James Lewis
james@baldengineer.com
1
Arduino Langauge
2
Machine Language
(Binary Code)
Assembly
(Readable Code)
C / C++
(Readable Code)
C++
Libs
C++
Libs
C++
Libs
“Arduino”
Arduino Langauge
3
Machine Language
(Binary Code)
Assembly
(Readable Code)
C / C++
(Readable Code)
C++
Libs
C++
Libs
C++
Libs
“Arduino”
Hello World (Blink)
4
Hello World (Blink)
5
Variable
Hello World (Blink)
6
Comments
Hello World (Blink)
7
Comments
Good Comment:
// Blue LED for Activity Indicator
Bad Comment:
// Pin 13
Hello World (Blink)
8
Functions
Hello World (Blink)
9
Functions
Hello World (Blink)
10
Instruction
Hello World (Blink)
11
Instruction
Hello World (Blink)
12
FunctionCall
Hello World (Blink)
13
Arguments
Hello World (Blink)
14
IDE Tools Menu
15
IDE Tools Menu
16
IDE Tools Menu
17
IDE Tools Menu
18
Arduino IDE
19
Type Stuff Here
Compiler Output
Arduino IDE
20
Type Stuff Here
Compiler Output
Serial Monitor
Arduino IDE
21
Type Stuff Here
Compiler Output
Serial MonitorVerify & Upload
Arduino IDE
22
Type Stuff Here
Compiler Output
Serial MonitorVerify & Upload
Board & Serial Port
Blink Exercise
• Load the Blink Example and
program it to your board

• Change the values of delay()
to see how it affects the
behavior
23
Check the correct board and serial port are selected in the tools menu!
Hello World
Serial Example
24
Serial objects
25
Serial objects
26
Enables Serial
Baud
Rate
Serial objects
27
Variables
Strings
Control Characters
Print
and Println
Serial objects
28
Variables
Strings
Control Characters
Print
and Println
NOTE: Strings and Variables Can’t be used on the same line
Hello World (Serial)
• Load up the serial code to the
right

• Exercise:
• Change the 2000 in delay
into a variable.
• Print value of variable on
same line as “Hello World”
29
Variables
30
How Much Memory is
in your Arduino?
31
Variable Types
32
Bits Unsigned Range Signed Range
byte 8 0 to 255 N/A
char 8
0 to 255
‘A’..’b’..’X’
N/A
int 16 0 to 65535 -32,767 to 32,766
long 32 0 to 4,294,967,295
-2,147,483,648 to
2,147,483,647
float 32 ±3.4028235E+38 n/a
double 32 n/a n/a
Variable Do and Don’t
• DO Use Descriptive Names
• “BlueLED”, “ActivityIndicator”
• DON’T Use Bad Names
• “Integer”, “Pin13”
• DO Stick to a naming convention
• Variables are Case Sensitive!
• DON’T use same name for Local and Global Variables
33
Variable Scope
34
Variable Scope
35
Global
Variable Scope
36
Global
Local to loop()
Variable Don’t!
37
Variable Don’t!
38
Variable Don’t!
39
analogReadings[]
arrays
40
0 1 2 3 4 5
analogReadings[]
arrays
41
0 1 2 3 4 5
Size
Elements
analogReadings[]
arrays
42
0 1 2 3 4 5
Size
Elements
arrays are 

0-index based. 

So last element

is always 

“1 less”

than the size!
Pin Functions
43
pinMode()
44
Analog
(A0..A5)
Digital
(0..13)
INPUT
Digital Input,
Pull-Up Off
Digital Input,
Pull-Up Off
INPUT_PULLUP
Digital Input,
Pull-Up On
Digital Input,
Pull-Up On
OUTPUT Digital Output Digital Output
Analog Pins can be used as Digital Pins
pinMode(INPUT, Ax) isn’t necessary for analogRead()
digitalRead() & digitalWrite()
45
Pull-Up Resistor
46
INPUTs almost always need a Pull-Up or Pull-Down
pinMode(INPUT_PULLUP) Turns on the Internal Pull-Up Resistor
http://www.baldengineer.com/tutorials/arduino-pull-ups/
I/O Exercise
• Objective: Understand Inputs
and Outputs

• Exercise: “Fix” the random
LED
47
analogRead()
48
Analog
Signal
Convert
Digital
Value
10-bits, stored as 8-bits
Values 0 to 1023
Voltage
0v to 5v
5 volts
1023 Steps
= 4.887mV per Step
Calling analogRead() on an Analog Pin,
automatically converts to Input
analogWrite()
49
analogWrite() isn’t Analog (Except on the Due)
Uno Pins: 3, 5, 6, 9, 10, 11
Actual AnalogPulse Width Modulation (PWM)
Analog Exercise
• Connect Pin 6 to Analog 0

Run this code

• Then, disconnect from Pin 6 

While Running the Code
50
Remember to open the Serial Monitor!
Analog Exercise
• Connect Pin 6 to Analog 0

Run this code

• Then, disconnect from Pin 6 

While Running the Code
51
Remember to open the Serial Monitor! A0, A1, A2..A5 are integers!
functions()
52
Functions
Getting Data Back
Functions
Getting Data Back
Tip: The Arduino IDE, doesn’t require “prototyping”
Functions
Getting Data Back
Return Type
Arguments
“Return”
FunctionName
Functions
Returning Nothing
56
Return Type
If the function doesn’t return anything, declare it as void
Function Exercise
• “Re-Write” the built-in Blink
Example to use a Function
• Exercise: add a “argument” to
adjust the delay time
57
Control Structures
58
if-statements
59
if-statements
60
if-statements
61
if-statements
62
control operators
63
== Equal to
>

>=
Greater than
(or equal)
<
<=
Less Than
(or equal)
!= Not Equal to
|| OR
&& AND
| Bitwise OR
& Bitwise AND
#1 if-statement mistake
64
#1 if-statement mistake
65
= != ==
for() loop example
66
for() loop
67
for() loop
68
Control Variable
for() loop
69
Control Variable
Condition
for() loop
70
Control Variable
Condition
Increment
Array and For Exercise
• Use an Array and two for-
loops to read analog inputs,
then display then

• Notice the difference in
brackets between the two
loops
71
while() loop
72
while() loop
73
Condition
while() loop
74
Condition
Loop conditions are same as “if conditions”
while() and Serial
• This program echoes
whatever is on the serial buffer
back out
75
76
More information?

Visit

baldengineer.com

More Related Content

PDF
Arduino Workshop Day 1 - Basic Arduino
PPT
Intro to Arduino
PPTX
Raspberry Pi (Introduction)
PPTX
Problems on fermi part 2
PPTX
Introduction to arduino
PPT
Raspberry Pi
PPTX
Arduino course
PPTX
Arduino for beginners- Introduction to Arduino (presentation) - codewithgauri
Arduino Workshop Day 1 - Basic Arduino
Intro to Arduino
Raspberry Pi (Introduction)
Problems on fermi part 2
Introduction to arduino
Raspberry Pi
Arduino course
Arduino for beginners- Introduction to Arduino (presentation) - codewithgauri

What's hot (20)

PPTX
Introduction to Arduino Hardware and Programming
PPTX
PPT ON Arduino
PPTX
Introduction to Arduino
PPTX
Electronic components
PPT
I2C Protocol
PPTX
Lesson sample introduction to arduino
PPT
Ppt Digital Electronics
PPT
Arduino
PPTX
Basics of arduino uno
PPTX
Arduino
PPT
Microprocessor
PPS
Arduino Uno Pin Description
PPTX
Embedded systems ppt
PPTX
Different Arduino Boards
PPTX
PPTX
Data flow model -Lecture-4
PPTX
Arduino : how to get started
PPT
Adc interfacing
PPTX
INTRODUCTION TO MICROCONTROLLER
PPTX
Programmable logic devices
Introduction to Arduino Hardware and Programming
PPT ON Arduino
Introduction to Arduino
Electronic components
I2C Protocol
Lesson sample introduction to arduino
Ppt Digital Electronics
Arduino
Basics of arduino uno
Arduino
Microprocessor
Arduino Uno Pin Description
Embedded systems ppt
Different Arduino Boards
Data flow model -Lecture-4
Arduino : how to get started
Adc interfacing
INTRODUCTION TO MICROCONTROLLER
Programmable logic devices
Ad

Viewers also liked (8)

DOCX
Arduino Full Tutorial
ODP
Intro to Hardware Programming with the Arduino Uno
ODP
Introduction to Arduino
PDF
ITT 18 Practicas Basicas de Arduino
PDF
Curso Arduino práctico 2014
DOCX
Manual basico de practicas con Arduino uno
PDF
20 Magnificos proyectos para ARDUINO
PDF
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Arduino Full Tutorial
Intro to Hardware Programming with the Arduino Uno
Introduction to Arduino
ITT 18 Practicas Basicas de Arduino
Curso Arduino práctico 2014
Manual basico de practicas con Arduino uno
20 Magnificos proyectos para ARDUINO
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Ad

Similar to Introduction to Arduino Programming (20)

DOCX
Lab Manual Arduino UNO Microcontrollar.docx
PPTX
Introduction to Arduino with ArduBlock & SparkFun LilyPad
PPTX
Arduino Workshop
PDF
NSTA 2013 Denver - ArduBlock and Arduino
PDF
SPARKNaCl: A verified, fast cryptographic library
PPTX
Arduino board program for Mobile robotss
PDF
Intro to Arduino Revision #2
PPTX
Arduino Workshop (3).pptx
PDF
Ardx experimenters-guide-web
PDF
arduinocourse-180308074529 (1).pdf
PDF
Ardx eg-spar-web-rev10
PPTX
Arduino Slides With Neopixels
PPTX
Introduction to the Arduino
PDF
Arduino Programming for Basic Robotics - University of Moratuwa
PDF
Arduino: Arduino starter kit
PDF
Arduino experimenters guide hq
PDF
Lily pad dev_handout
KEY
Intro to Arduino
PPTX
Introduction to Arduino Microcontroller
PDF
Arduino experimenters guide ARDX
Lab Manual Arduino UNO Microcontrollar.docx
Introduction to Arduino with ArduBlock & SparkFun LilyPad
Arduino Workshop
NSTA 2013 Denver - ArduBlock and Arduino
SPARKNaCl: A verified, fast cryptographic library
Arduino board program for Mobile robotss
Intro to Arduino Revision #2
Arduino Workshop (3).pptx
Ardx experimenters-guide-web
arduinocourse-180308074529 (1).pdf
Ardx eg-spar-web-rev10
Arduino Slides With Neopixels
Introduction to the Arduino
Arduino Programming for Basic Robotics - University of Moratuwa
Arduino: Arduino starter kit
Arduino experimenters guide hq
Lily pad dev_handout
Intro to Arduino
Introduction to Arduino Microcontroller
Arduino experimenters guide ARDX

Recently uploaded (20)

PPTX
Geodesy 1.pptx...............................................
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
composite construction of structures.pdf
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
Well-logging-methods_new................
PPTX
additive manufacturing of ss316l using mig welding
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
web development for engineering and engineering
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPT
Project quality management in manufacturing
Geodesy 1.pptx...............................................
Lecture Notes Electrical Wiring System Components
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Foundation to blockchain - A guide to Blockchain Tech
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
composite construction of structures.pdf
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Embodied AI: Ushering in the Next Era of Intelligent Systems
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Internet of Things (IOT) - A guide to understanding
Well-logging-methods_new................
additive manufacturing of ss316l using mig welding
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
R24 SURVEYING LAB MANUAL for civil enggi
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
web development for engineering and engineering
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Project quality management in manufacturing

Introduction to Arduino Programming