Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- Servo servo;
- #include "FastLED.h"
- #define NUM_LEDS 1
- #define DATA_PIN 10
- #define LED_TYPE WS2812B
- #define COLOR_ORDER GRB
- CRGB leds[NUM_LEDS];
- #define FPS 120
- #define BRIGHTNESS 90
- int Fade = 0;
- int state = 0;
- int pos = 0;
- int OutMin = 3;
- int OutMax = 8;
- uint8_t gHue = 0;
- void setup() {
- Serial.begin(9600);
- FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
- FastLED.setBrightness(BRIGHTNESS);
- leds[0].setRGB(0,0,0);
- FastLED.show();
- pinMode(2, INPUT);
- servo.attach(9);
- for(int Out=OutMin; Out<=OutMax; Out++){
- pinMode(Out, OUTPUT);
- }
- }
- void loop() {
- if(digitalRead(2)==HIGH && state == 0) {
- state = 1;
- delay(200);
- An();
- }
- if(digitalRead(2)==HIGH && state == 1) {
- state = 0;
- Aus();
- delay(200);
- }
- if(state == 1) {
- rainbow();
- FastLED.show();
- FastLED.delay(1000/FPS);
- EVERY_N_MILLISECONDS( 20 ) { gHue++; }
- }
- delay(50);;
- }
- void An() {
- servo.write(50);
- delay(15);
- for(int Out=OutMin; Out<=OutMax; Out++){
- digitalWrite(Out,HIGH);
- }
- FadeIn();
- }
- void Aus() {
- FadeOut();
- //leds[0].setRGB(0,0,0);
- //FastLED.show();
- servo.write(100);
- delay(15);
- for(int Out=OutMin; Out<=OutMax; Out++){
- digitalWrite(Out,LOW);
- }
- }
- void rainbow()
- {
- fill_rainbow(leds, NUM_LEDS, gHue, 7);
- }
- void FadeIn ()
- {
- for(;Fade != 255;){
- for ( int i = 0; i < NUM_LEDS; i++ )
- {
- leds[i] = CRGB::Red; // Can be any colour
- leds[i].maximizeBrightness(Fade); // 'FastLED_fade_counter' How high we want to fade up to 255 = maximum.
- delay(15);
- }
- FastLED.show();
- Fade ++ ; // Increment
- }
- }
- void FadeOut ()
- {
- for(;Fade != 255;){
- for ( int i = 0; i < NUM_LEDS; i++ )
- {
- leds[i].fadeToBlackBy(Fade);
- delay(15);
- }
- FastLED.show();
- Fade ++ ; // Increment
- }
- }
- /*
- void FadeOut(){
- for(;Fade != 255;){
- for ( int i = 0; i < NUM_LEDS; i++ )
- {
- leds[0].fadeLightBy(Fade);
- delay(15);
- }
- FastLED.show();
- Fade ++ ; // Increment
- }
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement