Skip to content

Instantly share code, notes, and snippets.

@linuxsable
Created July 12, 2010 08:32
Show Gist options
  • Select an option

  • Save linuxsable/472254 to your computer and use it in GitHub Desktop.

Select an option

Save linuxsable/472254 to your computer and use it in GitHub Desktop.
const int ledsLength = 3;
int leds[ledsLength] = {0, 1, 2};
int delaySpeed = 25;
int x = 0;
void turnOnLed(int led);
void turnOffLed(int led);
void turnOnLeds(int leds[]);
void turnOffLeds(int leds[]);
void flashLeds(int leds[], int speed);
void sequenceLeds(int leds[], int speed);
void pulsateSequenceLeds(int leds[], int speed);
void setup();
void loop();
void turnOnLed(int led) {
digitalWrite(led, HIGH);
return;
}
void turnOffLed(int led) {
digitalWrite(led, LOW);
return;
}
void turnOnLeds(int leds[]) {
for (size_t i = 0; i < ledsLength; i++) {
turnOnLed(leds[i]);
}
return;
}
void turnOffLeds(int leds[]) {
for (size_t i = 0; i < ledsLength; i++) {
turnOffLed(leds[i]);
}
return;
}
void flashLeds(int leds[], int speed) {
turnOnLeds(leds);
delay(speed);
turnOffLeds(leds);
delay(speed);
return;
}
void sequenceLeds(int leds[], int speed) {
turnOffLeds(leds);
delay(speed);
for (size_t i = 0; i < ledsLength; i++) {
turnOnLed(leds[i]);
delay(speed);
}
turnOffLeds(leds);
return;
}
void pulsateSequenceLeds(int leds[], int speed) {
turnOffLeds(leds);
for (size_t i = 0; i < ledsLength; i++) {
for (size_t a = 0; a < 10; a++) {
turnOnLed(leds[i]);
delay(25);
turnOffLed(leds[i]);
delay(25);
}
}
turnOffLeds(leds);
}
void setup() {
for (size_t i = 0; i < ledsLength; i++) {
pinMode(leds[i], OUTPUT);
}
}
void loop() {
if (x < 25) {
for (size_t i = 0; i < ledsLength; i++) {
digitalWrite(leds[i], HIGH);
delay(delaySpeed);
digitalWrite(leds[i], LOW);
delay(delaySpeed);
}
}
if (x > 25 and x < 50) {
flashLeds(leds, delaySpeed);
}
if (x > 50 and x < 54) {
pulsateSequenceLeds(leds, 500);
}
if (x > 54) {
x = 0;
} else {
x++;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment