Don't move on until you understand what is happening in your modified sketch below:
#include <Adafruit_NeoPixel.h>
#define PIN 12
Adafruit_NeoPixel strip = Adafruit_NeoPixel(12, PIN, NEO_GRB + NEO_KHZ800);
const byte nPatterns = 5;
const byte buttonPin = 8;
byte oldButtonVal = HIGH;
byte lightPattern = 0;
//Timing suff
unsigned long switchMillis;
//****************************************************************************
void setup()
{
strip.begin();
strip.show();
strip.setBrightness(50);
pinMode(buttonPin, INPUT_PULLUP);
} //END of setup()
//****************************************************************************
void loop()
{
//*******************************************
//is it time to check the switches ?
if (millis() - switchMillis >= 50)
{
//restart the TIMER
switchMillis = millis();
checkSwitches();
}
} //END of loop()
//****************************************************************************
void checkSwitches()
{
//read the current state of this switch
int buttonVal = digitalRead(buttonPin);
//*******************************************
//has ther been a change in state ?
if (oldButtonVal != buttonVal)
{
//update to the new state
oldButtonVal = buttonVal;
//*******************************
//is the switch pushed now ?
if (buttonVal == HIGH)
{
lightPattern++;
//*******************************
if (lightPattern > nPatterns)
{
lightPattern = 0;
}
//*******************************
switch (lightPattern)
{
case 0:
pattern0();
break;
case 1:
pattern1();
break;
case 2:
pattern2();
break;
case 3:
pattern3();
break;
case 4:
pattern4();
break;
case 5:
pattern5();
break;
}
}
}
} //END of checkSwitches()
//****************************************************************************
// Pattern 0 - all LEDs in the strip are black
void pattern0()
{
strip.setPixelColor(0, strip.Color(0, 0, 0)); // black
strip.setPixelColor(1, strip.Color(0, 0, 0));
strip.setPixelColor(2, strip.Color(0, 0, 0));
strip.setPixelColor(3, strip.Color(0, 0, 0));
strip.setPixelColor(4, strip.Color(0, 0, 0));
strip.setPixelColor(5, strip.Color(0, 0, 0));
strip.setPixelColor(6, strip.Color(0, 0, 0));
strip.setPixelColor(7, strip.Color(0, 0, 0));
strip.setPixelColor(8, strip.Color(0, 0, 0));
strip.setPixelColor(9, strip.Color(0, 0, 0));
strip.setPixelColor(10, strip.Color(0, 0, 0));
strip.setPixelColor(11, strip.Color(0, 0, 0));
strip.setPixelColor(12, strip.Color(0, 0, 0));
strip.show();
}
//****************************************************************************
// Pattern 1 - White light, all LEDs in the strip are white
void pattern1()
{
strip.setPixelColor(0, strip.Color(0, 0, 255)); // blue
strip.setPixelColor(1, strip.Color(0, 0, 255));
strip.setPixelColor(2, strip.Color(0, 0, 255));
strip.setPixelColor(3, strip.Color(0, 0, 255));
strip.setPixelColor(4, strip.Color(0, 0, 255));
strip.setPixelColor(5, strip.Color(0, 0, 255));
strip.setPixelColor(6, strip.Color(0, 0, 255));
strip.setPixelColor(7, strip.Color(0, 0, 255));
strip.setPixelColor(8, strip.Color(0, 0, 255));
strip.setPixelColor(9, strip.Color(0, 0, 255));
strip.setPixelColor(10, strip.Color(0, 0, 255));
strip.setPixelColor(11, strip.Color(0, 0, 255));
strip.setPixelColor(12, strip.Color(0, 0, 255));
strip.show();
}
//****************************************************************************
// Pattern 2 - Red light, all LEDs in the strip are red
void pattern2()
{
strip.setPixelColor(0, strip.Color(255, 0, 0)); // Red
strip.setPixelColor(1, strip.Color(255, 0, 0));
strip.setPixelColor(2, strip.Color(255, 0, 0));
strip.setPixelColor(3, strip.Color(255, 0, 0));
strip.setPixelColor(4, strip.Color(255, 0, 0));
strip.show();
}
//****************************************************************************
// Pattern 3 - Orange light, all LEDs in the strip are orange
void pattern3()
{
strip.setPixelColor(0, strip.Color(255, 128, 0)); // Orange
strip.setPixelColor(1, strip.Color(255, 128, 0));
strip.setPixelColor(2, strip.Color(255, 128, 0));
strip.setPixelColor(3, strip.Color(255, 128, 0));
strip.setPixelColor(4, strip.Color(255, 128, 0));
strip.show();
}
//****************************************************************************
// Pattern 4 - Yellow light, all LEDs in the strip are yellow
void pattern4()
{
strip.setPixelColor(0, strip.Color(255, 255, 0)); // Yellow
strip.setPixelColor(1, strip.Color(255, 255, 0));
strip.setPixelColor(2, strip.Color(255, 255, 0));
strip.setPixelColor(3, strip.Color(255, 255, 0));
strip.setPixelColor(4, strip.Color(255, 255, 0));
strip.show();
}
//****************************************************************************
// Pattern 5 - Green light, all LEDs in the strip are green
void pattern5()
{
strip.setPixelColor(0, strip.Color(0, 255, 0)); // Green
strip.setPixelColor(1, strip.Color(0, 255, 0));
strip.setPixelColor(2, strip.Color(0, 255, 0));
strip.setPixelColor(3, strip.Color(0, 255, 0));
strip.setPixelColor(4, strip.Color(0, 255, 0));
strip.show();
}