SlideShare a Scribd company logo
ARDUINO PROGRAMMING
Working with the Arduino microcontroller
2
Project Idea:
Automated Mini City
2
3
Mini City
• Light sensitive street lights
• Timed Traffic Lights
• Automated Gates using proximity sensor
• Cars that drive the City streets
3
Arduino Programming
USB (Data & Power)
Alternate Power (9V)
Digital I/O (2 – 13) Serial Transfer (0 -1)
Analog Input (0 – 5)
5V / 9V / GND (x2)
Power Source
Jumper
Reset
Compile Upload to controller
Text Output (Serial Data)
Code Editor
Serial Monitor
Arduino
IDE
Window
Arduino Code Basics
• Commands and other information are sent to
LED’s, motors and from sensors through digital
and analog input & output pins
7
Setup - Adding an LED
Arduino Code Basics
Arduino programs run on two basic sections:
void setup() {
//setup motors, sensors etc
}
void loop() {
// get information from sensors
// send commands to motors
}
9
SETUP
• The setup section is used for assigning input
and outputs (Examples: motors, LED’s,
sensors etc) to ports on the Arduino
• It also specifies whether the device is
OUTPUT or INPUT
• To do this we use the command “pinMode”
9
SETUP
void setup() {
pinMode(9, OUTPUT);
}
http://www.arduino.cc/en/Reference/HomePage
port #
Input or Output
11
void loop() {
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
}
LOOP
Port # from setup
Turn the LED on
or off
Wait for 1 second
or 1000 milliseconds
12
TASK 1
• Using 3 LED’s (red, yellow and green) build a
traffic light that
– Illuminates the green LED for 5 seconds
– Illuminates the yellow LED for 2 seconds
– Illuminates the red LED for 5 seconds
– repeats the sequence
• Note that after each illumination period the
LED is turned off!
12
13
TASK 2
• Modify Task 1 to have an advanced green
(blinking green LED) for 3 seconds before
illuminating the green LED for 5 seconds
13
14
Variables
• A variable is like “bucket”
• It holds numbers or other values temporarily
14
value
15
int val = 5;
DECLARING A VARIABLE
Type
variable name
assignment
“becomes”
value
16
Task
• Replace all delay times with variables
• Replace LED pin numbers with variables
16
17
USING VARIABLES
int delayTime = 2000;
int greenLED = 9;
void setup() {
pinMode(greenLED, OUTPUT);
}
void loop() {
digitalWrite(greenLED, HIGH);
delay(delayTime);
digitalWrite(greenLED, LOW);
delay(delayTime);
}
Declare delayTime
Variable
Use delayTime
Variable
18
Using Variables
int delayTime = 2000;
int greenLED = 9;
void setup() {
pinMode(greenLED, OUTPUT);
}
void loop() {
digitalWrite(greenLED, HIGH);
delay(delayTime);
digitalWrite(greenLED, LOW);
delayTime = delayTime - 100;
delay(delayTime);
} subtract 100 from
delayTime to gradually
increase LED’s blinking
speed
Conditions
•To make decisions in Arduino
code we use an ‘if’ statement
•‘If’ statements are based on a
TRUE or FALSE question
20
VALUE COMPARISONS
GREATER THAN
a > b
LESS
a < b
EQUAL
a == b
GREATER THAN OR EQUAL
a >= b
LESS THAN OR EQUAL
a <= b
NOT EQUAL
a != b
IF Condition
asdfadsf
if(true)
{
“perform some action”
}
22
int counter = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
if(counter < 10)
{
Serial.println(counter);
}
counter = counter + 1;
}
IF Example
23
TASK
• Create a program that resets the delayTime
to 2000 once it has reached 0
23
24
Input & Output
• Transferring data from the computer to an
Arduino is done using Serial Transmission
• To setup Serial communication we use the
following
24
void setup() {
Serial.begin(9600);
}
25
Writing to the Console
void setup() {
Serial.begin(9600);
Serial.println(“Hello World!”);
}
void loop() {}
26
Task
• Modify your traffic light code so that each time
a new LED is illuminated the console displays
the status of the stoplight
• Example
26
Advanced Green
Green
Yellow
Red
Advanced Green
...
IF - ELSE Condition
asdfadsf
if( “answer is true”)
{
“perform some action”
}
else
{
“perform some other action”
}
28
int counter = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
if(counter < 10)
{
Serial.println(“less than 10”);
}
else
{
Serial.println(“greater than or equal to 10”);
Serial.end();
}
counter = counter + 1;
}
IF - ELSE Example
IF - ELSE IF Condition
asdfadsf
if( “answer is true”)
{
“perform some action”
}
else if( “answer is true”)
{
“perform some other action”
}
30
int counter = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
if(counter < 10)
{
Serial.println(“less than 10”);
}
else if (counter == 10)
{
Serial.println(“equal to 10”);
}
else
{
Serial.println(“greater than 10”);
Serial.end();
}
counter = counter + 1;
}
IF - ELSE Example
31
BOOLEAN OPERATORS - AND
• If we want all of the conditions to be true we
need to use ‘AND’ logic (AND gate)
• We use the symbols &&
–Example
31
if ( val > 10 && val < 20)
32
BOOLEAN OPERATORS - OR
• If we want either of the conditions to be true
we need to use ‘OR’ logic (OR gate)
• We use the symbols ||
–Example
32
if ( val < 10 || val > 20)
33
TASK
• Create a program that illuminates the green
LED if the counter is less than 100,
illuminates the yellow LED if the counter is
between 101 and 200 and illuminates the
red LED if the counter is greater than 200
33
34
INPUT
• We can also use our Serial connection to get
input from the computer to be used by the
Arduino
int val = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
if(Serial.available() > 0)
{ val = Serial.read();
Serial.println(val);
}
}
35
Task
• Using input and output commands find the
ASCII values of
#
1
2
3
4
5
ASCII
49
50
51
52
53
#
6
7
8
9
ASCII
54
55
56
57
@
a
b
c
d
e
f
g
ASCII
97
98
99
100
101
102
103
@
h
i
j
k
l
m
n
ASCII
104
105
106
107
108
109
110
@
o
p
q
r
s
t
u
ASCII
111
112
113
114
115
116
117
@
v
w
x
y
z
ASCII
118
119
120
121
122
36
INPUT EXAMPLE
int val = 0;int greenLED = 13;void setup() {
Serial.begin(9600); pinMode(greenLED, OUTPUT);
}void loop() { if(Serial.available()>0) { val = Serial.read();
Serial.println(val); } if(val == 53) {
digitalWrite(greenLED, HIGH); } else {
digitalWrite(greenLED, LOW); }}
37
Task
• Create a program so that when the user
enters 1 the green light is illuminated, 2 the
yellow light is illuminated and 3 the red light
is illuminated
37
• Create a program so that when the user
enters ‘b’ the green light blinks, ‘g’ the green
light is illuminated ‘y’ the yellow light is
illuminated and ‘r’ the red light is illuminated
38
Task
• Light Mode Video
• Create a program that
– when the user enters ‘1’ all lights turn on
– when the user enters ‘2’ all lights flash
– when the user enters ‘3’ lights cycle repeatedly
– when the user enters ‘q’ or ‘e’ the lights turn off
–when + or - is pressed the speed of the LED
increase or decrease
39
BOOLEAN VARIABLES
boolean done = true;
40
Run-Once Example
40
boolean done = false;void setup() { Serial.begin(9600);}void loop() {
if(!done) { Serial.println(“HELLO WORLD”);
done = true; }
}
41
TASK
• Write a program that asks the user for a
number and outputs the number that is
entered. Once the number has been output
the program finishes.
– EXAMPLE:
41
Please enter a number: 1 <enter>
The number you entered was: 1
42
TASK
• Write a program that asks the user for a
number and outputs the number squared
that is entered. Once the number has been
output the program finishes.
Please enter a number: 4 <enter>
Your number squared is: 16
43
Christmas Light Assignment
• Using at least 5 LEDs create a program that
has at least 4 different modes
• Must use if statements and user input to
switch modes
• Marks:
– Creativity [4 Marks]
– Working user input [2 Marks]
– Four Working modes [2 Marks]
– Instructions [1 Mark]
43

