Arduino Programming Part1 Slides

download Arduino Programming Part1 Slides

of 19

Transcript of Arduino Programming Part1 Slides

  • 8/17/2019 Arduino Programming Part1 Slides

    1/19

    Arduino Programming

    Part 1EAS 199A, Fall 2010, Lecture 5

    Gerald RecktenwaldPortland State University

    [email protected]

  • 8/17/2019 Arduino Programming Part1 Slides

    2/19

    Arduino Programming: EAS 199A

    Overview

    • Discuss details, now that you had a taste

    • Arduino Environment

    • Basic code components! Two required functions: startup() and loop()

    ! Variables! Calling built-in functions

    2

  • 8/17/2019 Arduino Programming Part1 Slides

    3/19

    Arduino Programming: EAS 199A

    References

    • These notes borrow from! Arduino web site

    ! http://arduino.cc/en/Guide/Environment

    ! http://arduino.cc/en/Tutorial/HomePage

    ! Adafruit tutorial #1 and 2

    ! http://www.ladyada.net/learn/arduino/lesson2.html

    ! Leah Buechley’s Introduction to Arduino

    ! http://web.media.mit.edu/~leah/LilyPad/03_arduino_intro.html

    3

  • 8/17/2019 Arduino Programming Part1 Slides

    4/19

    Arduino Programming: EAS 199A

    Basic Process

    Design the circuit:! What are electrical requirements of the sensors or actuators?

    ! Identify inputs (analog inputs)

    ! Identify digital outputs

    Write the code! Build incrementally

    ! Get the simplest piece to work first

    ! Add complexity and test at each stage

    ! Save and Backup frequently

    ! Use variables, not constants

    ! Comment liberally

    4

  • 8/17/2019 Arduino Programming Part1 Slides

    5/19

    Arduino Programming: EAS 199A

    Writing and Downloading Code

    5

     A 

     A 

    Write sketch on PC

    Download sketch to Arduino

  • 8/17/2019 Arduino Programming Part1 Slides

    6/19

    Arduino Programming: EAS 199A

    Running Code While Tethered

    6

    Arduino interacts

    with its environment

     A 

    Run sketch on Arduino

    and send data back to PC

    Serial communication

    back to host

  • 8/17/2019 Arduino Programming Part1 Slides

    7/19

    Arduino Programming: EAS 199A

    Running Code Stand-Alone

    7

     A 

    Run Arduino in stand alone mode

    Arduino interacts with

    its environment and

    runs on battery power

  • 8/17/2019 Arduino Programming Part1 Slides

    8/19

    Arduino Programming: EAS 199A

    Arduino IDE

    8

    IDE =

    Integrated

    DevelopmentEnvironment

    Message pane

    Code pane

    Stop serial monitor

    New sketch

    Open sketch

    Save sketch

    Upload sketch

    Open Serial monitor

    Tab

    controls

    Verify/Compile

    http://www.arduino.cc/en/Guide/Environment

  • 8/17/2019 Arduino Programming Part1 Slides

    9/19

    Arduino Programming: EAS 199A

    Arduino IDE

    9

    Stop serial monitor

    New sketch

    Open sketch

    Save sketch

    Upload sketch

    Open Serial monitor

    Tabcontrols

    Verify/Compile

    http://www.arduino.cc/en/Guide/Environment

  • 8/17/2019 Arduino Programming Part1 Slides

    10/19

    Arduino Programming: EAS 199A

    Arduino Web Site References

    10

    • Overview of the development environment! http://www.arduino.cc/en/Guide/Environment

    • Language reference! http://arduino.cc/en/Reference/HomePage

    • Code tutorials! http://arduino.cc/en/Tutorial/HomePage

  • 8/17/2019 Arduino Programming Part1 Slides

    11/19

    Arduino Programming: EAS 199A

    Code Structure: Header

    11

    Header provides information.Later, it will also contain code

  • 8/17/2019 Arduino Programming Part1 Slides

    12/19

    Arduino Programming: EAS 199A

    Code Structure: setup function

    12

    setup function is executedonly once at the start

  • 8/17/2019 Arduino Programming Part1 Slides

    13/19

    Arduino Programming: EAS 199A

    Code Structure: loop function

    13

    loop function is

    repeated indefinitely

  • 8/17/2019 Arduino Programming Part1 Slides

    14/19

    Arduino Programming: EAS 199A

    Code

    14

    Digital I/O Functions:pinModedigitalWritedigitalRead

    pinMode(13, Output)

    prepare pin 13 foroutputs of voltage

  • 8/17/2019 Arduino Programming Part1 Slides

    15/19

    Arduino Programming: EAS 199A

    Code

    15

    Digital I/O Functions:pinModedigitalWritedigitalRead

    digitalWrite(13, HIGH)Sets pin 13 to voltagethat means “on”

  • 8/17/2019 Arduino Programming Part1 Slides

    16/19

    Arduino Programming: EAS 199A

    Code

    16

    Digital I/O Functions:pinModedigitalWritedigitalRead

    delay(1000);tells microcontroller to donothing for 1000 ms = 1 s

  • 8/17/2019 Arduino Programming Part1 Slides

    17/19

    Arduino Programming: EAS 199A

    Code

    17

    Digital I/O Functions:pinModedigitalWritedigitalRead

    digitalWrite(13, LOW)Sets pin 13 to voltagethat means “off”

  • 8/17/2019 Arduino Programming Part1 Slides

    18/19

    Arduino Programming: EAS 199A

    Arduino Variable Types

    18

    int Integer values: 1, 2, 3, -4, 7234

    float Values with non-zero fractional part, 7 digitsdouble Currently the same as a float. Normally a

    double stores values with non-zero fractionalpart, 15 digits

    char Character values: ‘a’, ‘b’, ‘D’, ‘1’

    boolean True or false values

  • 8/17/2019 Arduino Programming Part1 Slides

    19/19

    Arduino Programming: EAS 199A

    Using variables and functions

    19

    Assigning values:

    int red_LED_pin = 5;

    pinMode( red_LED_pin, OUTPUT );

    digitalWrite( red_LED_pin, HIGH );

    Defines the variable type as an integer

    Defines the variable name as red_LED_pin

    calls the function named “pinMode”

    Uses the value stored in red_LED_pin

    calls the function named “digitalWrite”

    HIGH and OUTPUT are pre-defined constants