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

the setup() and loop() blocks

There are many different ways of writing sketches, but every sketch must have at least two parts: the setup() and loop() blocks. The setup() block conventionally appears in the sketch before the loop() block.   A block is a section of code that runs together.  To distinguish a block from the rest of the sketch, it will always start with a left-hand curly bracket { and end with a right-hand curly bracket }.  The basic form of a sketch looks something like this:

void setup(){
       do a task;
       do another task;
}

void loop(){
       do the main tasks;
       and more tasks;
       and more tasks;
       .
       .
       .
}     

 The keyword void must appear before the block names.  We discuss what it means later in this chapter where we cover functions.

The setup() block runs only once, right when the sketch begins.  This means it will run right after a sketch is uploaded to the Arno.  If a sketch it already on the Arno, the setup() block will run once when the Arno is powered up.  We typically do “housekeeping” tasks in the setup() block to get things ready for the main part of the sketch.  For example, we might set the modes of the input/output pins that we will need in the sketch, or get some initial input from the user or a sensor. 

After the setup() block runs once, the sketch enters the loop() block.  The lines of code in the loop() block are run one after another.  When we hit the } at the bottom of the loop()  block, the sketch returns to the top and runs the lines over again.  This continues as long as the Arno is powered up.  

next: variables and arrays

Copyright Olympia Circuits LLC 2014. All Rights Reserved.