Guest User

Untitled

a guest
Jun 22nd, 2024
15
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.89 KB | None | 0 0
  1. #include <Adafruit_NeoPixel.h>
  2. #ifdef __AVR__
  3.  #include <avr/power.h> // Required for 16 MHz Adafruit Trinket
  4. #endif
  5. #define PIN        4
  6. #define NUMPIXELS 60  
  7.  
  8. Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
  9.  
  10. byte started = 0;
  11. int startpin = 2;
  12. byte mode;
  13.  
  14. // mode 1 color
  15. int rone = 255;
  16. int gone = 80;
  17. int bone = 0;
  18.  
  19. // mode 2 color
  20. int rtwo = 25;
  21. int gtwo = 255;
  22. int btwo = 50;
  23.  
  24. // =====================================================================================
  25.  
  26. void setup() {
  27. #if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
  28.   clock_prescale_set(clock_div_1);
  29. #endif
  30.  
  31.   pixels.begin(); // INITIALIZE NeoPixel
  32.   pixels.setBrightness(255);
  33.   pinMode(0, OUTPUT);
  34.   pinMode(startpin, INPUT_PULLUP);
  35.  
  36.   // set first pixel white - mode set listener
  37.   pixels.setPixelColor(0,24,24,24);    pixels.setPixelColor(1,24,24,24);    pixels.show();
  38.  
  39.   delay(3000);
  40.  
  41.   // button held on power up = mode 1, if not mode 0; then indicate with first pixel
  42.   if(digitalRead(startpin) == LOW) { mode = 2; } else { mode = 1; }
  43.   if(mode == 1) { pixels.setPixelColor(0,5,0,0);    pixels.setPixelColor(1,0,0,0);    pixels.show(); }  //mode 1 = red
  44.   if(mode == 2) { pixels.setPixelColor(0,0,5,0);    pixels.setPixelColor(1,0,0,0);    pixels.show(); }  //mode 2 = green
  45.  
  46.   delay(2000);
  47. }
  48.  
  49. // =====================================================================================
  50.  
  51.  
  52. void loop() {
  53.   // empty loop: no output until button pushed
  54.    while(started == 0) {
  55.       if(digitalRead(startpin) == LOW) { started = 1; }
  56.       delay(20);
  57.     }
  58.    
  59. // red    --------------------------------------------------------------------------------------------
  60.     if(mode == 1) {  
  61.      pixels.setBrightness(1); // start at 1, set all pixels to mode 1 color
  62.      for(int j=0; j<NUMPIXELS; j++) {  pixels.setPixelColor(j,rone,gone,bone);  }
  63.      pixels.show();
  64.      
  65.      // fade in/out on button press
  66.      for(int i=1; i<255; i++) { pixels.setBrightness(i); pixels.show(); delay(10); }
  67.      while(digitalRead(startpin) == HIGH) { delay(80); }
  68.      for(int i=255; i>0; i--) { pixels.setBrightness(i); pixels.show(); delay(10); }
  69.      while(digitalRead(startpin) == HIGH) { delay(80); }    
  70.  
  71.      } // mode 1
  72.  
  73. // green ----------------------------------------------------------------------------------------
  74.     if(mode == 2) {  
  75.      pixels.setBrightness(1); // start at 1, set all pixels to mode 1 color
  76.      for(int j=0; j<NUMPIXELS; j++) {  pixels.setPixelColor(j,rtwo,gtwo,btwo);  }
  77.      pixels.show();
  78.      
  79.      // fade in/out on button press
  80.      for(int i=1; i<255; i++) { pixels.setBrightness(i); pixels.show(); delay(10); }
  81.      while(digitalRead(startpin) == HIGH) { delay(80); }
  82.      for(int i=255; i>0; i--) { pixels.setBrightness(i); pixels.show(); delay(10); }
  83.      while(digitalRead(startpin) == HIGH) { delay(80); }    
  84.  
  85.      } // mode 2
  86.  
  87. } // main
Advertisement
Add Comment
Please, Sign In to add comment