Led Pattern Docu
Led Pattern Docu
ARDUINO
LED PATTERN WITH PUSH BUTTON & POTENTIOMETER
Submitted By:
Borres, Kristine
Marcelo, Irene M.
void setup() {
Serial.begin(9600);
void loop() {
if (digitalRead(13) == HIGH) {
Serial.println();
Serial.println("Button is pressed");
pattern++;
Serial.print("Button press #");
Serial.println(pattern);
}
switch(pattern) {
case 1:
Serial.println("pattern 1: march is selected");
Serial.print(potVal);
Serial.print(" | ");
Serial.println(analogRead(A2));
march(potVal);
break;
case 2:
Serial.println("pattern 2: negmarch is selected");
Serial.print(potVal);
Serial.print(" | ");
Serial.println(analogRead(A2));
negmarch(potVal);
break;
case 3:
Serial.println("pattern 3: flash is selected");
Serial.print(potVal);
Serial.print(" | ");
Serial.println(analogRead(A2));
flash(potVal);
break;
case 4:
Serial.println("pattern 4: oneAtATime is selected");
Serial.print(potVal);
Serial.print(" | ");
Serial.println(analogRead(A2));
oneAtATime(potVal);
break;
case 5:
Serial.println("pattern 5: alternate is selected");
Serial.print(potVal);
Serial.print(" | ");
Serial.println(analogRead(A2));
alternate(potVal);
break;
case 6:
Serial.println("pattern 6: randomSequence is selected");
Serial.print(potVal);
Serial.print(" | ");
Serial.println(analogRead(A2));
randomSequence(potVal);
break;
case 7:
Serial.println("pattern 7: fillall - change color");
Serial.print(potVal);
Serial.print(" | ");
Serial.println(analogRead(A2));
fillall();
delay(1000);
break;
default:
clearall();
pattern = 0;
/* Marches a LED back and forth across a lit LED line array */
void march(int delaytime) {
int right_ledPin = 9;
int right_ledPin_Minus = 12;
clearall();
digitalWrite(left_ledPin, HIGH);
if (left_ledPin >= 3) {
digitalWrite(right_ledPin, HIGH);
right_ledPin++;
}
delay(delaytime);
}
delay(delaytime);
right_ledPin_Minus--;
}
}
int right_ledPin = 9;
int right_ledPin_Minus = 12;
fillall();
digitalWrite(left_ledPin, LOW);
if (left_ledPin >= 3) {
digitalWrite(right_ledPin, LOW);
right_ledPin++;
}
delay(delaytime);
}
fillall();
digitalWrite(left_ledPin, LOW);
digitalWrite(right_ledPin_Minus, LOW);
delay(delaytime);
right_ledPin_Minus--;
}
}
/* This alternates between all lit and all off, used to show
* reading across the analog ports
*/
void flash(int delaytime) {
clearall();
delay(delaytime);
fillall();
delay(delaytime);
}
clearall();
RandomA:
int randomLed = random(2, 11);
digitalWrite(randomLed, HIGH);
delay(delaytime);
RandomB:
randomLed = random(2, 11);
if (randomLed == 4 || randomLed == 8) goto RandomB;
digitalWrite(randomLed, LOW);
}
}
clearall();
digitalWrite(ledPin, HIGH);
delay(delaytime);
digitalWrite(ledPin, LOW);
}
/* This is the same as the flash function, but every other LED
* either turns on or off alternately
*/
void alternate(int delaytime) {
int right_ledPin = 9;
clearall();