Learn Arduino with Olympia Circuits
Learn Arduino
  • Home
    • Get Started
    • How to Use This Site
  • Electronics
    • The Basics
    • Electricity Flows like Water
    • Electronic Components
    • The Arno Board
  • Programming
    • The Basics
    • setup and loop Blocks
    • Variables and Arrays
    • Connecting with the Pins
    • Flow Control >
      • if Statement
      • Loops
      • Delays
    • Functions
    • Serial Communication
    • USB
    • Some Thoughts
  • Projects
    • Projects 1 >
      • 1.01: Blink
      • 1.02 Blink x2
      • 1.03 Blink Faster
      • 1.04 LED Chase!
      • 1.05 Wait To Blink
      • 1.06 Blink a Little Faster Now
      • 1.07 LED Fade
      • 1.08 RGB Blink
      • 1.09 Change RGB Color with SW1
      • 1.10 Fade RGB Colors
      • 1.11 Reaction Time Game
    • Projects 2 >
      • 2.01 Hello World
      • 2.02 Talk Back
      • 2.03 ASCII Values
      • 2.04 Ski Game
      • 2.05 Demonstration of the String Object
    • Projects 3 >
      • 3.01 Read the Potentiometer
      • 3.02 ASCIIbet Soup
      • 3.03 Potentiometer sets LED Brightness
      • 3.04 Potentiometer Sets Blink Rate
      • 3.05 LED Chase, Part II
    • Projects 4 >
      • 4.01 Bringing the Piezo to Life
      • 4.02 Controlling the Piezo with a Function
      • 4.03 Piezo C Major
      • 4.04 Piezo Greensleaves
      • 4.05 Piezo Metronome
      • 4.06 Piezo as an Input
      • 4.07 Piezo as an Input 2
      • 4.08 Metronome II
      • 4.09 Piezo Playback
      • 4.10 Piezo Fireworks
      • 4.11 Piezo Mosquito
    • Projects 5 >
      • 5.01 The Phototransistor
      • 5.02 Light and Sound
      • 5.03 Light and Sound II
    • Projects 6 >
      • 6.01 EEPROM
      • 6.02 I2C Address Scan
      • 6.03 Read the I2C Temperature Sensor
      • 6.04 High Temperature Alarm
    • Projects 7 >
      • 7.01 Arno Phone Home
      • 7.02 Keyboard Alphabet
      • 7.03 Move Mouse
      • 7.04 Draw Squares
    • Special Projects >
      • Bike Light Demo
  • References
    • Arno Pin Key
    • Arno Schematic
    • Project Index

pROGRAMMING: whaT IF...

Programs get a lot more interesting when you let them make decisions.  The simplest way to make a decision is to use the if statement.  For example, you might read a sensor that measures the temperature and then do different things depending on the result:

if(temperature < 40) digitalWrite(blueLED,HIGH);

if(temperature > 90) digitalWrite(redLED,HIGH);

If you only want to do one thing, you can put the if statement and the command on the same line.  If you want to run more than one line, you need to tell the Arduino to run a block of statements.  The beginning of the block is marked with a {  and the end with a }.

if(temperature < 40){

       digitalWrite(blueLED,HIGH);

       Serial.println(“It’s cold!!”);

}

Notice that the part of the program between {  and } is indented to the right.  It’s customary to hit the Tab key after each { and to remove the indent before each }.  The Arduino language doesn’t actually require it, but it makes it much easier to recognize the block of code that goes with the if statement.  The Arduino IDE also has a built-in function that formats your program with the conventional indentations between brackets (Tool > Auto Format).

The part of the if statement in parentheses is called a conditional statement.  Arduino tests to see whether the conditional statement is true and, if it is, runs the lines in the block.  Otherwise it skips the block entirely. Here are the types of tests that Arduino understands:

·         a == b does a equal b?

·         a < b    is a less than b?

·         a <= b is a less than or equal to b?

·         a > b    is a greater than b?

·         a >=b  is a greater than or equal to b?

·         a !=b   is a not equal to b?

Condition statements can be combined using the AND operator (&&) and the OR operator (||):

·         a == b && b < c         is true only if a equals b AND b is less than c

·         a==b || b < c is true if a equals b OR b is less than c


next: loops

Copyright Olympia Circuits LLC 2014. All Rights Reserved.