SlideShare a Scribd company logo
Module – 4 IoT Physical Devices and End Point-Aurdino
Uno
1
Arduino:
 Arduino is an open-source electronics platform based on easy-
to-use hardware and software.
 Arduino boards are able to read inputs - light on a sensor, a
finger on a button, or a Twitter message - and turn it into an
output - activating a motor, turning on an LED, publishing
something online.
Module – 4 IoT Physical Devices and End Point-
Aurdino Uno
2
Arduino UNO:
 Arduino Uno is a microcontroller board based on the ATmega328P.
 It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6
analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP
header and a reset button.
 "Uno" means one in Italian and was chosen to mark the release of Arduino Software
(IDE) 1.0. The Uno board and version 1.0 of Arduino Software (IDE) were the
reference versions of Arduino, now evolved to newer releases.
Module – 4 IoT Physical Devices and End Point-
Aurdino Uno
3
1. Reset Button – This will restart any code that is loaded tothe
Arduino board
2. AREF – Stands for “Analog Reference” and is used to set an
external reference voltage
3. Ground Pin – There are a few ground pins on the Arduinoand
they all work the same
analog output
4.Digital Input/Output – Pins 0-13 can be used for digital input or 12. 3.3V Pin – This pin supplies 3.3 volts of power to your projects
output
13. 5V Pin – This pin supplies 5 volts of power to your projects
5. PWM – The pins marked with the (~) symbol can simulate
6. USB Connection – Used for powering up your Arduino and
uploading sketches
7. TX/RX – Transmit and receive data indicationLEDs
8. ATmega Microcontroller – This is the brains and is where the
programs are stored
9. Power LED Indicator – This LED lights up anytime the board is
plugged in a power source
10. Voltage Regulator – This controls the amount of voltage going
into the Arduino board
11. DC Power Barrel Jack – This is used for poweringyour
Arduino with a power supply
14. Ground Pins – There are a few ground pins on theArduino
and they all work the same
15. Analog Pins – These pins can read the signal from an analog
sensor and convert it to digital
9
Module – 4 IoT Physical Devices and End Point-
Aurdino Uno
Module –4 IoT Physical Devices and End Point-Aurdino
Uno
Fundamentals of Arduino Programming:
Two required functions / methods / routines:
void setup()
{
// runs once
}
void loop()
{
// repeats
}
10
digitalWrite()
analogWrite()
digitalRead()
if() statements/ Boolean
analogRead()
Serialcommunication
BIG
6
CONCEPTS
Comments, Comments, Comments
Comments
// this is for single line comments
// it’s good to put at the top and before anything ‘tricky’
/* this is for multi-line comments
Like this…
And this….
*/
comments
Three commands to know…
pinMode(pin, INPUT/OUTPUT);
ex: pinMode(13, OUTPUT);
digitalWrite(pin, HIGH/LOW);
ex: digitalWrite(13, HIGH);
delay(time_ms);
ex: delay(2500); // delay of 2.5 sec.
// NOTE: -> commands are CASE-sensitive
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
}
SETUP
16 16
The setup section is used for assigning input and outputs
(Examples: motors, LED’s,sensors etc) to ports on theArduino
It also specifies whether the device is OUTPUT or INPUT
To do this we use the command “pinMode”
SETUP
void setup() {
pinMode(9, OUTPUT);
}
port #
Input or Output
void loop() {
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
}
L
OOP
Port # from setup
Turn the LED on
or off
Wait for 1 second
or 1000 milliseconds
13
int val = 5;
DECLARING A VARIABLE
Type
assignment
“becomes”
variable name
value
14
USING VARIABLES
int delayTime = 2000;
digitalWrite(greenLED, HIGH);
delay(delayTime);
}
int greenLED = 9;
void setup() {
Declare delayTime
pinMode(greenLED, OUTPUT)V;ariable
}
void loop() {
Use delayTime
digitalWrite(greenLED, LOVWa)ri;able
delay(delayTime);
15
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
16
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
23
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
if(true)
{
“perform some action”
}
25
int counter = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
if(counter < 10)
{
Serial.println(counter);
}
counter = counter + 1;
}
IF Example
Input & Output
Transferring data from the computer to an Arduino
is done using Serial Transmission
To setup Serial communication we use the following
26
void setup() {
Serial.begin(9600);
}
21
Writing to the Console
void setup() {
Serial.begin(9600);
Serial.println(“Hello World!”);
}
void loop() {}
22
IF - ELSE
Condition
if( “answer is true”)
{
“perform some action”
}
else
{
“perform some other action”
}
29
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
if( “answer is true”)
{
“perform some action”
}
else if( “answer is true”)
{
“perform some other action”
}
31
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
BOOLEAN OPERATORS - AND
27 32
If we want all of the conditions to be true we need to use ‘AND’ logic (AND gate)
We use the symbols &&
• Example
if ( val > 10 && val < 20)
BOOLEAN OPERATORS - OR
28
If we want either of the conditions to be true we need to use ‘OR’ logic (OR gate)
We use the symbols ||
• Example
if ( val < 10 || val > 20)
34
BOOLEAN VARIABLES
boolean done = true;
boolean done = false;
void setup() {
Serial.begin(9600);}
void loop() {
if(!done) {
Serial.println(“HELLOWORLD”);
done = true; }
}
Important functions
• Serial.println(value);
– Prints the value to the Serial Monitor on your computer
• pinMode(pin, mode);
– Configures a digital pin to read (input) or write (output) a digital value
• digitalRead(pin);
– Reads a digital value (HIGH or LOW) on a pin set for input
• digitalWrite(pin, value);
– Writes the digital value (HIGH or LOW) to a pin set for output
• Essential Programming Concepts
– Delay
– Infinite Loop
• General Input/Output
– Polling or Busy/Wait I/O
– Interrupt Processing
• Timers and Internal Inteerrupts
• High-Level Language Extensions
• Code Transformations for Embedded Computing
– Loop Unrolling
– Loop Merging
– Loop Peeling
– Loop Tiling
OUTLINE
• Delays are essential in embedded systems, unlike high-
performance systems where we want the program to
execute as fast as possible
• Delays are used to synchronize events, or read inputs
with a specific sampling freqency (more on Bus/Wait I/O)
DELAY (1/3)
• Okay, so how do we build a delay function?
• Our reference is the system clock frequency
• We use a register or a timer to measure ticks
• Each tick is 1/frequency
• Example: Assuming a 16-bit processor, an increment
and a jump instruction is 1-cycle each and a 10 MHz
system clock, build a 1-sec delay:
• T = 1/10 MHz = 100 ns
• 1 s/100 ns = 10,000,000
int i=5000000; //2 ticks per iteration
BACK: i--;
if (i!=0) goto BACK;
DELAY (3/3)
• Embedded Systems are mostly single-functioned
• Their core application never terminates
• Infinite loops are not forbidden as long as they are done
correctly
Infinite Loop (1/2)
void main()
{
light enum {RED, ORANGE, GREEN};
loop: light = RED; //no exit from loop!
delay(20000); //20-sec red
light = ORANGE;
//2-sed orange
delay(2000);
light = GREEN;
delay(20000);
goto loop;
//20-sec green
//just repeat sequence
}
Infinite Loop (2/2)

