SlideShare una empresa de Scribd logo
1 de 40
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

Más contenido relacionado

La actualidad más candente

Introduction to the Arduino
Introduction to the ArduinoIntroduction to the Arduino
Introduction to the Arduino
Wingston
 

La actualidad más candente (20)

Embedded System Basics
Embedded System BasicsEmbedded System Basics
Embedded System Basics
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Buzzer
BuzzerBuzzer
Buzzer
 
Interfacing with Arduino
Interfacing with ArduinoInterfacing with Arduino
Interfacing with Arduino
 
Introduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and ProgrammingIntroduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and Programming
 
Introduction to Node MCU
Introduction to Node MCUIntroduction to Node MCU
Introduction to Node MCU
 
Basics of arduino uno
Basics of arduino unoBasics of arduino uno
Basics of arduino uno
 
Lesson sample introduction to arduino
Lesson sample   introduction to arduinoLesson sample   introduction to arduino
Lesson sample introduction to arduino
 
Arduino Workshop Day 2 - Advance Arduino & DIY
Arduino Workshop Day 2 - Advance Arduino & DIYArduino Workshop Day 2 - Advance Arduino & DIY
Arduino Workshop Day 2 - Advance Arduino & DIY
 
Introduction to the Arduino
Introduction to the ArduinoIntroduction to the Arduino
Introduction to the Arduino
 
Interrupt in real time system
Interrupt in real time system Interrupt in real time system
Interrupt in real time system
 
INFRARED SENSOR WORKING PRINCIPLE AND CIRCUIT
INFRARED SENSOR WORKING PRINCIPLE AND CIRCUITINFRARED SENSOR WORKING PRINCIPLE AND CIRCUIT
INFRARED SENSOR WORKING PRINCIPLE AND CIRCUIT
 
Arduino Uno Pin Description
Arduino Uno Pin DescriptionArduino Uno Pin Description
Arduino Uno Pin Description
 
Patient Health Monitoring System Using Arduino & ESP8266
Patient Health Monitoring System Using Arduino & ESP8266Patient Health Monitoring System Using Arduino & ESP8266
Patient Health Monitoring System Using Arduino & ESP8266
 
ESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started GuideESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started Guide
 
Arduino course
Arduino courseArduino course
Arduino course
 
