SlideShare a Scribd company logo
1 of 19
Introduction to Arduino
What is Arduino?
 At the heart of the Arduino is the microcontroller. A microcontroller is a
standalone, singlechip integrated circuit that contains a CPU, read-only
memory, random access memory and various I/O busses. The Arduino
UNO R3 which we will be using uses the ATmega328 chip.
 Specs are:
 However do not be too concerned if you do not understand all those
specifications because we will be interacting with the microcontroller
using the interface that the Arduino board provides us.
 It is good to know these specifications as you begin to develop more
complex applications because they do put limits on what we can do.
Flash Memory
32 KB (ATmega328P) of which
0.5 KB used by bootloader
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Clock Speed 16 MHz
EEPROM: Electrically
Erasable Programmable
Read-Only Memory. Non-
volatile memory.
Can be erased and
reprogrammed using a
pulsed voltage
Note:
Most Arduino boards use
the Atmel 8-bit AVR
microcontroller.
What is Arduino?
 The Arduino is an open source hardware and software platform that is
incredibly powerful yet easy to use.
 You can look at and download the code from any of the Arduino
repositories on GitHub here:
 https://github.com/arduino
 This platform has captured the imagination of electronic enthusiasts
and the maker community everywhere. It enables people to
inexpensively experiment with electronic prototypes and see their
projects come to life.
 Projects can range from simply making an LED blink or recording the
temperature to controlling 3D printers or making robots.
 While there are numerous models of the Arduino, in this course we
will primarily be using the very popular Arduino UNO R3 board.
Arduino Uno's R3 board layout
DC supply Input: The DC supply input can
be used with an AC-to-DC power
adapter or a battery. The power source
can be connected using a 2.1 mm
centerpositive plug. The Arduino Uno
operates at 5 volts but can have a
maximum input of 20 volts; however, it is
recommended to not use more than 12V.
Voltage Regulator: The Arduino uses a
linear regulator to control the voltage
going into the board.
USB Port: The USB port can be used to
power and program the board.
RESET button: This button, when
pressed, will reset the board.
ICSP for USB: The in-circuit serial
programming pins are used to flash the
firmware on the USB interface chip.
ICSP for ATmega328: The in-circuit serial
programming pins are used to flash the
firmware on the ATmega microcontroller.
ATmega328: The microcontroller for the
Arduino Uno board.
Digital and PWM connectors: These pins, labeled 0 to 13, can be used as
either a digital input or output pins. The pins labeled with the tilde (~) can
also be used for Pulse-Width Modulation (PWM) output.
Analog In Connectors: The pins, labeled A0 to A5, can be
used for analog input. These pins can be used to read the
output from analog sensors.
Power and External Reset: These pins in this header,
provide ground and power for external devices and
sensors from the Arduino. The Arduino can also be
powered through these pins. There is also a reset pin
that can be used to reset the Arduino.
Arduino shields
 An Arduino shield is a modular circuit
board that plugs directly into the pin
headers of the Arduino board.
 These shields will add extra
functionality to the Arduino board.
 If we are looking to connect to the
internet, do speech recognition,
control DC motors or add other
functionality to the Arduino, there is
probably a shield that can help us.
 While you don’t have to use shields,
they do make adding extra
functionality to our Arduino boards
very easy.
Arduino looks with two shields attached:
 A shield fits on top of the
Arduino by plugging directly
into the pin headers.
 We can also stack one shield
on top of another if they do
not use the same resources.
Here is how an
Arduino pin
 There is a total of
31 pins in the
Arduino Uno pin
headers.
 Most of these pins
can be configured to
perform different
functions.
Digital pins
 Used the most when
connecting external sensors.
 These pins can be configured
for either input or output.
 These pins default to an
input state
 The digital pins will have one
of two values: HIGH (1),
which is 5V, or LOW (0),
which is 0V.
Analog input pins
 The Arduino Uno contains a
built-in Analog-To-Digital
(ADC) converter with six
channels, which gives us six
analog input pins. The ADC
converts an analog signal into
a digital value.
 While the digital pins have two