More Related Content

Similar to 4 IOT 18ISDE712 MODULE 4 IoT Physical Devices and End Point-Aurdino Uno.pdf

IoT Arduino UNO, RaspberryPi with Python, RaspberryPi Programming using Pytho...
IoT Arduino UNO, RaspberryPi with Python, RaspberryPi Programming using Pytho...IoT Arduino UNO, RaspberryPi with Python, RaspberryPi Programming using Pytho...
IoT Arduino UNO, RaspberryPi with Python, RaspberryPi Programming using Pytho...
Jayanthi Kannan MK
 
Arduino windows remote control
Arduino windows remote controlArduino windows remote control
Arduino windows remote control
VilayatAli5
 
Arduino Slides With Neopixels
Arduino Slides With NeopixelsArduino Slides With Neopixels
Arduino Slides With Neopixels
sdcharle
 
Arduino Day 1 Presentation
Arduino Day 1 PresentationArduino Day 1 Presentation
Arduino Day 1 Presentation
Yogendra Tamang
 
Arduino Programming
Arduino ProgrammingArduino Programming
Arduino Programming
Dr Karthikeyan Periasamy
 
Introduction to Arduino Microcontroller
Introduction to Arduino MicrocontrollerIntroduction to Arduino Microcontroller
Introduction to Arduino Microcontroller
Mujahid Hussain
 
