/* * blink4.pde * * Intro-Arduino (Lab 2) first DIY program. * Flash the leftmost (4) LEDs in sequence, pausing * DELAYTIME_BETWEEN milliseconds between individual LEDs, * followed by a delay of DELAYTIME_AFTER after the last, * repeating forever. * * Written by Eric B. Wertz for ME106. * Last modified by Eric B. Wertz on January 13, 2011. * Version 1.02 */ #define DELAYTIME_BETWEEN 100 // 100 msec (0.1s) #define DELAYTIME_AFTER 400 // 400 msec (0.4s) #define PIN_LED0 11 #define PIN_LED1 9 #define PIN_LED2 6 #define PIN_LED3 3 #define PIN_BUTTON0 12 #define PIN_BUTTON1 8 #define PIN_BUTTON2 7 #define PIN_BUTTON3 4 // set of LEDs to use, and number of array elements const byte ledPins[] = { PIN_LED0, PIN_LED1, PIN_LED2, PIN_LED3 }; const byte numberOfLeds = sizeof(ledPins)/sizeof(byte); void setup() { byte i; for (i=0; i < numberOfLeds; i++) pinMode(ledPins[i], OUTPUT); pinMode(PIN_BUTTON0, INPUT); digitalWrite(PIN_BUTTON0, HIGH); // enable internal pullup resistor } /* * Flash the LEDs specified in the array in sequence, pausing at the * end only if Button0 (active-low) is pressed. */ void loop() { byte i; for (i=0; i < numberOfLeds; i++) { digitalWrite(ledPins[i], HIGH); delay(DELAYTIME_BETWEEN); digitalWrite(ledPins[i], LOW); delay(DELAYTIME_BETWEEN); } while (digitalRead(PIN_BUTTON0) == LOW) ; delay(DELAYTIME_AFTER); }