Daylights

Hi.I’m new in this and i need a little help . I download this script - //Modern turn lights v.1.0.0 with arduino and ws2812b by Fedaceag Ionut#includ - Pastebin.com

//Modern turn lights v.1.0.0 with arduino and ws2812b by Fedaceag Ionut
#include <FastLED.h>                        //FastLed library version 3.2.1 - https://github.com/FastLED/FastLED/wiki/Overview or http://fastled.io/ with NEOPIXEL or WS2812B
#define NUM_STRIPS 2                        // number of led strips (in this example are front left and front right)
#define NUM_LEDS_PER_STRIP 20               // number of leds per each strip
CRGB leds[NUM_STRIPS][NUM_LEDS_PER_STRIP];
uint8_t gHue = 0;                           // rotating "base color" used by many of the patterns

const int buttonPinL = 2;                   // turn left
const int buttonPinR = 3;                   // turn right
const int buttonPinEng = 4;                 // engine on to start day lights
const int buttonPinKnightRider = 5;         // knight rider lights

int buttonStateL = 0;
int buttonStateR = 0;
int engineOn = 0;
int KnightRiderState = 0;

int stateL = 0;
int stateR = 0;

uint8_t gBrtL = 0;
uint8_t gBrtR = 0;
int maxBrt = 120;                           // maxim brightness day lights - from 0 to 255

int delayTurnLedAnim = 25; //delay of each led in turn light animation
int delayTurnLedOff = 250; //delay from animation to black (is used twice)
int delayLedToDayLight = 500; // delay from animation to day light on
int nrAnimAfterOff = 3; // number of animations for a single impulse

void setup() { 
  //Serial.begin(9600);
  pinMode(buttonPinL, INPUT);
  pinMode(buttonPinR, INPUT);
  pinMode(buttonPinEng, INPUT);
  pinMode(buttonPinKnightRider, INPUT);
  
  FastLED.addLeds<NEOPIXEL, 8>(leds[0], NUM_LEDS_PER_STRIP); //led strip for front left
  FastLED.addLeds<NEOPIXEL, 9>(leds[1], NUM_LEDS_PER_STRIP); //led strip for front right
  
  attachInterrupt(digitalPinToInterrupt(buttonPinL),btnPressL,RISING); // we use interrupt for instant reaction of turn lights
  attachInterrupt(digitalPinToInterrupt(buttonPinR),btnPressR,RISING); // we use interrupt for instant reaction of turn lights

  fill_solid(leds[0], NUM_LEDS_PER_STRIP, CRGB::Black); // some led strips are all on at power on, so let's power them off at boot
  fill_solid(leds[1], NUM_LEDS_PER_STRIP, CRGB::Black); // some led strips are all on at power on, so let's power them off at boot
  FastLED.show();
}