More Related Content

Similar to Arduin0.ppt (20)

PPTX
Introduction to Arduino Microcontroller
Mujahid Hussain
 
PPTX
Introduction to the Arduino
Wingston
 
PPTX
Arduino Programming Familiarization
Amit Kumer Podder
 
PDF
Arduino reference
Marcos Henrique
 
PPTX
Arduino programming
MdAshrafulAlam47
 
PPT
Arduino_CSE ece ppt for working and principal of arduino.ppt
SAURABHKUMAR892774
 
PPT
Embedded system programming using Arduino microcontroller
Arun Kumar
 
PDF
Arduino programming part1
Amarjeetsingh Thakur
 
PPTX
Lecture1
Mohamed A. Sultan
 
PPTX
arduinoedit.pptx
rajalakshmi769433
 
PPTX
Introduction To Arduino-converted for s.pptx
rtnmsn
 
PPTX
Introduction to Arduino
Amarjeetsingh Thakur
 
PPTX
Introduction to Arduino
Amarjeetsingh Thakur
 
PPTX
AnalogWrite() function.pptxLight Indicator Replacement of traditional incande...
Kameshvra Dela Cruz
 
PPTX
Arduino board program for Mobile robotss
VSARAVANAKUMARHICETS
 
PPTX
Electronz_Chapter_2.pptx
Mokete5
 