Basics of arduino uno
Basics of arduino unoBasics of arduino uno
Basics of arduino uno
Rahat Sood
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
Luki B. Subekti
 
Fun with arduino
Fun with arduinoFun with arduino
Fun with arduino
Ravikumar Tiwari
 
Arduino Foundations
Arduino FoundationsArduino Foundations
Arduino Foundations
John Breslin
 
arduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdfarduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdf
ssusere5db05
 
Arduino course
Arduino courseArduino course
Arduino course
Ahmed Shelbaya
 
Arduino-2 (1).ppt
Arduino-2 (1).pptArduino-2 (1).ppt
Arduino-2 (1).ppt
HebaEng
 
Arduin0.ppt
Arduin0.pptArduin0.ppt
Arduin0.ppt
GopalRathinam1
 
teststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptxteststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptx
ethannguyen1618
 
Physical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digitalPhysical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digital
Tony Olsson.
 
Physical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digitalPhysical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digital
Tony Olsson.
 
Arduino_Beginner.pptx
Arduino_Beginner.pptxArduino_Beginner.pptx
Arduino_Beginner.pptx
shivagoud45
 
Arduino Programming Familiarization
Arduino Programming FamiliarizationArduino Programming Familiarization
Arduino Programming Familiarization
Amit Kumer Podder
 
IoT Basics with few Embedded System Connections for sensors
IoT Basics with few Embedded System Connections for sensorsIoT Basics with few Embedded System Connections for sensors
IoT Basics with few Embedded System Connections for sensors
saritasapkal
 

Similar to 4 IOT 18ISDE712 MODULE 4 IoT Physical Devices and End Point-Aurdino Uno.pdf (20)

IoT Arduino UNO, RaspberryPi with Python, RaspberryPi Programming using Pytho...
IoT Arduino UNO, RaspberryPi with Python, RaspberryPi Programming using Pytho...IoT Arduino UNO, RaspberryPi with Python, RaspberryPi Programming using Pytho...
IoT Arduino UNO, RaspberryPi with Python, RaspberryPi Programming using Pytho...
 
Arduino windows remote control
Arduino windows remote controlArduino windows remote control
Arduino windows remote control
 
Arduino Slides With Neopixels
Arduino Slides With NeopixelsArduino Slides With Neopixels
Arduino Slides With Neopixels
 
Arduino Day 1 Presentation
Arduino Day 1 PresentationArduino Day 1 Presentation
Arduino Day 1 Presentation
 
Arduino Programming
Arduino ProgrammingArduino Programming
Arduino Programming
 
Introduction to Arduino Microcontroller
Introduction to Arduino MicrocontrollerIntroduction to Arduino Microcontroller
Introduction to Arduino Microcontroller
 
Basics of arduino uno
Basics of arduino unoBasics of arduino uno
Basics of arduino uno
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Fun with arduino
Fun with arduinoFun with arduino
Fun with arduino
 
Arduino Foundations
Arduino FoundationsArduino Foundations
Arduino Foundations
 
arduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdfarduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdf
 
Arduino course
Arduino courseArduino course
Arduino course
 
