You are on page 1of 3

//Week 3 Challenge #2

//string of blinking LEDs ending with RGB LED random color

int ledPin[] = {2,3,4,5,6,7,8,9};

int ledColor = 0;
int delayTime = 1000;
int red = 12;
int green = 11;
int blue = 10;
int index;

void setup() {
// put your setup code here, to run once:
int index;
//Serial.begin(9600); //used to try to debug

for(index = 0; index <= 7; index++) {


pinMode(ledPin[index], OUTPUT); //assigns output to the LEDs
}

//set the RGB to output


pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
//LED();

void loop() {
// put your main code here, to run repeatedly:
LED(); //runs the blinking LEDs
ranColor(); //runs the random color on RGB

void LED() {
//uses the array to make the LEDs blink on and off
for(index = 0; index <= 7; index++) {
digitalWrite(ledPin[index], HIGH);
delay(delayTime);
digitalWrite(ledPin[index], LOW);
}
}
void ranColor() {
ledColor = random(7);

Serial.println(ledColor);

switch(ledColor) {
case 0: //red
digitalWrite(red, HIGH);
digitalWrite(green, LOW);
digitalWrite(blue, LOW);
delay(delayTime);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(blue, LOW);
break;

case 1: //green
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
digitalWrite(blue, LOW);
delay(delayTime);
digitalWrite(green, LOW);
digitalWrite(blue, LOW);
digitalWrite(red, LOW);
break;

case 2: //blue
digitalWrite(blue, HIGH);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
delay(delayTime);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(blue, LOW);
break;

case 3: //yellow
digitalWrite(red, HIGH);
digitalWrite(green, HIGH);
digitalWrite(blue, LOW);
delay(delayTime);
digitalWrite(red, LOW);
digitalWrite(green,LOW);
digitalWrite(blue, LOW);
break;

case 4: //cyan
digitalWrite(red, LOW);
digitalWrite(green, HIGH);
digitalWrite(blue, HIGH);
delay(delayTime);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(blue, LOW);
break;

case 5: //purple
digitalWrite(red, HIGH);
digitalWrite(green, LOW);
digitalWrite(blue, HIGH);
delay(delayTime);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(blue, LOW);
break;

case 6: //white
digitalWrite(red, HIGH);
digitalWrite(green, HIGH);
digitalWrite(blue, HIGH);
delay(delayTime);
digitalWrite(red, LOW);
digitalWrite(green, LOW);
digitalWrite(blue, LOW);
break;
}

You might also like