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: GOING AROUND IN LOOPS

Loops are one of the most important parts of programming.  Loops are a block of code that can be made to run many times.  We use conditional statements to tell the program how many times to run the loop.  The loop will keep running over and over again until the conditional statement is no longer true.  The most common loop is the for loop.  It looks a lot like our if statement but it runs the block of lines over and over again until the statement is no longer true:

//blink the blue LED 10 times

for(int j = 0; j < 10; j++){

       digitalWrite(blueLED, HIGH);

       delay(1000);

       digitalWrite(blueLED,LOW);

       delay(1000);

}

The for statement is nifty in that you can declare a new variable (j in the example), do a conditional test, and then change its value.  In the example, j++ means add 1 to the current value of j.  We could also write it as j  = j +1.  The loop above will run 10 times as j takes on the values 0, 1, 2, … ,9.

There are two other loops: while and do … while.  The while loop is like the for loop.  Arduino looks at the conditional statement and decides whether to run the block of code.  It reassesses the conditional statement each time it reaches the top of the loop:

int k = 0;

while(k < 100){ //this loop will run 100 times

       k ++;

}

With the do … while  loop, the conditional statement is at the bottom.  Arduino always runs the block of code once, and then decides whether to run it again:

int k = 0;

do{

       k++; //this line will always run once

}while(k<100);
next: delays

Copyright Olympia Circuits LLC 2014. All Rights Reserved.