Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Adafruit_NeoPixel.h>
- const int switchPin = 4;
- int switchState = 0;
- int PIN = 6;
- int totalLEDs = 30;
- int ledFadeTime = 3;
- Adafruit_NeoPixel strip = Adafruit_NeoPixel(totalLEDs, PIN, NEO_GRB + NEO_KHZ800);
- void setup() {
- strip.begin();
- strip.show(); // Initialize all pixels to 'off'
- int switchState = 0;
- pinMode(switchPin, INPUT);
- }
- void loop() {
- switchState = digitalRead(switchPin);
- if(switchState == HIGH){
- strip.setBrightness(20);
- strip.show();
- theaterChaseRainbow(40);
- }
- else{
- strip.setBrightness(255);
- strip.show();
- setAll(10,0,0);
- delay(120);
- setAll(0,0,0);
- delay(120);
- setAll(10,0,0);
- delay(120);
- setAll(0,0,0);
- delay(120);
- setAll(60,0,0);
- rgbFadeInAndOut(60, 0, 0, ledFadeTime);
- delay(120);
- }
- }
- void rgbFadeInAndOut(uint8_t red, uint8_t green, uint8_t blue, uint8_t wait) {
- for(uint8_t b=255; b > 5; b--) {
- for(uint8_t i = 0; i < strip.numPixels(); i++) {
- strip.setPixelColor(i, red * b/255, green * b/255, blue * b/255);
- }
- strip.show();
- delay(wait);
- };
- };
- void setPixel(int Pixel, byte red, byte green, byte blue) {
- #ifdef ADAFRUIT_NEOPIXEL_H
- // NeoPixel
- strip.setPixelColor(Pixel, strip.Color(red, green, blue));
- #endif
- #ifndef ADAFRUIT_NEOPIXEL_H
- // FastLED
- leds[Pixel].r = red;
- leds[Pixel].g = green;
- leds[Pixel].b = blue;
- #endif
- }
- void setAll(byte red, byte green, byte blue) {
- for(int i = 0; i < totalLEDs; i++ ) {
- setPixel(i, red, green, blue);
- }
- strip.show();
- }
- void theaterChaseRainbow(uint8_t wait) {
- for (int j=0; j < 256; j++) { // cycle all 256 colors in the wheel
- for (int q=0; q < 3; q++) {
- for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
- strip.setPixelColor(i+q, Wheel( (i+j) % 255)); //turn every third pixel on
- }
- strip.show();
- delay(wait);
- for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
- strip.setPixelColor(i+q, 0); //turn every third pixel off
- }
- }
- }
- }
- uint32_t Wheel(byte WheelPos) {
- WheelPos = 255 - WheelPos;
- if(WheelPos < 85) {
- return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
- }
- if(WheelPos < 170) {
- WheelPos -= 85;
- return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
- }
- WheelPos -= 170;
- return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
- }
Add Comment
Please, Sign In to add comment