values, either high or low, the
analog input pins have values
from 0 to 1023 relative to the
reference value of the
Arduino.
 The Arduino Uno has a
reference value of 5V.
 Used to read analog sensors
such as rangefinders and
temperature sensors.
 The six analog pins can also be
configured as digital pins if we
run out of digital pins in our
project.
PWM pins
 Where the analog input pins
are designed to read analog
sensors (input), the PWM pins
are designed for output.
PWM is a technique for
obtaining analog results
with digital output.
 Since a digital output can be
either on or off, to obtain
the analog output the digital
output is switch between
HIGH and LOW rapidly.
 The percentage of the time
that the signal is high is
called the duty cycle.
Duty cycle
 We have the ability to set the
frequency of how fast the signal can
switch between HIGH and LOW.
 This frequency is measured in Hertz
and sets how many times the signal
can switch per second.
 For example, if we set the frequency
to 500 Hz, that would mean that
the signal could switch 500 times a
second.
 This will be come clearer as we use
the pins.
Power pins
 VIN: This pin is used when
we power the Arduino board
using an external power
supply.
 GND: These are the ground
pins.
 5V: This is 5V out and is used
to power most sensors.
 3.3V: This is 3.3V out and
can be used to power sensors
that are compatible with
3.3V.
 Reset: This pin can be used
to reset the Arduino board by
an external source.
 ioref: This is the reference
voltage for the board. For
the Arduino, this will be 5V.
Serial pins
 Used for serial
communication.
 The RX (digital pin 0) is used
to receive.
 TX (digital pin 1) is used to
transmit.
 Serial communications work
on binary (1’s and 0’s).
 Provided for legacy reasons
primarily.
SPI pins
 The Serial Peripheral Interface
(SPI) pins are used for a
synchronous serial data protocol
that is used by microcontrollers for
communicating with peripheral
devices.
 This protocol always has one
master with one or more slave
devices.
 MISO: The Master in Slave out pin
is used to send data from the slave
to the master device.
 MOSI: The Master out Slave in the
pin is used to send data from the
master to the slave device.
 SCK: The serial clock synchronizes
the data transmission and is
generated by the master.
 SS: The slave select pin tells the
slave to go active or to go to sleep.
This is used to select which slave
device should receive the
transmission from the master.
Installing the IDE
 The first step in programming an Arduino board install the
Arduino IDE (integrated development environment).
 Linux/Raspberry PI
 This program checks code and loads it onto the Arduino.
Install the latest version of Arduino IDE using apt:
 sudo apt-get update && sudo apt-get upgrade
 sudo apt-get install Arduino
 Windows
 Download from:
https://www.arduino.cc/en/Main/Software
Programming in for Arduino
 The Arduino programming language is
based on a very simple hardware
programming language called processing,
which is similar to the C language.
 You create sketches which contain your
code
 After the sketch is written in the Arduino
IDE, it should be uploaded on the Arduino
board for execution.
void setup( )
{
statements;
}
void loop( )
{
statement;
}
The setup function is the first to
execute when the program is
executed, and this function is
called only once.
Used to initialize the pin modes
and start serial communication.
This function has to be included
even if there are no statements
to execute.
The execution block runs after
setup and hosts statements like
reading inputs, triggering outputs,
checking conditions etc..
As the name suggests, the loop( )
function executes the set of
statements (enclosed in curly
braces) repeatedly.
Basic code
structure
Example
program
int led = 9; // The digital pin to which the LED is connected
int brightness = 0; // Brightness of LED is initially set to 0
int fade = 5; // By how many points the LED should fade
void setup()
{
pinMode(led, OUTPUT); //pin 10 is set as output pin
}
void loop() // The loop function runs again and again
{
analogWrite(led, brightness); // set the brightness of LED
brightness = brightness + fade; //Increase the brightness of LED by 5 points
if (brightness <= 0 || brightness >= 255) // check the level of brightness
{
fade = -fade;
}
delay(30); // Wait for 30 milliseconds
}
LED fade-in and
fade-out

More Related Content

