You are on page 1of 19

Arduino Programming

Part 1
EAS 199A, Fall 2010, Lecture 5
Gerald Recktenwald
Portland State University
gerry@me.pdx.edu

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

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 Buechleys Introduction to Arduino


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

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

Arduino Programming: EAS 199A

Writing and Downloading Code


Write sketch on PC

Download sketch to Arduino

Arduino Programming: EAS 199A

Running Code While Tethered


Run sketch on Arduino
and send data back to PC

Arduino interacts
with its environment
A

Serial communication
back to host

Arduino Programming: EAS 199A

Running Code Stand-Alone

Run Arduino in stand alone mode

Arduino Programming: EAS 199A

Arduino interacts with


its environment and
runs on battery power

Arduino IDE

New sketch

Stop serial monitor


Verify/Compile

IDE =
Integrated
Development
Environment

Open sketch
Save sketch
Upload sketch
Open Serial monitor

Tab
controls

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

Code pane

Message pane
Arduino Programming: EAS 199A

Arduino IDE
New sketch

Stop serial monitor


Verify/Compile

Open sketch
Save sketch
Upload sketch
Open Serial monitor

Tab
controls

http://www.arduino.cc/en/Guide/Environment
Arduino Programming: EAS 199A

Arduino Web Site References


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

Arduino Programming: EAS 199A

10

Code Structure: Header

Header provides information.


Later, it will also contain code

Arduino Programming: EAS 199A

11

Code Structure: setup function

setup function is executed


only once at the start

Arduino Programming: EAS 199A

12

Code Structure: loop function

loop function is
repeated indefinitely

Arduino Programming: EAS 199A

13

Code

pinMode(13, Output)

prepare pin 13 for


outputs of voltage

Digital I/O Functions:


pinMode
digitalWrite
digitalRead
Arduino Programming: EAS 199A

14

Code

digitalWrite(13, HIGH)

Sets pin 13 to voltage


that means on

Digital I/O Functions:


pinMode
digitalWrite
digitalRead
Arduino Programming: EAS 199A

15

Code

delay(1000);

tells microcontroller to do
nothing for 1000 ms = 1 s

Digital I/O Functions:


pinMode
digitalWrite
digitalRead
Arduino Programming: EAS 199A

16

Code

digitalWrite(13, LOW)

Sets pin 13 to voltage


that means off

Digital I/O Functions:


pinMode
digitalWrite
digitalRead
Arduino Programming: EAS 199A

17

Arduino Variable Types

int

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

float
double

Values with non-zero fractional part, 7 digits


Currently the same as a float. Normally a
double stores values with non-zero fractional
part, 15 digits

char

Character values: a, b, D, 1

boolean

True or false values

Arduino Programming: EAS 199A

18

Using variables and functions


Assigning values:

Defines the variable name as red_LED_pin

int red_LED_pin = 5;
Defines the variable type as an integer
Uses the value stored in red_LED_pin

pinMode( red_LED_pin, OUTPUT );


calls the function named pinMode
HIGH and OUTPUT are pre-defined constants

digitalWrite( red_LED_pin, HIGH );


calls the function named digitalWrite

Arduino Programming: EAS 199A

19

You might also like