Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.35 KB | None | 0 0
  1. #include <Servo.h>
  2. Servo servo;
  3.  
  4. #include "FastLED.h"
  5. #define NUM_LEDS 1
  6. #define DATA_PIN 10
  7. #define LED_TYPE WS2812B
  8. #define COLOR_ORDER GRB
  9. CRGB leds[NUM_LEDS];
  10. #define FPS 120
  11. #define BRIGHTNESS 90
  12. int Fade = 0;
  13.  
  14. int state = 0;
  15. int pos = 0;
  16. int OutMin = 3;
  17. int OutMax = 8;
  18. uint8_t gHue = 0;
  19.  
  20.  
  21. void setup() {
  22. Serial.begin(9600);
  23. FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  24. FastLED.setBrightness(BRIGHTNESS);
  25. leds[0].setRGB(0,0,0);
  26. FastLED.show();
  27. pinMode(2, INPUT);
  28. servo.attach(9);
  29. for(int Out=OutMin; Out<=OutMax; Out++){
  30. pinMode(Out, OUTPUT);
  31. }
  32. }
  33.  
  34. void loop() {
  35. if(digitalRead(2)==HIGH && state == 0) {
  36. state = 1;
  37. delay(200);
  38. An();
  39. }
  40. if(digitalRead(2)==HIGH && state == 1) {
  41. state = 0;
  42. Aus();
  43. delay(200);
  44. }
  45.  
  46. if(state == 1) {
  47. rainbow();
  48. FastLED.show();
  49. FastLED.delay(1000/FPS);
  50. EVERY_N_MILLISECONDS( 20 ) { gHue++; }
  51. }
  52. delay(50);;
  53. }
  54.  
  55. void An() {
  56. servo.write(50);
  57. delay(15);
  58. for(int Out=OutMin; Out<=OutMax; Out++){
  59. digitalWrite(Out,HIGH);
  60. }
  61. FadeIn();
  62.  
  63. }
  64.  
  65. void Aus() {
  66. FadeOut();
  67. //leds[0].setRGB(0,0,0);
  68. //FastLED.show();
  69. servo.write(100);
  70. delay(15);
  71. for(int Out=OutMin; Out<=OutMax; Out++){
  72. digitalWrite(Out,LOW);
  73. }
  74. }
  75.  
  76. void rainbow()
  77. {
  78. fill_rainbow(leds, NUM_LEDS, gHue, 7);
  79. }
  80. void FadeIn ()
  81. {
  82. for(;Fade != 255;){
  83. for ( int i = 0; i < NUM_LEDS; i++ )
  84. {
  85. leds[i] = CRGB::Red; // Can be any colour
  86. leds[i].maximizeBrightness(Fade); // 'FastLED_fade_counter' How high we want to fade up to 255 = maximum.
  87. delay(15);
  88. }
  89.  
  90. FastLED.show();
  91. Fade ++ ; // Increment
  92.  
  93. }
  94. }
  95.  
  96. void FadeOut ()
  97. {
  98. for(;Fade != 255;){
  99. for ( int i = 0; i < NUM_LEDS; i++ )
  100. {
  101. leds[i].fadeToBlackBy(Fade);
  102. delay(15);
  103. }
  104.  
  105. FastLED.show();
  106. Fade ++ ; // Increment
  107.  
  108. }
  109. }
  110.  
  111. /*
  112. void FadeOut(){
  113. for(;Fade != 255;){
  114. for ( int i = 0; i < NUM_LEDS; i++ )
  115. {
  116. leds[0].fadeLightBy(Fade);
  117. delay(15);
  118. }
  119.  
  120. FastLED.show();
  121. Fade ++ ; // Increment
  122.  
  123. }
  124. }
  125. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement