Little bit stuck cant seem to get the button to work right it only seems to work some of the time and if held down just skips throw the modes anyone help?
const int redledPin = 2;
const int greenledPin = 4;
const int blueledPin = 5;
const int buttonPin1 = 6;
int led=1;
void setup ()
{
pinMode (redledPin, OUTPUT);
pinMode (greenledPin, OUTPUT);
pinMode (blueledPin, OUTPUT);
pinMode (buttonPin1, INPUT);
}
void loop ()
{
if (digitalRead(buttonPin1)== HIGH)
{
led++;
if (led >16) led = 1;
delay(300);
}
switch (led){
case 0:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
break;
case 1:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
break;
case 2:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
break;
case 3:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
break;
case 4:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
break;
case 5:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
break;
case 6:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
break;
case 7:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
break;
case 8:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 9:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 10:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 11:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 12:
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 13:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 14:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
case 15:
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
delay(100);
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 250);
delay(100);
analogWrite(redledPin, 250);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 250);
delay(100);
analogWrite(redledPin, 250);
analogWrite(blueledPin, 250);
analogWrite(greenledPin, 0);
delay(100);
analogWrite(redledPin, 0);
analogWrite(blueledPin, 0);
analogWrite(greenledPin, 0);
delay(100);
break;
}
}