0% found this document useful (0 votes)
113 views

CS3691 PPT

This document provides an overview of IoT devices and Arduino programming, detailing the basic components, configurations, and the Arduino toolchain. It explains the architecture of 8-bit microcontrollers, the structure of Arduino sketches, and the functions for input/output operations. Additionally, it covers concepts such as encapsulation and the differences between digital and analog pins in Arduino programming.

Uploaded by

dhanushktvmking
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views

CS3691 PPT

This document provides an overview of IoT devices and Arduino programming, detailing the basic components, configurations, and the Arduino toolchain. It explains the architecture of 8-bit microcontrollers, the structure of Arduino sketches, and the functions for input/output operations. Additionally, it covers concepts such as encapsulation and the differences between digital and analog pins in Arduino programming.

Uploaded by

dhanushktvmking
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 93

UNIT NO 3

UNIT III IOT AND ARDUINO PROGRAMMING

Introduction to the Concept of IoT Devices – IoT Devices


Versus Computers – IoT Configurations– Basic Components
– Introduction to Arduino – Types of Arduino – Arduino
Toolchain – Arduino Programming Structure – Sketches –
III VI Pins – Input/Output From Pins Using Sketches –
Introduction to Arduino Shields – Integration of Sensors
CS3691/ESIOT and Actuators with Arduino

COMPUTER SCIENCE & ENGINEERING


Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING 9

Microcontroller – Architecture
• 8
• 8-bit microcontrollers are tiny computers that control the functionality of
everyday devices. They are known for their simplicity, efficiency, and low cost.

• Core Concepts
• 8-bit microcontrollers feature a central processing unit (CPU), memory, and
input/output (I/O) peripherals. They execute instructions from a program stored
in memory, reacting to external signals and controlling devices.

• -bit microcontrollers are tiny computers that control the functionality of everyday devices. They are known for their
simplicity, efficiency, and low cost.
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING 9
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING 9
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING 9
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Arduino
toolchain
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Combine and transform
• All program files are combined into one
• An §i nc 1ude is added to reference basic Arduino libraries
• Function prototypes are added
• A main ( ) function is created
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Cross-
compilation
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Compile and link


• avs-qcs is invoked to cross-compile the code
• Resulting code executes on AVR, not on Intel
• Generates an object file ( . o)
• Object file is linked to Arduino library functions
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Hex file creation and programming


• Ave-obj copy is invoked to change the format of the executable file
• A . hex file is generated from the . ed £ file
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Arduino
sketches
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Arduino programs
• A program is called a sketch
• C++ program using Arduino library functions
• C++ is a superset of C
• All C programs are legal C++
• C++ also includes classes
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Object-oriented programming
• Organize your code through encapsulation
• Group together data and functions that are related
• User-defined type is specific to an application
inc type has data (the number) and functions (+, —, *)
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Encapsulation
•example
Specify and operate on 3 points

int x, y; xl=0; point pl;


y1=0; plot(x1,yl); p1=newpoint(0,0);
p1.plot();

• All data contained in one objects


• Reduced number of parameters
• Point-specific functions are easily identified
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Sketch
structure
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

s etup function
• A sketch does not have a main ( ) function
• Every sketch has a setup ( ) function
Executed once when Arduino is powered up
• Used for initiali2ation operations
• Returns no value, takes no arguments

void setup() (
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Loop function
• Every sketch has a loop ( ) function
• Executed iteratively as long as the Arduino is powered up
• 1 oop ( ) starts executing after setup ( )
has finished
• 1 oop ( ) is the main program control flow
• Returns no value, takes no arguments

void loop() (
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING
Digital I/O
Pins
• Pins are wires connected to the
microcontroller
• Pins are the interface of the
microcontrolier
• Pin voltages are controlled by a
sketch
• Pin voltages can be read
by a sketch

Analog inputs
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Output
•pins
Output pins are controlled by the Arduino
• Voltage is determined
by your sketch
• Other components can be
controlled through outputs
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Input pins
• Input pins are controlled
by other components
• Arduino reads the voltage
on the pins
• Allows it to respond
to events and data
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Digital vs. analog


• Some pins are digital-only
• Read digital input, write digital output
• 0 volts or 5 volts
• SOme pins can be analog inputs
• Can read analog voltages on the pin
Useful for analog sensors
• Analog-only pins are clearly labeled
• No pins can generate an analog output
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Input and
output
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Input/output (I/O)
• These functions allow access to the pins
void pinMode(pin, mode)
• Sets a pin to act as either an input or an output
• pin is the number of the pin
• 0—13 for the digital pins
• A0—A5 for the analog pins
• code is the l/O mode the pin is set to
• INPU'I’, OUTPUT , or INPUT PULLUP
• INPU'I' POPUP acts as input with reversed polarity
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Digital input
int digitalRead(pin)
•Returns the state of an input pin
•Returns either LOW (0 volts) or HIGH (5 volts)
•Example
int pinval;
pinval - digitalRead(3);

• p irtva1 is set to the state of digital pin 3


Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Digital output
void digitalWrite(pin, value)
•Assigns the state of an output pin
•Assigns either LDS (0 volts) or HIGH (5 volts)
•Example
digitalWrite(3, HIGH);

• Digital pin 3 is set HIGH (S volts)


Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Analog input
1n k ana 1 ogRead (p1n )
•Returns the state of an analog input pin
•Returns an integer from 0 to 1023
•0 for 0 volts, 1023 for 5 volts
•Example
int pinval;
pinval = analogRead(A3);

• pinva1 is set to the voltage on A3 (0 for 0 volts, 1023 for 5 volts)


• The pin must be an analog pin
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Blink example
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Delay
vo 1d de 1 ay (user )
•Pauses the program for msec milliseconds
•Useful for human interaction
•Example
digitalWrite(3, HIGH); delay(1000) ; digitalWrite(3,LOW);

• Pin 3 is HIGH for 1 second


Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

Blink example
• Blink is the generic simple example for embedded systems
• Like “hello, world”

Connected to pin 13

• FileCExamplesW01.BasicsBlink
• Causes an LED to blink
• LED is built-in, so no wiring required
Computer Science & Engineering CS3691
ARUNAI
Blink
DIGITAL sketch
RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

void setup() l
pinMode(13, OUTPUT);

void loop()
digitalWrite(13, HIGH);
delay(1000); digitalWrite(13,
LOW);
delat(1000);
Computer Science & Engineering CS3691
ARUNAI
DIGITAL RESOURCE UNIT III IOT AND ARDUINO PROGRAMMING

You might also like