Arduino Introduction (Blinking LED) Presentation (workshop #5)
Arduino  Introduction (Blinking LED)  Presentation (workshop #5)Arduino  Introduction (Blinking LED)  Presentation (workshop #5)
Arduino Introduction (Blinking LED) Presentation (workshop #5)
 
Ardui no
Ardui no Ardui no
Ardui no
 
What is Arduino ?
What is Arduino ?What is Arduino ?
What is Arduino ?
 
L8 understanding-atmega328 p-1
L8 understanding-atmega328 p-1L8 understanding-atmega328 p-1
L8 understanding-atmega328 p-1
 

Destacado

Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
Ahmed Sakr
 
Smart wheelchair - Emotiv-EasyCap-OPENViBE - Final Report - 6-14-16
Smart wheelchair - Emotiv-EasyCap-OPENViBE - Final Report - 6-14-16Smart wheelchair - Emotiv-EasyCap-OPENViBE - Final Report - 6-14-16
Smart wheelchair - Emotiv-EasyCap-OPENViBE - Final Report - 6-14-16
Sina Dabiri
 

Destacado (20)

Arduino Microcontroller
Arduino MicrocontrollerArduino Microcontroller
Arduino Microcontroller
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
 
Arduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the ArduinoArduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the Arduino
 
AVR_Course_Day4 introduction to microcontroller
AVR_Course_Day4 introduction to microcontrollerAVR_Course_Day4 introduction to microcontroller
AVR_Course_Day4 introduction to microcontroller
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Arduino technical session 1
Arduino technical session 1Arduino technical session 1
Arduino technical session 1
 
Arduino Presentation
Arduino PresentationArduino Presentation
Arduino Presentation
 
Wood eze log splitters
Wood eze log splittersWood eze log splitters
Wood eze log splitters
 
IoT開發平台NodeMCU
IoT開發平台NodeMCUIoT開發平台NodeMCU
IoT開發平台NodeMCU
 
A Fast Introduction to Arduino and Addressable LED Strips
A Fast Introduction to Arduino and Addressable LED StripsA Fast Introduction to Arduino and Addressable LED Strips
A Fast Introduction to Arduino and Addressable LED Strips
 
Smart wheelchair - Emotiv-EasyCap-OPENViBE - Final Report - 6-14-16
Smart wheelchair - Emotiv-EasyCap-OPENViBE - Final Report - 6-14-16Smart wheelchair - Emotiv-EasyCap-OPENViBE - Final Report - 6-14-16
Smart wheelchair - Emotiv-EasyCap-OPENViBE - Final Report - 6-14-16
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Buy arduino uno cheap
Buy arduino uno cheapBuy arduino uno cheap
Buy arduino uno cheap
 
Programming Addressable LED Strips
Programming Addressable LED StripsProgramming Addressable LED Strips
Programming Addressable LED Strips
 
Nodemcu - introduction
Nodemcu - introductionNodemcu - introduction
Nodemcu - introduction
 
Intro arduino English
Intro arduino EnglishIntro arduino English
Intro arduino English
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Robochair
RobochairRobochair
Robochair
 
Node MCU Fun
Node MCU FunNode MCU Fun
Node MCU Fun
 
NodeMCU with Blynk and Firebase
NodeMCU with Blynk and FirebaseNodeMCU with Blynk and Firebase
NodeMCU with Blynk and Firebase
 

Similar a Introduction to Arduino Microcontroller

arduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdfarduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdf
ssusere5db05
 
teststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptxteststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptx
ethannguyen1618
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
SAURABHKUMAR892774
 
4 IOT 18ISDE712 MODULE 4 IoT Physical Devices and End Point-Aurdino Uno.pdf
4 IOT 18ISDE712  MODULE 4 IoT Physical Devices and End Point-Aurdino  Uno.pdf4 IOT 18ISDE712  MODULE 4 IoT Physical Devices and End Point-Aurdino  Uno.pdf
4 IOT 18ISDE712 MODULE 4 IoT Physical Devices and End Point-Aurdino Uno.pdf
Jayanthi Kannan MK
 
introductiontoarduino-111120102058-phpapp02.pdf
introductiontoarduino-111120102058-phpapp02.pdfintroductiontoarduino-111120102058-phpapp02.pdf
introductiontoarduino-111120102058-phpapp02.pdf
HebaEng
 
Arduino Workshop (3).pptx
Arduino Workshop (3).pptxArduino Workshop (3).pptx
Arduino Workshop (3).pptx
HebaEng
 

Similar a Introduction to Arduino Microcontroller (20)

arduinoedit.pptx
arduinoedit.pptxarduinoedit.pptx
arduinoedit.pptx
 
Arduino
ArduinoArduino
Arduino
 
Arduino Slides With Neopixels
Arduino Slides With NeopixelsArduino Slides With Neopixels
Arduino Slides With Neopixels
 
arduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdfarduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdf
 
Arduino Programming Familiarization
Arduino Programming FamiliarizationArduino Programming Familiarization
Arduino Programming Familiarization
 
teststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptxteststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptx
 
Arduino.pptx
Arduino.pptxArduino.pptx
Arduino.pptx
 
Arduino Workshop @ MSA University
Arduino Workshop @ MSA UniversityArduino Workshop @ MSA University
Arduino Workshop @ MSA University
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
4 IOT 18ISDE712 MODULE 4 IoT Physical Devices and End Point-Aurdino Uno.pdf
4 IOT 18ISDE712  MODULE 4 IoT Physical Devices and End Point-Aurdino  Uno.pdf4 IOT 18ISDE712  MODULE 4 IoT Physical Devices and End Point-Aurdino  Uno.pdf
4 IOT 18ISDE712 MODULE 4 IoT Physical Devices and End Point-Aurdino Uno.pdf
 
Introduction of Arduino Uno
Introduction of Arduino UnoIntroduction of Arduino Uno
Introduction of Arduino Uno
 
Arduino Programming Basic
Arduino Programming BasicArduino Programming Basic
Arduino Programming Basic
 
Arduino اردوينو
Arduino اردوينوArduino اردوينو
Arduino اردوينو
 
Syed IoT - module 5
Syed  IoT - module 5Syed  IoT - module 5
Syed IoT - module 5
 
IOT beginnners
IOT beginnnersIOT beginnners
IOT beginnners
 
IOT beginnners
IOT beginnnersIOT beginnners
IOT beginnners
 
introductiontoarduino-111120102058-phpapp02.pdf
introductiontoarduino-111120102058-phpapp02.pdfintroductiontoarduino-111120102058-phpapp02.pdf
introductiontoarduino-111120102058-phpapp02.pdf
 
Arduino Workshop Slides
Arduino Workshop SlidesArduino Workshop Slides
Arduino Workshop Slides
 
Arduino slides
Arduino slidesArduino slides
Arduino slides
 
Arduino Workshop (3).pptx
Arduino Workshop (3).pptxArduino Workshop (3).pptx
Arduino Workshop (3).pptx
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

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