SlideShare a Scribd company logo
INTRODUCTION TO
ARDUINO
MICROCONTROLLERS
By: Mujahid Hussain
sirmujahid@Hotmail.com
Start with the name of Allah (SWT), Who is most Merciful and
Most Beneficent
WHAT IS ARDUINO
• Arduino is an open-source project
that created microcontroller-based
kits for building digital devices and
interactive objects that can sense
and control physical devices.
• These systems provide sets of digital
and analog input/output (I/O) pins
that can interface to various
expansion boards (termed shields)
and other circuits.
WHAT IS MICRO-CONTROLLER
• A microcontroller is basically a small-scale computer with
generalized (and programmable) inputs and outputs.
• The inputs and outputs can be manipulated by and can
manipulate the physical world.
• Programmers work in the virtual world.
• Machinery works in the physical world.
• How does one connect the virtual world to the physical world?
• Simply enter the Microcontroller.
ARDUINO TYPES
• Many different versions
• Number of input/output channels
• Form factor
• Processor
• Leonardo
• Due
• Micro
• LilyPad
• Esplora
• Uno
ARDUINO UNO
• Invented / Launched in 2010
• The pins are in three groups:
• 14 digital pins
• 6 analog pins
• 6 PWM pins
• Digital pin 0 & 1 is used for RX
TX
• 16MHz Clock speed
• 32KB Flash memory
• 2KB SRAM
• 1KB EEPROM
• Analog Reference pin (orange)
• Digital Ground (light green)
• Digital Pins 2-13 (green)
• Digital Pins 0-1/Serial In/Out - TX/RX (dark green)
- These pins cannot be used for digital i/o
(digitalRead and digitalWrite)
• Reset Button - S1 (dark blue)
• In-circuit Serial Programmer (blue-green)
• Analog In Pins 0-5 (light blue)
• Power and Ground Pins (power: orange, grounds:
light orange)
• External Power Supply In (9-12VDC) - X1 (pink)
• Toggles External Power and USB Power (place
jumper on two pins closest to desired supply) -
SV1 (purple)
• USB (used for uploading sketches to the board and
for serial communication between the board andhttps://www.arduino.cc/en/Reference/Board
THE ARDUINO IDE
The main features you need to know about are:
• Code area: This is where you will type all your
code
• Info panel: This will show any errors during
compiling or uploading code to your Arduino
• Verify: This allows you to compile your code to
code the Arduino understands. Any mistakes you
have made in the syntax of your code will be
show in the info pannel
• Upload: This does the same as verify but will
then send your code to your Arduino if the code
is verified successfully
• Serial Monitor: This will open a window that
allows you to send text to and from an Arduino.
We will use this feature in later lectures.
THE ARDUINO IDE
By far one of the most valuable part of the
Arduino software is its vast library of
example programs. All features of the
Arduino are demonstrated in these.
Optional libraries usually add their own
examples on how to use them.
If these examples don’t cover what you
need…. Google it!
BEFORE WE BEGIN CODING
STRUCTURE OF AN ARDUINO “SKETCH”
void setup()
{
// put your setup code here, to run once:
}
void loop()
{
// put your main code here, to run repeatedly:
}
FIRST PROGRAM, SINGLE LED SKETCH
int onBoardLED; // Variable Defined
void setup()
{
//Arduinos have an on-board LED on pin 13
onBoardLED = 13;
pinMode(onBoardLED, OUTPUT);
}
void loop()
{
digitalWrite(onBoardLED, HIGH);
delay(500); //delay measured in milliseconds
digitalWrite(onBoardLED, LOW);
delay(500);
}
LED LIGHT
USER INTERFACE (VISUAL BASIC)
USER INTERFACE CODE (VISUAL BASIC)
ARDUINO PROGRAM (SERIAL COM)
• The baud rate is the rate at
which information is
transferred in a
communication channel. In
the serial port context, "9600
baud" means that the serial
port is capable of
transferring a maximum of
9600 bits per second.
4 LED BLINK SKETCH
void setup( ) {
pinMode(1,
OUTPUT);
pinMode(3,
OUTPUT);
pinMode(5,
OUTPUT);
pinMode(7,
OUTPUT);
}
void loop( ) {
digitalWrite(1, HIGH);
delay (200);
digitalWrite(1, LOW);
digitalWrite(3, HIGH);
delay (200);
digitalWrite(3, LOW);
digitalWrite(5, HIGH);
delay (200);
digitalWrite(5, LOW);
digitalWrite(7, HIGH);
delay (200);
digitalWrite(7, LOW);
}
BREADBOARD
BREADBOARD
STRUCTURE
setup() {
• The setup() function is called when a sketch starts. Use it to initialize
variables, pin modes, start using libraries, etc. The setup function will
only run once, after each powerup or reset of the Arduino board.
}
loop() {
• After creating a setup() function, which initializes and sets the initial
values, the loop() function does precisely what its name suggests,
and loops consecutively, allowing your program to change and
respond. Use it to actively control the Arduino board.
}
CONTROL STRUCTURES
• if
• if...else
• for
• switch case
• while
• do... while
• break
• continue
• return
• goto
IF
• IF which is used in conjunction with a comparison operator,
tests whether a certain condition has been reached, such as an
input being above a certain number. The format for an if test is:
if (someVariable > 50)
{
// do something here
}
IF / ELSE
• if/else allows greater control over the flow of code than the
basic if statement, by allowing multiple tests to be grouped
together.
if (pinFiveInput < 500)
{ // action A }
else
{ // action B }
if (pinFiveInput < 500)
{ // do Thing A }
else if (pinFiveInput >= 1000)
{ // do Thing B }
else
{ // do Thing C }
SWITCH / CASE STATEMENTS:
• Like if statements, switch...case controls the flow of programs
by allowing programmers to specify different code that should
be executed in various conditions.
switch (var) {
case 1:
//do something when var equals 1
break;
case 2:
//do something when var equals 2
break;
default:
// if nothing else matches, do the default
// default is optional
break;
}
WHILE
• while loops will loop continuously, and infinitely, until the
expression inside the parenthesis, () becomes false. Something
must change the tested variable, or the while loop will never
exit. This could be in your code, such as an incremented
variable, or an external condition, such as testing a sensor.
var = 0;
while(var < 200){
// do something repetitive 200 times
var++;
}
ARITHMETIC OPERATORS
= (assignment operator)
+ (addition)
- (subtraction)
* (multiplication)
/ (division)
% (modulo)
COMPARISON OPERATORS
• == (equal to)
• != (not equal to)
• < (less than)
• > (greater than)
• <= (less than or equal to)
• >= (greater than or equal to)
BOOLEAN OPERATORS
• && (and)
• || (or)
• ! (not)
COMPOUND OPERATORS
• ++ (increment)
• -- (decrement)
• += (compound addition)
• -= (compound subtraction)
• *= (compound multiplication)
• /= (compound division)
• %= (compound modulo)
• &= (compound bitwise and)
• |= (compound bitwise or)
VARIABLE - CONSTANTS
• HIGH | LOW (High = On) (Low = Off)
• INPUT | OUTPUT (Input = Receive) (Output = Send)
• true | false
VARIABLE- DATA TYPES
• void
• boolean
• char
• unsigned char
• byte
• int
• unsigned int
• word
• long
• unsigned long
• short
• float
• double
• string - char array
• String - object
• array
FUNCTIONS- DIGITAL I/O
•pinMode()
Configures the specified pin to behave either as an input or an
output.
Syntax: pinMode(pin, mode)
int ledPin = 13; // LED connected to digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT);
// sets the digital pin as output
}
FUNCTIONS- DIGITAL I/O
•digitalWrite()
• Write a HIGH or a LOW value to a digital pin.
Syntax: digitalWrite(pin, value)
void loop()
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
}
FUNCTIONS- DIGITAL I/O
•pinMode()
and
•digitalWrite()
int ledPin = 13; // LED connected to digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT);
// sets the digital pin as output
}
void loop()
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
}
FUNCTIONS- DIGITAL I/O
•digitalRead()
1. Reads the value from a
specified digital pin,
either HIGH or LOW.
2. pin: the number of the
digital pin you want to
read (int)
int ledPin = 13; // LED connected to digital pin 13
int inPin = 7; // pushbutton connected to digital pin 7
int val = 0; // variable to store the read value
void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin 13
as output
pinMode(inPin, INPUT); // sets the digital pin 7 as
input
}
void loop()
{
val = digitalRead(inPin); // read the input pin
digitalWrite(ledPin, val); // sets the LED to the button's
value
}
MATH FUNCTIONS
• min()
• max()
• abs()
• constrain()
• map()
• pow()
• sqrt()
TRIGONOMETRY FUNCTIONS
• sin()
• cos()
• tan()
CHARACTERS FUNCTIONS
• isAlphaNumeric()
• isAlpha()
• isAscii()
• isWhitespace()
• isControl()
• isDigit()
• isGraph()
• isLowerCase()
• isPrintable()
• isPunct()
• isSpace()
• isUpperCase()
• isHexadecimalDigit()
MISCELLANEOUS
• Random Numbers
• randomSeed()
• random()
• Communication
• Serial()
• Stream()
• setTimeout()
THANKS
• Presented by:
Mujahid Hussain
MCS Student
@Preston University Main Campus

More Related Content

What's hot (20)

PPT
Intro to Arduino
avikdhupar
 
PPT
Arduino
vipin7vj
 
PPTX
PPT ON Arduino
Ravi Phadtare
 
PDF
Arduino Lecture 1 - Introducing the Arduino
Eoin Brazil
 
PPTX
Introduction to arduino
Ahmed Sakr
 
PPTX
Ardui no
Amol Sakhalkar
 
PPTX
Lesson sample introduction to arduino
Betsy Eng
 
PPTX
Arduino
Jerin John
 
PPT
arduino
jhcid
 
PPTX
Microprocessor and microcontrollers
Hiran Gabriel
 
PPTX
Embedded system design using arduino
Santosh Verma
 
PPTX
Arduino Workshop
atuline
 
PPTX
Internet of Things Using Arduino
Pantech ProLabs India Pvt Ltd
 
ODP
Introduction to Arduino
Richard Rixham
 
PPTX
Basics of arduino uno
Rahat Sood
 
PPTX
Esp8266 NodeMCU
roadster43
 
PPTX
Arduino for beginners- Introduction to Arduino (presentation) - codewithgauri
Gaurav Pandey
 
PPTX
Electronic components
archiesalangsang
 
PDF
Arduino Workshop Day 1 - Basic Arduino
Vishnu
 
PPTX
Advance Microcontroller AVR
Daksh Raj Chopra
 
Intro to Arduino
avikdhupar
 
Arduino
vipin7vj
 
PPT ON Arduino
Ravi Phadtare
 
Arduino Lecture 1 - Introducing the Arduino
Eoin Brazil
 
Introduction to arduino
Ahmed Sakr
 
Ardui no
Amol Sakhalkar
 
Lesson sample introduction to arduino
Betsy Eng
 
Arduino
Jerin John
 
arduino
jhcid
 
Microprocessor and microcontrollers
Hiran Gabriel
 
Embedded system design using arduino
Santosh Verma
 
Arduino Workshop
atuline
 
Internet of Things Using Arduino
Pantech ProLabs India Pvt Ltd
 
Introduction to Arduino
Richard Rixham
 
Basics of arduino uno
Rahat Sood
 
Esp8266 NodeMCU
roadster43
 
Arduino for beginners- Introduction to Arduino (presentation) - codewithgauri
Gaurav Pandey
 
Electronic components
archiesalangsang
 
Arduino Workshop Day 1 - Basic Arduino
Vishnu
 
Advance Microcontroller AVR
Daksh Raj Chopra
 

Viewers also liked (20)

PPTX
Arduino Microcontroller
Shyam Mohan
 
PDF
AVR_Course_Day4 introduction to microcontroller
Mohamed Ali
 
PPT
Arduino technical session 1
Audiomas Soni
 
PPTX
Introduction to Arduino
Yong Heui Cho
 
ODP
Arduino Presentation
Davide Gomba
 
PPTX
Wood eze log splitters
Log Splitters World
 
PPTX
IoT開發平台NodeMCU
承翰 蔡
 
PPTX
A Fast Introduction to Arduino and Addressable LED Strips
atuline
 
PDF
Smart wheelchair - Emotiv-EasyCap-OPENViBE - Final Report - 6-14-16
Sina Dabiri
 
PPTX
Buy arduino uno cheap
Robomart India
 
PPTX
Programming Addressable LED Strips
atuline
 
PPTX
Nodemcu - introduction
Michal Sedlak
 
PDF
Intro arduino English
SOAEnsAD
 
PDF
Introduction to Arduino
David Mellis
 
PPT
Robochair
Suganya Deivendran
 
PDF
Node MCU Fun
David Bosschaert
 
PDF
NodeMCU with Blynk and Firebase
Eueung Mulyana
 
DOCX
Android controlled Microcontroller (Arduino) based Motorized Wheelchair for H...
MD. Anamul Haque
 
PDF
Arduino Introduction Presentation
ericholm
 
PPTX
Android controlled Microcontroller (Arduino) based Motorized Wheelchair for H...
MD. Anamul Haque
 
Arduino Microcontroller
Shyam Mohan
 
AVR_Course_Day4 introduction to microcontroller
Mohamed Ali
 
Arduino technical session 1
Audiomas Soni
 
Introduction to Arduino
Yong Heui Cho
 
Arduino Presentation
Davide Gomba
 
Wood eze log splitters
Log Splitters World
 
IoT開發平台NodeMCU
承翰 蔡
 
A Fast Introduction to Arduino and Addressable LED Strips
atuline
 
Smart wheelchair - Emotiv-EasyCap-OPENViBE - Final Report - 6-14-16
Sina Dabiri
 
Buy arduino uno cheap
Robomart India
 
Programming Addressable LED Strips
atuline
 
Nodemcu - introduction
Michal Sedlak
 
Intro arduino English
SOAEnsAD
 
Introduction to Arduino
David Mellis
 
Node MCU Fun
David Bosschaert
 
NodeMCU with Blynk and Firebase
Eueung Mulyana
 
Android controlled Microcontroller (Arduino) based Motorized Wheelchair for H...
MD. Anamul Haque
 
Arduino Introduction Presentation
ericholm
 
Android controlled Microcontroller (Arduino) based Motorized Wheelchair for H...
MD. Anamul Haque
 
Ad

Similar to Introduction to Arduino Microcontroller (20)

PPTX
Introduction To Arduino-converted for s.pptx
rtnmsn
 
PPTX
Arduino
LetzkuLetz Castro
 
PPT
Arduino_CSE ece ppt for working and principal of arduino.ppt
SAURABHKUMAR892774
 
PPT
01 Intro to the Arduino and it's basics.ppt
pindi2197
 
PDF
arduino
murbz
 
PDF
4 IOT 18ISDE712 MODULE 4 IoT Physical Devices and End Point-Aurdino Uno.pdf
Jayanthi Kannan MK
 
PDF
introductiontoarduino-111120102058-phpapp02.pdf
HebaEng
 
PPTX
Arduino board program for Mobile robotss
VSARAVANAKUMARHICETS
 
PPTX
Ch_2_8,9,10.pptx
yosikit826
 
PPT
Arduino Platform with C programming.
Govind Jha
 
PDF
Intro to Arduino Programming.pdf
HimanshuDon1
 
PDF
Lesson-4-Arduino-Programming-dsBasics.pdf
unicaeli2020
 
PDF
The IoT Academy IoT Training Arduino Part 3 programming
The IOT Academy
 
PDF
Arduino reference
Marcos Henrique
 
PPTX
02 General Purpose Input - Output on the Arduino
Wingston
 
PDF
Syed IoT - module 5
Syed Mustafa
 
PDF
Ardx experimenters-guide-web
Jhonny Wladimir Peñaloza Cabello
 
PDF
Arduino for Beginners
Sarwan Singh
 
Introduction To Arduino-converted for s.pptx
rtnmsn
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
SAURABHKUMAR892774
 
01 Intro to the Arduino and it's basics.ppt
pindi2197
 
arduino
murbz
 
4 IOT 18ISDE712 MODULE 4 IoT Physical Devices and End Point-Aurdino Uno.pdf
Jayanthi Kannan MK
 
introductiontoarduino-111120102058-phpapp02.pdf
HebaEng
 
Arduino board program for Mobile robotss
VSARAVANAKUMARHICETS
 
Ch_2_8,9,10.pptx
yosikit826
 
Arduino Platform with C programming.
Govind Jha
 
Intro to Arduino Programming.pdf
HimanshuDon1
 
Lesson-4-Arduino-Programming-dsBasics.pdf
unicaeli2020
 
The IoT Academy IoT Training Arduino Part 3 programming
The IOT Academy
 
Arduino reference
Marcos Henrique
 
02 General Purpose Input - Output on the Arduino
Wingston
 
Syed IoT - module 5
Syed Mustafa
 
Ardx experimenters-guide-web
Jhonny Wladimir Peñaloza Cabello
 
Arduino for Beginners
Sarwan Singh
 
Ad

Recently uploaded (20)

PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 

Introduction to Arduino Microcontroller

  • 2. Start with the name of Allah (SWT), Who is most Merciful and Most Beneficent
  • 3. WHAT IS ARDUINO • Arduino is an open-source project that created microcontroller-based kits for building digital devices and interactive objects that can sense and control physical devices. • These systems provide sets of digital and analog input/output (I/O) pins that can interface to various expansion boards (termed shields) and other circuits.
  • 4. WHAT IS MICRO-CONTROLLER • A microcontroller is basically a small-scale computer with generalized (and programmable) inputs and outputs. • The inputs and outputs can be manipulated by and can manipulate the physical world. • Programmers work in the virtual world. • Machinery works in the physical world. • How does one connect the virtual world to the physical world? • Simply enter the Microcontroller.
  • 5. ARDUINO TYPES • Many different versions • Number of input/output channels • Form factor • Processor • Leonardo • Due • Micro • LilyPad • Esplora • Uno
  • 6. ARDUINO UNO • Invented / Launched in 2010 • The pins are in three groups: • 14 digital pins • 6 analog pins • 6 PWM pins • Digital pin 0 & 1 is used for RX TX • 16MHz Clock speed • 32KB Flash memory • 2KB SRAM • 1KB EEPROM
  • 7. • Analog Reference pin (orange) • Digital Ground (light green) • Digital Pins 2-13 (green) • Digital Pins 0-1/Serial In/Out - TX/RX (dark green) - These pins cannot be used for digital i/o (digitalRead and digitalWrite) • Reset Button - S1 (dark blue) • In-circuit Serial Programmer (blue-green) • Analog In Pins 0-5 (light blue) • Power and Ground Pins (power: orange, grounds: light orange) • External Power Supply In (9-12VDC) - X1 (pink) • Toggles External Power and USB Power (place jumper on two pins closest to desired supply) - SV1 (purple) • USB (used for uploading sketches to the board and for serial communication between the board andhttps://www.arduino.cc/en/Reference/Board
  • 8. THE ARDUINO IDE The main features you need to know about are: • Code area: This is where you will type all your code • Info panel: This will show any errors during compiling or uploading code to your Arduino • Verify: This allows you to compile your code to code the Arduino understands. Any mistakes you have made in the syntax of your code will be show in the info pannel • Upload: This does the same as verify but will then send your code to your Arduino if the code is verified successfully • Serial Monitor: This will open a window that allows you to send text to and from an Arduino. We will use this feature in later lectures.
  • 9. THE ARDUINO IDE By far one of the most valuable part of the Arduino software is its vast library of example programs. All features of the Arduino are demonstrated in these. Optional libraries usually add their own examples on how to use them. If these examples don’t cover what you need…. Google it!
  • 10. BEFORE WE BEGIN CODING
  • 11. STRUCTURE OF AN ARDUINO “SKETCH” void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: }
  • 12. FIRST PROGRAM, SINGLE LED SKETCH int onBoardLED; // Variable Defined void setup() { //Arduinos have an on-board LED on pin 13 onBoardLED = 13; pinMode(onBoardLED, OUTPUT); } void loop() { digitalWrite(onBoardLED, HIGH); delay(500); //delay measured in milliseconds digitalWrite(onBoardLED, LOW); delay(500); }
  • 15. USER INTERFACE CODE (VISUAL BASIC)
  • 16. ARDUINO PROGRAM (SERIAL COM) • The baud rate is the rate at which information is transferred in a communication channel. In the serial port context, "9600 baud" means that the serial port is capable of transferring a maximum of 9600 bits per second.
  • 17. 4 LED BLINK SKETCH void setup( ) { pinMode(1, OUTPUT); pinMode(3, OUTPUT); pinMode(5, OUTPUT); pinMode(7, OUTPUT); } void loop( ) { digitalWrite(1, HIGH); delay (200); digitalWrite(1, LOW); digitalWrite(3, HIGH); delay (200); digitalWrite(3, LOW); digitalWrite(5, HIGH); delay (200); digitalWrite(5, LOW); digitalWrite(7, HIGH); delay (200); digitalWrite(7, LOW); }
  • 20. STRUCTURE setup() { • The setup() function is called when a sketch starts. Use it to initialize variables, pin modes, start using libraries, etc. The setup function will only run once, after each powerup or reset of the Arduino board. } loop() { • After creating a setup() function, which initializes and sets the initial values, the loop() function does precisely what its name suggests, and loops consecutively, allowing your program to change and respond. Use it to actively control the Arduino board. }
  • 21. CONTROL STRUCTURES • if • if...else • for • switch case • while • do... while • break • continue • return • goto
  • 22. IF • IF which is used in conjunction with a comparison operator, tests whether a certain condition has been reached, such as an input being above a certain number. The format for an if test is: if (someVariable > 50) { // do something here }
  • 23. IF / ELSE • if/else allows greater control over the flow of code than the basic if statement, by allowing multiple tests to be grouped together. if (pinFiveInput < 500) { // action A } else { // action B } if (pinFiveInput < 500) { // do Thing A } else if (pinFiveInput >= 1000) { // do Thing B } else { // do Thing C }
  • 24. SWITCH / CASE STATEMENTS: • Like if statements, switch...case controls the flow of programs by allowing programmers to specify different code that should be executed in various conditions. switch (var) { case 1: //do something when var equals 1 break; case 2: //do something when var equals 2 break; default: // if nothing else matches, do the default // default is optional break; }
  • 25. WHILE • while loops will loop continuously, and infinitely, until the expression inside the parenthesis, () becomes false. Something must change the tested variable, or the while loop will never exit. This could be in your code, such as an incremented variable, or an external condition, such as testing a sensor. var = 0; while(var < 200){ // do something repetitive 200 times var++; }
  • 26. ARITHMETIC OPERATORS = (assignment operator) + (addition) - (subtraction) * (multiplication) / (division) % (modulo)
  • 27. COMPARISON OPERATORS • == (equal to) • != (not equal to) • < (less than) • > (greater than) • <= (less than or equal to) • >= (greater than or equal to)
  • 28. BOOLEAN OPERATORS • && (and) • || (or) • ! (not)
  • 29. COMPOUND OPERATORS • ++ (increment) • -- (decrement) • += (compound addition) • -= (compound subtraction) • *= (compound multiplication) • /= (compound division) • %= (compound modulo) • &= (compound bitwise and) • |= (compound bitwise or)
  • 30. VARIABLE - CONSTANTS • HIGH | LOW (High = On) (Low = Off) • INPUT | OUTPUT (Input = Receive) (Output = Send) • true | false
  • 31. VARIABLE- DATA TYPES • void • boolean • char • unsigned char • byte • int • unsigned int • word • long • unsigned long • short • float • double • string - char array • String - object • array
  • 32. FUNCTIONS- DIGITAL I/O •pinMode() Configures the specified pin to behave either as an input or an output. Syntax: pinMode(pin, mode) int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin as output }
  • 33. FUNCTIONS- DIGITAL I/O •digitalWrite() • Write a HIGH or a LOW value to a digital pin. Syntax: digitalWrite(pin, value) void loop() { digitalWrite(ledPin, HIGH); // sets the LED on delay(1000); // waits for a second digitalWrite(ledPin, LOW); // sets the LED off delay(1000); // waits for a second }
  • 34. FUNCTIONS- DIGITAL I/O •pinMode() and •digitalWrite() int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin as output } void loop() { digitalWrite(ledPin, HIGH); // sets the LED on delay(1000); // waits for a second digitalWrite(ledPin, LOW); // sets the LED off delay(1000); // waits for a second }
  • 35. FUNCTIONS- DIGITAL I/O •digitalRead() 1. Reads the value from a specified digital pin, either HIGH or LOW. 2. pin: the number of the digital pin you want to read (int) int ledPin = 13; // LED connected to digital pin 13 int inPin = 7; // pushbutton connected to digital pin 7 int val = 0; // variable to store the read value void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output pinMode(inPin, INPUT); // sets the digital pin 7 as input } void loop() { val = digitalRead(inPin); // read the input pin digitalWrite(ledPin, val); // sets the LED to the button's value }
  • 36. MATH FUNCTIONS • min() • max() • abs() • constrain() • map() • pow() • sqrt()
  • 38. CHARACTERS FUNCTIONS • isAlphaNumeric() • isAlpha() • isAscii() • isWhitespace() • isControl() • isDigit() • isGraph() • isLowerCase() • isPrintable() • isPunct() • isSpace() • isUpperCase() • isHexadecimalDigit()
  • 39. MISCELLANEOUS • Random Numbers • randomSeed() • random() • Communication • Serial() • Stream() • setTimeout()
  • 40. THANKS • Presented by: Mujahid Hussain MCS Student @Preston University Main Campus