Similar to Introduction to Arduino 16822775 (2).ppt

POWERPOINT PRESENTATION ABOUT THE PARTS OF ARDUINO UNO
POWERPOINT PRESENTATION ABOUT THE PARTS OF ARDUINO UNOPOWERPOINT PRESENTATION ABOUT THE PARTS OF ARDUINO UNO
POWERPOINT PRESENTATION ABOUT THE PARTS OF ARDUINO UNOMarcheryAlingal
 
Office automation system using arduino
Office automation system using arduinoOffice automation system using arduino
Office automation system using arduinoAshfaqul Haque John
 
Arduino and Circuits.docx
Arduino and Circuits.docxArduino and Circuits.docx
Arduino and Circuits.docxAjay578679
 
Basics of open source embedded development board (
Basics of open source embedded development board (Basics of open source embedded development board (
Basics of open source embedded development board (Dhruwank Vankawala
 
Basics of open source embedded development board (
Basics of open source embedded development board (Basics of open source embedded development board (
Basics of open source embedded development board (Dhruwank Vankawala
 
Arduino windows remote control
Arduino windows remote controlArduino windows remote control
Arduino windows remote controlVilayatAli5
 
Arduino arduino boarduno
Arduino   arduino boardunoArduino   arduino boarduno
Arduino arduino boardunoFilipe Campos
 
Robotics Session day 1
Robotics Session day 1Robotics Session day 1
Robotics Session day 1Afzal Ahmad
 
Unit 2-IoT.ppt Introduction to Elements of IOT
Unit 2-IoT.ppt  Introduction to Elements of IOTUnit 2-IoT.ppt  Introduction to Elements of IOT
Unit 2-IoT.ppt Introduction to Elements of IOTpoojashinde511268
 
Touch Switch (Smart Switches) by arduino Project report file
Touch Switch (Smart Switches) by arduino  Project  report fileTouch Switch (Smart Switches) by arduino  Project  report file
Touch Switch (Smart Switches) by arduino Project report fileimkanhaiyalal
 
Education Documantary
Education DocumantaryEducation Documantary
Education Documantarytagataho
 
IOT ARDUINO UNO.pptx
IOT ARDUINO UNO.pptxIOT ARDUINO UNO.pptx
IOT ARDUINO UNO.pptxSanaMateen7
 

Similar to Introduction to Arduino 16822775 (2).ppt (20)

POWERPOINT PRESENTATION ABOUT THE PARTS OF ARDUINO UNO
POWERPOINT PRESENTATION ABOUT THE PARTS OF ARDUINO UNOPOWERPOINT PRESENTATION ABOUT THE PARTS OF ARDUINO UNO
POWERPOINT PRESENTATION ABOUT THE PARTS OF ARDUINO UNO
 
Office automation system using arduino
Office automation system using arduinoOffice automation system using arduino
Office automation system using arduino
 
Arduino and Circuits.docx
Arduino and Circuits.docxArduino and Circuits.docx
Arduino and Circuits.docx
 
ARDUINO (1).pdf
ARDUINO (1).pdfARDUINO (1).pdf
ARDUINO (1).pdf
 
arduino uno
arduino unoarduino uno
arduino uno
 
Arduino Uno
Arduino UnoArduino Uno
Arduino Uno
 
Basics of open source embedded development board (
Basics of open source embedded development board (Basics of open source embedded development board (
Basics of open source embedded development board (
 
Basics of open source embedded development board (
Basics of open source embedded development board (Basics of open source embedded development board (
Basics of open source embedded development board (
 
raushan
raushanraushan
raushan
 
Arduino Family
Arduino FamilyArduino Family
Arduino Family
 
Arduino windows remote control
Arduino windows remote controlArduino windows remote control
Arduino windows remote control
 
Animatronic hand controller
Animatronic hand controllerAnimatronic hand controller
Animatronic hand controller
 
Arduino arduino boarduno
Arduino   arduino boardunoArduino   arduino boarduno
Arduino arduino boarduno
 
Robotics Session day 1
Robotics Session day 1Robotics Session day 1
Robotics Session day 1
 
Unit 2-IoT.ppt Introduction to Elements of IOT
Unit 2-IoT.ppt  Introduction to Elements of IOTUnit 2-IoT.ppt  Introduction to Elements of IOT
Unit 2-IoT.ppt Introduction to Elements of IOT
 
Touch Switch (Smart Switches) by arduino Project report file
Touch Switch (Smart Switches) by arduino  Project  report fileTouch Switch (Smart Switches) by arduino  Project  report file
Touch Switch (Smart Switches) by arduino Project report file
 
Arduino Programming Basic
Arduino Programming BasicArduino Programming Basic
Arduino Programming Basic
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Education Documantary
Education DocumantaryEducation Documantary
Education Documantary
 
IOT ARDUINO UNO.pptx
IOT ARDUINO UNO.pptxIOT ARDUINO UNO.pptx
IOT ARDUINO UNO.pptx
 

More from ansariparveen06

More from ansariparveen06 (20)

discrete mathematics binary%20trees.pptx
discrete mathematics binary%20trees.pptxdiscrete mathematics binary%20trees.pptx
discrete mathematics binary%20trees.pptx
 
Fundamentals of programming Arduino-Wk2.ppt
Fundamentals of programming Arduino-Wk2.pptFundamentals of programming Arduino-Wk2.ppt
Fundamentals of programming Arduino-Wk2.ppt
 
pscheduling.ppt
pscheduling.pptpscheduling.ppt
pscheduling.ppt
 
kmap.pptx
kmap.pptxkmap.pptx
kmap.pptx
 
Combinational_Logic_Circuit.pptx
Combinational_Logic_Circuit.pptxCombinational_Logic_Circuit.pptx
Combinational_Logic_Circuit.pptx
 
presentation_python_7_1569170870_375360.pptx
presentation_python_7_1569170870_375360.pptxpresentation_python_7_1569170870_375360.pptx
presentation_python_7_1569170870_375360.pptx
 
BCom-Sem2-Marketing-Digital-payment-Presentation.pptx
BCom-Sem2-Marketing-Digital-payment-Presentation.pptxBCom-Sem2-Marketing-Digital-payment-Presentation.pptx
BCom-Sem2-Marketing-Digital-payment-Presentation.pptx
 
dsa.ppt
dsa.pptdsa.ppt
dsa.ppt
 
11-IOManagement.ppt
11-IOManagement.ppt11-IOManagement.ppt
11-IOManagement.ppt
 
May14ProcessScheduling.ppt
May14ProcessScheduling.pptMay14ProcessScheduling.ppt
May14ProcessScheduling.ppt
 
UNIPROCESS SCHEDULING.pptx
UNIPROCESS SCHEDULING.pptxUNIPROCESS SCHEDULING.pptx
UNIPROCESS SCHEDULING.pptx
 
1-introduction-to-dart-programming.pptx
1-introduction-to-dart-programming.pptx1-introduction-to-dart-programming.pptx
1-introduction-to-dart-programming.pptx
 
CHAP4.pptx
CHAP4.pptxCHAP4.pptx
CHAP4.pptx
 
green IT cooling.pptx
green IT cooling.pptxgreen IT cooling.pptx
green IT cooling.pptx
 
06-Deadlocks.ppt
06-Deadlocks.ppt06-Deadlocks.ppt
06-Deadlocks.ppt
 
chp9 green IT.pptx
chp9 green IT.pptxchp9 green IT.pptx
chp9 green IT.pptx
 
regex.ppt
regex.pptregex.ppt
regex.ppt
 
BOM.ppt
BOM.pptBOM.ppt
BOM.ppt
 
Cooling.pptx
Cooling.pptxCooling.pptx
Cooling.pptx
 
exception%20handlingcpp.pptx
exception%20handlingcpp.pptxexception%20handlingcpp.pptx
exception%20handlingcpp.pptx
 

Recently uploaded

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxabhijeetpadhi001
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 

Recently uploaded (20)

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptx
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 

Introduction to Arduino 16822775 (2).ppt

  • 2. What is Arduino?  At the heart of the Arduino is the microcontroller. A microcontroller is a standalone, singlechip integrated circuit that contains a CPU, read-only memory, random access memory and various I/O busses. The Arduino UNO R3 which we will be using uses the ATmega328 chip.  Specs are:  However do not be too concerned if you do not understand all those specifications because we will be interacting with the microcontroller using the interface that the Arduino board provides us.  It is good to know these specifications as you begin to develop more complex applications because they do put limits on what we can do. Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328P) EEPROM 1 KB (ATmega328P) Clock Speed 16 MHz EEPROM: Electrically Erasable Programmable Read-Only Memory. Non- volatile memory. Can be erased and reprogrammed using a pulsed voltage Note: Most Arduino boards use the Atmel 8-bit AVR microcontroller.
  • 3. What is Arduino?  The Arduino is an open source hardware and software platform that is incredibly powerful yet easy to use.  You can look at and download the code from any of the Arduino repositories on GitHub here:  https://github.com/arduino  This platform has captured the imagination of electronic enthusiasts and the maker community everywhere. It enables people to inexpensively experiment with electronic prototypes and see their projects come to life.  Projects can range from simply making an LED blink or recording the temperature to controlling 3D printers or making robots.  While there are numerous models of the Arduino, in this course we will primarily be using the very popular Arduino UNO R3 board.
  • 4. Arduino Uno's R3 board layout DC supply Input: The DC supply input can be used with an AC-to-DC power adapter or a battery. The power source can be connected using a 2.1 mm centerpositive plug. The Arduino Uno operates at 5 volts but can have a maximum input of 20 volts; however, it is recommended to not use more than 12V. Voltage Regulator: The Arduino uses a linear regulator to control the voltage going into the board. USB Port: The USB port can be used to power and program the board. RESET button: This button, when pressed, will reset the board.
  • 5. ICSP for USB: The in-circuit serial programming pins are used to flash the firmware on the USB interface chip. ICSP for ATmega328: The in-circuit serial programming pins are used to flash the firmware on the ATmega microcontroller. ATmega328: The microcontroller for the Arduino Uno board.
  • 6. Digital and PWM connectors: These pins, labeled 0 to 13, can be used as either a digital input or output pins. The pins labeled with the tilde (~) can also be used for Pulse-Width Modulation (PWM) output. Analog In Connectors: The pins, labeled A0 to A5, can be used for analog input. These pins can be used to read the output from analog sensors. Power and External Reset: These pins in this header, provide ground and power for external devices and sensors from the Arduino. The Arduino can also be powered through these pins. There is also a reset pin that can be used to reset the Arduino.
  • 7. Arduino shields  An Arduino shield is a modular circuit board that plugs directly into the pin headers of the Arduino board.  These shields will add extra functionality to the Arduino board.  If we are looking to connect to the internet, do speech recognition, control DC motors or add other functionality to the Arduino, there is probably a shield that can help us.  While you don’t have to use shields, they do make adding extra functionality to our Arduino boards very easy.
  • 8. Arduino looks with two shields attached:  A shield fits on top of the Arduino by plugging directly into the pin headers.  We can also stack one shield on top of another if they do not use the same resources. Here is how an
  • 9. Arduino pin  There is a total of 31 pins in the Arduino Uno pin headers.  Most of these pins can be configured to perform different functions.
  • 10. Digital pins  Used the most when connecting external sensors.  These pins can be configured for either input or output.  These pins default to an input state  The digital pins will have one of two values: HIGH (1), which is 5V, or LOW (0), which is 0V.
  • 11. Analog input pins  The Arduino Uno contains a built-in Analog-To-Digital (ADC) converter with six channels, which gives us six analog input pins. The ADC converts an analog signal into a digital value.  While the digital pins have two values, either high or low, the analog input pins have values from 0 to 1023 relative to the reference value of the Arduino.  The Arduino Uno has a reference value of 5V.  Used to read analog sensors such as rangefinders and temperature sensors.  The six analog pins can also be configured as digital pins if we run out of digital pins in our project.
  • 12. PWM pins  Where the analog input pins are designed to read analog sensors (input), the PWM pins are designed for output. PWM is a technique for obtaining analog results with digital output.  Since a digital output can be either on or off, to obtain the analog output the digital output is switch between HIGH and LOW rapidly.  The percentage of the time that the signal is high is called the duty cycle.
  • 13. Duty cycle  We have the ability to set the frequency of how fast the signal can switch between HIGH and LOW.  This frequency is measured in Hertz and sets how many times the signal can switch per second.  For example, if we set the frequency to 500 Hz, that would mean that the signal could switch 500 times a second.  This will be come clearer as we use the pins.
  • 14. Power pins  VIN: This pin is used when we power the Arduino board using an external power supply.  GND: These are the ground pins.  5V: This is 5V out and is used to power most sensors.  3.3V: This is 3.3V out and can be used to power sensors that are compatible with 3.3V.  Reset: This pin can be used to reset the Arduino board by an external source.  ioref: This is the reference voltage for the board. For the Arduino, this will be 5V.
  • 15. Serial pins  Used for serial communication.  The RX (digital pin 0) is used to receive.  TX (digital pin 1) is used to transmit.  Serial communications work on binary (1’s and 0’s).  Provided for legacy reasons primarily.
  • 16. SPI pins  The Serial Peripheral Interface (SPI) pins are used for a synchronous serial data protocol that is used by microcontrollers for communicating with peripheral devices.  This protocol always has one master with one or more slave devices.  MISO: The Master in Slave out pin is used to send data from the slave to the master device.  MOSI: The Master out Slave in the pin is used to send data from the master to the slave device.  SCK: The serial clock synchronizes the data transmission and is generated by the master.  SS: The slave select pin tells the slave to go active or to go to sleep. This is used to select which slave device should receive the transmission from the master.
  • 17. Installing the IDE  The first step in programming an Arduino board install the Arduino IDE (integrated development environment).  Linux/Raspberry PI  This program checks code and loads it onto the Arduino. Install the latest version of Arduino IDE using apt:  sudo apt-get update && sudo apt-get upgrade  sudo apt-get install Arduino  Windows  Download from: https://www.arduino.cc/en/Main/Software
  • 18. Programming in for Arduino  The Arduino programming language is based on a very simple hardware programming language called processing, which is similar to the C language.  You create sketches which contain your code  After the sketch is written in the Arduino IDE, it should be uploaded on the Arduino board for execution. void setup( ) { statements; } void loop( ) { statement; } The setup function is the first to execute when the program is executed, and this function is called only once. Used to initialize the pin modes and start serial communication. This function has to be included even if there are no statements to execute. The execution block runs after setup and hosts statements like reading inputs, triggering outputs, checking conditions etc.. As the name suggests, the loop( ) function executes the set of statements (enclosed in curly braces) repeatedly. Basic code structure
  • 19. Example program int led = 9; // The digital pin to which the LED is connected int brightness = 0; // Brightness of LED is initially set to 0 int fade = 5; // By how many points the LED should fade void setup() { pinMode(led, OUTPUT); //pin 10 is set as output pin } void loop() // The loop function runs again and again { analogWrite(led, brightness); // set the brightness of LED brightness = brightness + fade; //Increase the brightness of LED by 5 points if (brightness <= 0 || brightness >= 255) // check the level of brightness { fade = -fade; } delay(30); // Wait for 30 milliseconds } LED fade-in and fade-out

Editor's Notes

  1. Alternating current (AC) is an electric current which periodically reverses direction, in contrast to direct current (DC) which flows only in one direction. In direct current (DC), the electric charge (current) only flows in one direction
  2. The Digital/PWM/Analog in/Power/Reset connectors are collectively known as the pin headers. The pins in these headers allow the Arduino to communicate with external sensors and other devices.
  3. A list of some compatible 3.3V sensors can be found here: https://www.dfrobot.com/wiki/index. php/3. 3V_ Compatible_ Device_ List
  4. Master is almost always your microcontroller Used for small peripherals such as shift registers, sensors, and SD cards