void loop() {
  // read the input state
    buttonStateL = digitalRead(buttonPinL); 
    buttonStateR = digitalRead(buttonPinR);
    KnightRiderState = digitalRead(buttonPinKnightRider);
    EVERY_N_MILLISECONDS( 1 ){
      engineOn = digitalRead(buttonPinEng);
    }

  //function for hazard lights
  if(stateL != 0 && stateR != 0){ 
    
    for(int dot = 0; dot < NUM_LEDS_PER_STRIP; dot++) { 
        leds[0][dot] = 0xff6a00; // color for left turn light
        leds[1][dot] = 0xff6a00; // color for right turn light
        FastLED.show();
        delay(delayTurnLedAnim);
    }
    
    delay(delayTurnLedOff);
    fill_solid(leds[0], NUM_LEDS_PER_STRIP, CRGB::Black);
    fill_solid(leds[1], NUM_LEDS_PER_STRIP, CRGB::Black);
    FastLED.show();
    delay(delayTurnLedOff);

    if(buttonStateL != HIGH || buttonStateR != HIGH){
      
      if(buttonStateL == HIGH){
        stateL = 1;
      }else{
        stateL = 0;
        gBrtL = 0;
      }
      
      if(buttonStateR == HIGH){
        stateR = 1;
      }else{
        stateR = 0;
        gBrtR = 0;
      }
      
      if(buttonStateL != HIGH && buttonStateR != HIGH){
        delay(delayLedToDayLight);        
      }
      
    }

  //function for left turn lights
  }else if(stateL != 0){
    
    if(KnightRiderState == HIGH && engineOn == LOW){
      fill_solid(leds[1], NUM_LEDS_PER_STRIP, CRGB::Black);
    }
    
    for(int dot = 0; dot < NUM_LEDS_PER_STRIP; dot++) { 
        leds[0][dot] = 0xff6a00; // color for left turn light
        FastLED.show();
        delay(delayTurnLedAnim);
    }
    
    delay(delayTurnLedOff);
    fill_solid(leds[0], NUM_LEDS_PER_STRIP, CRGB::Black);
    FastLED.show();
    delay(delayTurnLedOff);

    stateL++;
    if(stateL >= nrAnimAfterOff && buttonStateL != HIGH){
      stateL = 0;
      gBrtL = 0;
      delay(delayLedToDayLight);
    }

  //function for right turn lights
  }else if(stateR != 0){
    
    if(KnightRiderState == HIGH && engineOn == LOW){
      fill_solid(leds[0], NUM_LEDS_PER_STRIP, CRGB::Black);
    }
      
    for(int dot = 0; dot < NUM_LEDS_PER_STRIP; dot++) { 
        leds[1][dot] = 0xff6a00; // color for right turn light
        FastLED.show();
        delay(delayTurnLedAnim);
    }
    
    delay(delayTurnLedOff);
    fill_solid(leds[1], NUM_LEDS_PER_STRIP, CRGB::Black);
    FastLED.show();
    delay(delayTurnLedOff);

    stateR++;
    if(stateR >= nrAnimAfterOff && buttonStateR != HIGH){
      stateR = 0;
      gBrtR = 0;
      delay(delayLedToDayLight);
    }
    
  }else{
    
    if(stateL == 0 && engineOn == HIGH){
      if(gBrtL <= maxBrt){
        EVERY_N_MILLISECONDS( 1 ) { gBrtL++; } 
        fill_solid( leds[0], NUM_LEDS_PER_STRIP, CHSV(0,0,gBrtL));
        FastLED.show();
      }
    }else{
      if(gBrtL > 0){
        EVERY_N_MILLISECONDS( 1 ) { gBrtL--; } 
        fill_solid( leds[0], NUM_LEDS_PER_STRIP, CHSV(0,0,gBrtL));
        FastLED.show();
      }else{
        if(KnightRiderState == HIGH){          
          gHue = 0;
          //EVERY_N_MILLISECONDS( 20 ) { gHue++; }
          fadeToBlackBy( leds[0], NUM_LEDS_PER_STRIP, 20);
          int pos = beatsin16( 30, 0, NUM_LEDS_PER_STRIP-1 );
          leds[0][pos] += CHSV( gHue, 255, 192);
          FastLED.show();
        }
      }
    }

    if(stateR == 0 && engineOn == HIGH){
      if(gBrtR <= maxBrt){     
        EVERY_N_MILLISECONDS( 1 ) { gBrtR++; }
        fill_solid( leds[1], NUM_LEDS_PER_STRIP, CHSV(0,0,gBrtR));
        FastLED.show();  
      }     
    }else{
      if(gBrtR > 0){        
        EVERY_N_MILLISECONDS( 1 ) { gBrtR--; }
        fill_solid( leds[1], NUM_LEDS_PER_STRIP, CHSV(0,0,gBrtR));
        FastLED.show();
      }else{
        if(KnightRiderState == HIGH){          
          gHue = 0;
          //EVERY_N_MILLISECONDS( 20 ) { gHue++; }
          fadeToBlackBy( leds[1], NUM_LEDS_PER_STRIP, 20);
          int pos = beatsin16( 30, 0, NUM_LEDS_PER_STRIP-1 );
          leds[1][pos] += CHSV( gHue, 255, 192);
          FastLED.show();
        }
      }
    }
  }
}

void btnPressL(){
  stateL = 1;
  for(int nr = 0; nr < 1500; nr++) { 
    buttonStateR = digitalRead(buttonPinR);
    if(buttonStateR == 1){
        stateR = 1;     
      }
  }
}

void btnPressR(){
   stateR = 1;
   for(int nr = 0; nr < 1500; nr++) { 
     buttonStateL = digitalRead(buttonPinL); 
     if(buttonStateL == 1){
        stateL = 1;
      }
   }
}

and i want to change some things. I want when right turn signal work , left daylight light go off and when left turn signal work , right daylight go off. Another thing i want is when daylight go on effect like this daylight on audi : Audi A7 Animation light functions | Video | Audi MediaTV . What can i do ? Thanks very much.

The first thing you must do is check with your local police force to see if that is legal where you live. If it is then check with your insurance company that this will not invalidate your insurance. Then check the disclaimer in the Processor’s data sheet, right at the very end which says this processor must not be used in automotive applications. And think about the consequences of ignoring it.

Then you are ready to learn how to code and make your custom effect.

My, but what a party pooper! :grinning:

Paul__B: My, but what a party pooper! :grinning:

I guess they don't call him Grumpy Mike for no reason. He's not asking how to convert his AK to full-auto, Mike!

I guess they don't call him Grumpy Mike for no reason.

They do not call me Grumpy Mike, I call myself Grumpy Mike. That is the whole point about choosing your own name when registering for this forum.