Arduino-2 (1).ppt
Arduino-2 (1).pptArduino-2 (1).ppt
Arduino-2 (1).ppt
 
Arduin0.ppt
Arduin0.pptArduin0.ppt
Arduin0.ppt
 
teststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptxteststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptx
 
Physical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digitalPhysical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digital
 
Physical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digitalPhysical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digital
 
Arduino_Beginner.pptx
Arduino_Beginner.pptxArduino_Beginner.pptx
Arduino_Beginner.pptx
 
Arduino Programming Familiarization
Arduino Programming FamiliarizationArduino Programming Familiarization
Arduino Programming Familiarization
 
IoT Basics with few Embedded System Connections for sensors
IoT Basics with few Embedded System Connections for sensorsIoT Basics with few Embedded System Connections for sensors
IoT Basics with few Embedded System Connections for sensors
 

More from Jayanthi Kannan MK

1 18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
1  18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...1  18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
1 18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
Jayanthi Kannan MK
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
Jayanthi Kannan MK
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
Jayanthi Kannan MK
 
Unit 2 Smart Objects _IOT by Dr.M.K.Jayanthi.pdf
Unit 2 Smart Objects _IOT  by Dr.M.K.Jayanthi.pdfUnit 2 Smart Objects _IOT  by Dr.M.K.Jayanthi.pdf
Unit 2 Smart Objects _IOT by Dr.M.K.Jayanthi.pdf
Jayanthi Kannan MK
 
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
Jayanthi Kannan MK
 
3 IOT Part 3 IP as the IoT Network Layer Access Technologies.pdf
3 IOT Part 3 IP as the IoT Network Layer Access Technologies.pdf3 IOT Part 3 IP as the IoT Network Layer Access Technologies.pdf
3 IOT Part 3 IP as the IoT Network Layer Access Technologies.pdf
Jayanthi Kannan MK
 
1 Unit 1 Introduction _IOT by Dr.M.K.Jayanthi Kannan (1).pdf
1 Unit 1  Introduction _IOT  by Dr.M.K.Jayanthi Kannan (1).pdf1 Unit 1  Introduction _IOT  by Dr.M.K.Jayanthi Kannan (1).pdf
1 Unit 1 Introduction _IOT by Dr.M.K.Jayanthi Kannan (1).pdf
Jayanthi Kannan MK
 
Introduction to Internet of Things
 Introduction to Internet of Things Introduction to Internet of Things
Introduction to Internet of Things
Jayanthi Kannan MK
 
ADBMS Object and Object Relational Databases
ADBMS  Object  and Object Relational Databases ADBMS  Object  and Object Relational Databases
ADBMS Object and Object Relational Databases
Jayanthi Kannan MK
 

More from Jayanthi Kannan MK (9)

1 18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
1  18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...1  18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
1 18CS54 _Software Engineering and Testing _Introduction to CO PO _Syllabus ...
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 
Unit 2 Smart Objects _IOT by Dr.M.K.Jayanthi.pdf
Unit 2 Smart Objects _IOT  by Dr.M.K.Jayanthi.pdfUnit 2 Smart Objects _IOT  by Dr.M.K.Jayanthi.pdf
Unit 2 Smart Objects _IOT by Dr.M.K.Jayanthi.pdf
 
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
 
3 IOT Part 3 IP as the IoT Network Layer Access Technologies.pdf
3 IOT Part 3 IP as the IoT Network Layer Access Technologies.pdf3 IOT Part 3 IP as the IoT Network Layer Access Technologies.pdf
3 IOT Part 3 IP as the IoT Network Layer Access Technologies.pdf
 
1 Unit 1 Introduction _IOT by Dr.M.K.Jayanthi Kannan (1).pdf
1 Unit 1  Introduction _IOT  by Dr.M.K.Jayanthi Kannan (1).pdf1 Unit 1  Introduction _IOT  by Dr.M.K.Jayanthi Kannan (1).pdf
1 Unit 1 Introduction _IOT by Dr.M.K.Jayanthi Kannan (1).pdf
 
