Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Adafruit_NeoPixel.h>
- #ifdef __AVR__
- #include <avr/power.h> // Required for 16 MHz Adafruit Trinket
- #endif
- #define PIN 4
- #define NUMPIXELS 60
- Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
- byte started = 0;
- int startpin = 2;
- byte mode;
- // mode 1 color
- int rone = 255;
- int gone = 80;
- int bone = 0;
- // mode 2 color
- int rtwo = 25;
- int gtwo = 255;
- int btwo = 50;
- // =====================================================================================
- void setup() {
- #if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
- clock_prescale_set(clock_div_1);
- #endif
- pixels.begin(); // INITIALIZE NeoPixel
- pixels.setBrightness(255);
- pinMode(0, OUTPUT);
- pinMode(startpin, INPUT_PULLUP);
- // set first pixel white - mode set listener
- pixels.setPixelColor(0,24,24,24); pixels.setPixelColor(1,24,24,24); pixels.show();
- delay(3000);
- // button held on power up = mode 1, if not mode 0; then indicate with first pixel
- if(digitalRead(startpin) == LOW) { mode = 2; } else { mode = 1; }
- if(mode == 1) { pixels.setPixelColor(0,5,0,0); pixels.setPixelColor(1,0,0,0); pixels.show(); } //mode 1 = red
- if(mode == 2) { pixels.setPixelColor(0,0,5,0); pixels.setPixelColor(1,0,0,0); pixels.show(); } //mode 2 = green
- delay(2000);
- }
- // =====================================================================================
- void loop() {
- // empty loop: no output until button pushed
- while(started == 0) {
- if(digitalRead(startpin) == LOW) { started = 1; }
- delay(20);
- }
- // red --------------------------------------------------------------------------------------------
- if(mode == 1) {
- pixels.setBrightness(1); // start at 1, set all pixels to mode 1 color
- for(int j=0; j<NUMPIXELS; j++) { pixels.setPixelColor(j,rone,gone,bone); }
- pixels.show();
- // fade in/out on button press
- for(int i=1; i<255; i++) { pixels.setBrightness(i); pixels.show(); delay(10); }
- while(digitalRead(startpin) == HIGH) { delay(80); }
- for(int i=255; i>0; i--) { pixels.setBrightness(i); pixels.show(); delay(10); }
- while(digitalRead(startpin) == HIGH) { delay(80); }
- } // mode 1
- // green ----------------------------------------------------------------------------------------
- if(mode == 2) {
- pixels.setBrightness(1); // start at 1, set all pixels to mode 1 color
- for(int j=0; j<NUMPIXELS; j++) { pixels.setPixelColor(j,rtwo,gtwo,btwo); }
- pixels.show();
- // fade in/out on button press
- for(int i=1; i<255; i++) { pixels.setBrightness(i); pixels.show(); delay(10); }
- while(digitalRead(startpin) == HIGH) { delay(80); }
- for(int i=255; i>0; i--) { pixels.setBrightness(i); pixels.show(); delay(10); }
- while(digitalRead(startpin) == HIGH) { delay(80); }
- } // mode 2
- } // main
Advertisement
Add Comment
Please, Sign In to add comment