PPTX
Arduino course
Ahmed Shelbaya
 
PDF
arduinocourse-180308074529 (1).pdf
ssusere5db05
 
PDF
ARUDINO UNO and RasberryPi with Python
Jayanthi Kannan MK
 
Introduction to Arduino Microcontroller
Mujahid Hussain
 
Introduction to the Arduino
Wingston
 
Arduino Programming Familiarization
Amit Kumer Podder
 
Arduino reference
Marcos Henrique
 
Arduino programming
MdAshrafulAlam47
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
SAURABHKUMAR892774
 
Embedded system programming using Arduino microcontroller
Arun Kumar
 
Arduino programming part1
Amarjeetsingh Thakur
 
arduinoedit.pptx
rajalakshmi769433
 
Introduction To Arduino-converted for s.pptx
rtnmsn
 
Introduction to Arduino
Amarjeetsingh Thakur
 
Introduction to Arduino
Amarjeetsingh Thakur
 
AnalogWrite() function.pptxLight Indicator Replacement of traditional incande...
Kameshvra Dela Cruz
 
Arduino board program for Mobile robotss
VSARAVANAKUMARHICETS
 
Electronz_Chapter_2.pptx
Mokete5
 
Arduino course
Ahmed Shelbaya
 
arduinocourse-180308074529 (1).pdf
ssusere5db05
 
ARUDINO UNO and RasberryPi with Python
Jayanthi Kannan MK
 

Recently uploaded (20)

PDF
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PPTX
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
PDF
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
PDF
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
PDF
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PPTX
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
PPTX
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
PDF
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
PPTX
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
PPTX
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
PDF
QNL June Edition hosted by Pragya the official Quiz Club of the University of...
Pragya - UEM Kolkata Quiz Club
 
PDF
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
PPTX
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PPTX
I AM MALALA The Girl Who Stood Up for Education and was Shot by the Taliban...
Beena E S
 
PPTX
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
PDF
Dimensions of Societal Planning in Commonism
StefanMz
 
PPTX
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
QNL June Edition hosted by Pragya the official Quiz Club of the University of...
Pragya - UEM Kolkata Quiz Club
 
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
I AM MALALA The Girl Who Stood Up for Education and was Shot by the Taliban...
Beena E S
 
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
Dimensions of Societal Planning in Commonism
StefanMz
 
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
Ad