Introduction to Internet of Things
 Introduction to Internet of Things Introduction to Internet of Things
Introduction to Internet of Things
 
ADBMS Object and Object Relational Databases
ADBMS  Object  and Object Relational Databases ADBMS  Object  and Object Relational Databases
ADBMS Object and Object Relational Databases
 

Recently uploaded

Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
ShahulHameed54211
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
Himani415946
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
TristanJasperRamos
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 

Recently uploaded (16)

Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 

4 IOT 18ISDE712 MODULE 4 IoT Physical Devices and End Point-Aurdino Uno.pdf

  • 1. Module – 4 IoT Physical Devices and End Point-Aurdino Uno 1 Arduino:  Arduino is an open-source electronics platform based on easy- to-use hardware and software.  Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online.
  • 2. Module – 4 IoT Physical Devices and End Point- Aurdino Uno 2 Arduino UNO:  Arduino Uno is a microcontroller board based on the ATmega328P.  It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP header and a reset button.  "Uno" means one in Italian and was chosen to mark the release of Arduino Software (IDE) 1.0. The Uno board and version 1.0 of Arduino Software (IDE) were the reference versions of Arduino, now evolved to newer releases.
  • 3. Module – 4 IoT Physical Devices and End Point- Aurdino Uno 3
  • 4. 1. Reset Button – This will restart any code that is loaded tothe Arduino board 2. AREF – Stands for “Analog Reference” and is used to set an external reference voltage 3. Ground Pin – There are a few ground pins on the Arduinoand they all work the same analog output 4.Digital Input/Output – Pins 0-13 can be used for digital input or 12. 3.3V Pin – This pin supplies 3.3 volts of power to your projects output 13. 5V Pin – This pin supplies 5 volts of power to your projects 5. PWM – The pins marked with the (~) symbol can simulate 6. USB Connection – Used for powering up your Arduino and uploading sketches 7. TX/RX – Transmit and receive data indicationLEDs 8. ATmega Microcontroller – This is the brains and is where the programs are stored 9. Power LED Indicator – This LED lights up anytime the board is plugged in a power source 10. Voltage Regulator – This controls the amount of voltage going into the Arduino board 11. DC Power Barrel Jack – This is used for poweringyour Arduino with a power supply 14. Ground Pins – There are a few ground pins on theArduino and they all work the same 15. Analog Pins – These pins can read the signal from an analog sensor and convert it to digital 9 Module – 4 IoT Physical Devices and End Point- Aurdino Uno
  • 5. Module –4 IoT Physical Devices and End Point-Aurdino Uno Fundamentals of Arduino Programming: Two required functions / methods / routines: void setup() { // runs once } void loop() { // repeats } 10
  • 7. Comments, Comments, Comments Comments // this is for single line comments // it’s good to put at the top and before anything ‘tricky’ /* this is for multi-line comments Like this… And this…. */
  • 9. Three commands to know… pinMode(pin, INPUT/OUTPUT); ex: pinMode(13, OUTPUT); digitalWrite(pin, HIGH/LOW); ex: digitalWrite(13, HIGH); delay(time_ms); ex: delay(2500); // delay of 2.5 sec. // NOTE: -> commands are CASE-sensitive
  • 10. 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 }
  • 11. SETUP 16 16 The setup section is used for assigning input and outputs (Examples: motors, LED’s,sensors etc) to ports on theArduino It also specifies whether the device is OUTPUT or INPUT To do this we use the command “pinMode”
  • 12. SETUP void setup() { pinMode(9, OUTPUT); } port # Input or Output
  • 13. void loop() { digitalWrite(9, HIGH); delay(1000); digitalWrite(9, LOW); delay(1000); } L OOP Port # from setup Turn the LED on or off Wait for 1 second or 1000 milliseconds 13
  • 14. int val = 5; DECLARING A VARIABLE Type assignment “becomes” variable name value 14
  • 15. USING VARIABLES int delayTime = 2000; digitalWrite(greenLED, HIGH); delay(delayTime); } int greenLED = 9; void setup() { Declare delayTime pinMode(greenLED, OUTPUT)V;ariable } void loop() { Use delayTime digitalWrite(greenLED, LOVWa)ri;able delay(delayTime); 15
  • 16. 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 16 delayTime to gradually increase LED’s blinking speed
  • 17. Conditions To make decisions in Arduino code we use an ‘if’ statement ‘If’ statements are based on a TRUE or FALSE question
  • 18. 23 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
  • 20. 25 int counter = 0; void setup() { Serial.begin(9600); } void loop() { if(counter < 10) { Serial.println(counter); } counter = counter + 1; } IF Example
  • 21. Input & Output Transferring data from the computer to an Arduino is done using Serial Transmission To setup Serial communication we use the following 26 void setup() { Serial.begin(9600); } 21
  • 22. Writing to the Console void setup() { Serial.begin(9600); Serial.println(“Hello World!”); } void loop() {} 22
  • 23. IF - ELSE Condition if( “answer is true”) { “perform some action” } else { “perform some other action” }
  • 24. 29 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
  • 25. IF - ELSE IF Condition if( “answer is true”) { “perform some action” } else if( “answer is true”) { “perform some other action” }
  • 26. 31 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
  • 27. BOOLEAN OPERATORS - AND 27 32 If we want all of the conditions to be true we need to use ‘AND’ logic (AND gate) We use the symbols && • Example if ( val > 10 && val < 20)
  • 28. BOOLEAN OPERATORS - OR 28 If we want either of the conditions to be true we need to use ‘OR’ logic (OR gate) We use the symbols || • Example if ( val < 10 || val > 20)
  • 29. 34 BOOLEAN VARIABLES boolean done = true; boolean done = false; void setup() { Serial.begin(9600);} void loop() { if(!done) { Serial.println(“HELLOWORLD”); done = true; } }
  • 30. Important functions • Serial.println(value); – Prints the value to the Serial Monitor on your computer • pinMode(pin, mode); – Configures a digital pin to read (input) or write (output) a digital value • digitalRead(pin); – Reads a digital value (HIGH or LOW) on a pin set for input • digitalWrite(pin, value); – Writes the digital value (HIGH or LOW) to a pin set for output
  • 31. • Essential Programming Concepts – Delay – Infinite Loop • General Input/Output – Polling or Busy/Wait I/O – Interrupt Processing • Timers and Internal Inteerrupts • High-Level Language Extensions • Code Transformations for Embedded Computing – Loop Unrolling – Loop Merging – Loop Peeling – Loop Tiling OUTLINE
  • 32. • Delays are essential in embedded systems, unlike high- performance systems where we want the program to execute as fast as possible • Delays are used to synchronize events, or read inputs with a specific sampling freqency (more on Bus/Wait I/O) DELAY (1/3)
  • 33. • Okay, so how do we build a delay function? • Our reference is the system clock frequency • We use a register or a timer to measure ticks • Each tick is 1/frequency • Example: Assuming a 16-bit processor, an increment and a jump instruction is 1-cycle each and a 10 MHz system clock, build a 1-sec delay: • T = 1/10 MHz = 100 ns • 1 s/100 ns = 10,000,000 int i=5000000; //2 ticks per iteration BACK: i--; if (i!=0) goto BACK; DELAY (3/3)
  • 34. • Embedded Systems are mostly single-functioned • Their core application never terminates • Infinite loops are not forbidden as long as they are done correctly Infinite Loop (1/2)
  • 35. void main() { light enum {RED, ORANGE, GREEN}; loop: light = RED; //no exit from loop! delay(20000); //20-sec red light = ORANGE; //2-sed orange delay(2000); light = GREEN; delay(20000); goto loop; //20-sec green //just repeat sequence } Infinite Loop (2/2)