CS3691 PPT
CS3691 PPT
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
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
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
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);
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);
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);
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);
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