Arduin0.ppt

  • 1. ARDUINO PROGRAMMING Working with the Arduino microcontroller
  • 3. 3 Mini City • Light sensitive street lights • Timed Traffic Lights • Automated Gates using proximity sensor • Cars that drive the City streets 3
  • 4. Arduino Programming USB (Data & Power) Alternate Power (9V) Digital I/O (2 – 13) Serial Transfer (0 -1) Analog Input (0 – 5) 5V / 9V / GND (x2) Power Source Jumper Reset
  • 5. Compile Upload to controller Text Output (Serial Data) Code Editor Serial Monitor Arduino IDE Window
  • 6. Arduino Code Basics • Commands and other information are sent to LED’s, motors and from sensors through digital and analog input & output pins
  • 8. Arduino Code Basics Arduino programs run on two basic sections: void setup() { //setup motors, sensors etc } void loop() { // get information from sensors // send commands to motors }
  • 9. 9 SETUP • The setup section is used for assigning input and outputs (Examples: motors, LED’s, sensors etc) to ports on the Arduino • It also specifies whether the device is OUTPUT or INPUT • To do this we use the command “pinMode” 9
  • 10. SETUP void setup() { pinMode(9, OUTPUT); } http://www.arduino.cc/en/Reference/HomePage port # Input or Output
  • 11. 11 void loop() { digitalWrite(9, HIGH); delay(1000); digitalWrite(9, LOW); delay(1000); } LOOP Port # from setup Turn the LED on or off Wait for 1 second or 1000 milliseconds
  • 12. 12 TASK 1 • Using 3 LED’s (red, yellow and green) build a traffic light that – Illuminates the green LED for 5 seconds – Illuminates the yellow LED for 2 seconds – Illuminates the red LED for 5 seconds – repeats the sequence • Note that after each illumination period the LED is turned off! 12
  • 13. 13 TASK 2 • Modify Task 1 to have an advanced green (blinking green LED) for 3 seconds before illuminating the green LED for 5 seconds 13
  • 14. 14 Variables • A variable is like “bucket” • It holds numbers or other values temporarily 14 value
  • 15. 15 int val = 5; DECLARING A VARIABLE Type variable name assignment “becomes” value
  • 16. 16 Task • Replace all delay times with variables • Replace LED pin numbers with variables 16
  • 17. 17 USING VARIABLES int delayTime = 2000; int greenLED = 9; void setup() { pinMode(greenLED, OUTPUT); } void loop() { digitalWrite(greenLED, HIGH); delay(delayTime); digitalWrite(greenLED, LOW); delay(delayTime); } Declare delayTime Variable Use delayTime Variable
  • 18. 18 Using Variables int delayTime = 2000; int greenLED = 9; void setup() { pinMode(greenLED, OUTPUT); } void loop() { digitalWrite(greenLED, HIGH); delay(delayTime); digitalWrite(greenLED, LOW); delayTime = delayTime - 100; delay(delayTime); } subtract 100 from delayTime to gradually increase LED’s blinking speed
  • 19. Conditions •To make decisions in Arduino code we use an ‘if’ statement •‘If’ statements are based on a TRUE or FALSE question
  • 20. 20 VALUE COMPARISONS GREATER THAN a > b LESS a < b EQUAL a == b GREATER THAN OR EQUAL a >= b LESS THAN OR EQUAL a <= b NOT EQUAL a != b
  • 22. 22 int counter = 0; void setup() { Serial.begin(9600); } void loop() { if(counter < 10) { Serial.println(counter); } counter = counter + 1; } IF Example
  • 23. 23 TASK • Create a program that resets the delayTime to 2000 once it has reached 0 23
  • 24. 24 Input & Output • Transferring data from the computer to an Arduino is done using Serial Transmission • To setup Serial communication we use the following 24 void setup() { Serial.begin(9600); }
  • 25. 25 Writing to the Console void setup() { Serial.begin(9600); Serial.println(“Hello World!”); } void loop() {}
  • 26. 26 Task • Modify your traffic light code so that each time a new LED is illuminated the console displays the status of the stoplight • Example 26 Advanced Green Green Yellow Red Advanced Green ...
  • 27. IF - ELSE Condition asdfadsf if( “answer is true”) { “perform some action” } else { “perform some other action” }
  • 28. 28 int counter = 0; void setup() { Serial.begin(9600); } void loop() { if(counter < 10) { Serial.println(“less than 10”); } else { Serial.println(“greater than or equal to 10”); Serial.end(); } counter = counter + 1; } IF - ELSE Example
  • 29. IF - ELSE IF Condition asdfadsf if( “answer is true”) { “perform some action” } else if( “answer is true”) { “perform some other action” }
  • 30. 30 int counter = 0; void setup() { Serial.begin(9600); } void loop() { if(counter < 10) { Serial.println(“less than 10”); } else if (counter == 10) { Serial.println(“equal to 10”); } else { Serial.println(“greater than 10”); Serial.end(); } counter = counter + 1; } IF - ELSE Example
  • 31. 31 BOOLEAN OPERATORS - AND • If we want all of the conditions to be true we need to use ‘AND’ logic (AND gate) • We use the symbols && –Example 31 if ( val > 10 && val < 20)
  • 32. 32 BOOLEAN OPERATORS - OR • If we want either of the conditions to be true we need to use ‘OR’ logic (OR gate) • We use the symbols || –Example 32 if ( val < 10 || val > 20)
  • 33. 33 TASK • Create a program that illuminates the green LED if the counter is less than 100, illuminates the yellow LED if the counter is between 101 and 200 and illuminates the red LED if the counter is greater than 200 33
  • 34. 34 INPUT • We can also use our Serial connection to get input from the computer to be used by the Arduino int val = 0; void setup() { Serial.begin(9600); } void loop() { if(Serial.available() > 0) { val = Serial.read(); Serial.println(val); } }
  • 35. 35 Task • Using input and output commands find the ASCII values of # 1 2 3 4 5 ASCII 49 50 51 52 53 # 6 7 8 9 ASCII 54 55 56 57 @ a b c d e f g ASCII 97 98 99 100 101 102 103 @ h i j k l m n ASCII 104 105 106 107 108 109 110 @ o p q r s t u ASCII 111 112 113 114 115 116 117 @ v w x y z ASCII 118 119 120 121 122
  • 36. 36 INPUT EXAMPLE int val = 0;int greenLED = 13;void setup() { Serial.begin(9600); pinMode(greenLED, OUTPUT); }void loop() { if(Serial.available()>0) { val = Serial.read(); Serial.println(val); } if(val == 53) { digitalWrite(greenLED, HIGH); } else { digitalWrite(greenLED, LOW); }}
  • 37. 37 Task • Create a program so that when the user enters 1 the green light is illuminated, 2 the yellow light is illuminated and 3 the red light is illuminated 37 • Create a program so that when the user enters ‘b’ the green light blinks, ‘g’ the green light is illuminated ‘y’ the yellow light is illuminated and ‘r’ the red light is illuminated
  • 38. 38 Task • Light Mode Video • Create a program that – when the user enters ‘1’ all lights turn on – when the user enters ‘2’ all lights flash – when the user enters ‘3’ lights cycle repeatedly – when the user enters ‘q’ or ‘e’ the lights turn off –when + or - is pressed the speed of the LED increase or decrease
  • 40. 40 Run-Once Example 40 boolean done = false;void setup() { Serial.begin(9600);}void loop() { if(!done) { Serial.println(“HELLO WORLD”); done = true; } }
  • 41. 41 TASK • Write a program that asks the user for a number and outputs the number that is entered. Once the number has been output the program finishes. – EXAMPLE: 41 Please enter a number: 1 <enter> The number you entered was: 1
  • 42. 42 TASK • Write a program that asks the user for a number and outputs the number squared that is entered. Once the number has been output the program finishes. Please enter a number: 4 <enter> Your number squared is: 16
  • 43. 43 Christmas Light Assignment • Using at least 5 LEDs create a program that has at least 4 different modes • Must use if statements and user input to switch modes • Marks: – Creativity [4 Marks] – Working user input [2 Marks] – Four Working modes [2 Marks] – Instructions [1 Mark] 43