Tilt Switch Tiara Code

//Tilt Switch Tiara by Julie Barrett
//Some of this code was gleaned from examples I found online and modified.

#include <Adafruit_NeoPixel.h> //NeoPixel Library

    int buttonPin = 0;    // momentary push button (tilt switch) on pin 0
    int oldButtonVal = 0;
    
    #define PIN 2    // Parameter 1 = number of pixels in strip
                          // Parameter 2 = pin number (most are valid)
                          // Parameter 3 = pixel type flags, add together as needed:
                          // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
                          // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
                          // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
                          // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
    Adafruit_NeoPixel strip = Adafruit_NeoPixel(4, PIN, NEO_GRB + NEO_KHZ800);
    
    int nPatterns = 8;
    int lightPattern = 1;

// the setup routine runs once when you press reset:
    void setup() {
    strip.begin();
    strip.show();                // initialize all pixels to 'off'    
// initialize the BUTTON pin as an input
    pinMode(buttonPin, INPUT);
    digitalWrite(buttonPin, HIGH);  // button pin is HIGH, so it drops to 0 if pressed
}


// Pattern 1 - White light, all LEDs in the strip are white
    void pattern1() {
      strip.setBrightness(50);
        strip.setPixelColor(0, strip.Color(255, 255, 255)); // White
        strip.setPixelColor(1, strip.Color(255, 255, 255));
        strip.setPixelColor(2, strip.Color(255, 255, 255));
        strip.setPixelColor(3, strip.Color(255, 255, 255));
        strip.setPixelColor(4, strip.Color(255, 255, 255));
    strip.show();
    }
    
// Pattern 2 - Red light, all LEDs in the strip are red
    void pattern2() {
      strip.setBrightness(50);
        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.setBrightness(50);
        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.setBrightness(50);
        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.setBrightness(50);
        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();
    }

// Pattern 6 - Blue light, all LEDs in the strip are blue
    void pattern6() {
      strip.setBrightness(50);
        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.show();
    }
    
// Pattern 7 - Violet light, all LEDs in the strip are violet
    void pattern7() {
      strip.setBrightness(50);
        strip.setPixelColor(0, strip.Color(127, 0, 255)); // Violet
        strip.setPixelColor(1, strip.Color(127, 0, 255));
        strip.setPixelColor(2, strip.Color(127, 0, 255));
        strip.setPixelColor(3, strip.Color(127, 0, 255));
        strip.setPixelColor(4, strip.Color(127, 0, 255));
    strip.show();
    }

// Pattern 8 - Rainbow light, all LEDs in the strip are different colors
    void pattern8() {
      strip.setBrightness(50);
        strip.setPixelColor(0, strip.Color(255, 0, 255)); // Red
        strip.setPixelColor(1, strip.Color(255, 255, 0)); // Yellow
        strip.setPixelColor(2, strip.Color(0, 255, 0)); // Green
        strip.setPixelColor(3, strip.Color(0, 0, 255)); // Blue
        strip.setPixelColor(4, strip.Color(127, 0, 255)); // Violet
    strip.show();
    }


// the loop routine runs over and over again forever;
void loop() {
  // read that state of the pushbutton value;
  int buttonVal = digitalRead(buttonPin);
  if (buttonVal == LOW && oldButtonVal == HIGH) {// button has just been pressed
    lightPattern = lightPattern + 1;
  }
  if (lightPattern > nPatterns) lightPattern = 1;
  oldButtonVal = buttonVal;
  
  switch(lightPattern) {
    case 1:
      pattern1();
      break;
    case 2:
      pattern2();
      break;
    case 3:
      pattern3();
      break;
    case 4:
      pattern4();
      break;
    case 5:
      pattern5();
      break;
    case 6:
      pattern6();
      break;
    case 7:
      pattern7();
      break;
    case 8:
      pattern8();
      break;
  }
}

Filed under: Code            
10/19/2020 12:21:00 PM