Skip to content

Instantly share code, notes, and snippets.

@MichMich
Created April 5, 2015 19:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MichMich/692ef2e6437e7a7d191a to your computer and use it in GitHub Desktop.
Save MichMich/692ef2e6437e7a7d191a to your computer and use it in GitHub Desktop.
#define NUMLEDS 4
void setup() {
// put your setup code here, to run once:
for (int i = 0; i <= NUMLEDS ; i++) {
pinMode(i,OUTPUT);
}
setAll(LOW);
test();
}
void loop() {
for (int s = 200; s > 10 ; s = s - 10) {
walk(s, 1);
}
blinkAll(100, 10);
fill(100, 10);
oddEven(200, 10);
}
void setAll(boolean state) {
for (int i = 0; i <= NUMLEDS ; i++) {
digitalWrite(i, state);
}
}
void monoLight(int index, int delayMs) {
setAll(LOW);
digitalWrite(index, HIGH);
delay(delayMs);
}
void test() {
for (int i = 0; i <= NUMLEDS ; i++) {
monoLight(i, 1000);
}
}
void walk(int speed, int repeat) {
for (int r = 0; r < repeat; r++) {
for (int i = 0; i <= NUMLEDS ; i++) {
monoLight(i, speed);
}
}
}
void blinkAll(int speed, int repeat) {
for (int r = 0; r < repeat; r++) {
setAll(HIGH);
delay(speed);
setAll(LOW);
delay(speed);
}
}
void fill(int speed, int repeat) {
for (int r = 0; r < repeat; r++) {
for (int i = 0; i <= NUMLEDS ; i++) {
digitalWrite(i, HIGH);
delay(speed);
}
for (int i = 0; i <= NUMLEDS ; i++) {
digitalWrite(i, LOW);
delay(speed);
}
}
}
void oddEven(int speed, int repeat) {
for (int r = 0; r < repeat; r++) {
setAll(LOW);
for (int i = 0; i <= NUMLEDS ; i = i + 2) {
digitalWrite(i, HIGH);
}
delay(speed);
setAll(LOW);
for (int i = 1; i <= NUMLEDS ; i = i + 2) {
digitalWrite(i, HIGH);
}
delay(speed);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment