#include <FastLED.h>// include library
#define NUM_LEDS 2 // number of leds
#define DATA_PIN 13 //signal pin of board
#define MASTER_BRIGHTNESS 50
CRGB leds[NUM_LEDS];//setup individual led array
#define LED1 2 //
#define LED2 3//pin for each led
#define LED3 4//pin for each led
#define LED4 5//pin for each led
int redpin = 11; //select the pin for the red LED
int bluepin = 10; // select the pin for the blue LED
int greenpin = 9; // select the pin for the green LED
int greenled = 8; //
int redled = 6; //
int red2led = 7; //
int pericnt = 0; // periscope change value
int perimod = 0; // periscope modulus value
int redcol = 0;
int blucol = 0;
int grecol = 0;
int val;
int neopixel = 13;
unsigned long previousMillis[4]; //[x] = number of leds
void setup()
{
pinMode(redpin, OUTPUT);
pinMode(bluepin, OUTPUT);
pinMode(greenpin, OUTPUT);
pinMode(redled, OUTPUT);
pinMode(greenled, OUTPUT);
pinMode(red2led, OUTPUT);
pinMode(neopixel,OUTPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(DATA_PIN, OUTPUT);
Serial.begin(115200);
randomSeed(analogRead(A0));
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); //declare LED strip
FastLED.setBrightness(MASTER_BRIGHTNESS);
FastLED.show();
FastLED.clear();
}
void loop()
{
RGBLED(0, 0, 0, 0);
Blink1(500); //BlinkLed( which led, interval, one of the stored prevMillis
Blink2(1000); //last parameters must be different for each led
Blink3(1200); //last parameters must be different for each led
Blink4(1500); //last parameters must be different for each led
LEDBack (0);
//LEDStrip;
}
void Blink1 (int interval)
{
static long prevMill = 0;
if (((long)millis() - prevMill) >= interval){
prevMill = millis();
digitalWrite(LED1, !digitalRead(LED1));
}
}
void Blink2 (int interval)
{
static long prevMill = 0;
if (((long)millis() - prevMill) >= interval){
prevMill = millis();
digitalWrite(LED2, !digitalRead(LED2));
}
}
void Blink3 (int interval)
{
static long prevMill = 0;
if (((long)millis() - prevMill) >= interval){
prevMill = millis();
digitalWrite(LED3, !digitalRead(LED3));
}
}
void Blink4 (int interval)
{
static long prevMill = 0;
if (((long)millis() - prevMill) >= interval){
prevMill = millis();
digitalWrite(LED4, !digitalRead(LED4));
}
}
void RGBLED (int perimod, int redcol, int blucol, int grecol)
{
//RGB LED
pericnt++;
redcol = 0;
blucol = 0;
grecol = 0;
perimod = pericnt % 3;
switch (perimod) {
case 0 :
redcol = 255;
break;
case 1 :
blucol = 255;
break;
case 2 :
grecol = 255;
break;
}
analogWrite(11, redcol);
analogWrite(10, blucol);
analogWrite(9, grecol);
}
void LEDBack (int val)
{
//3 LEDS Rückseite
for (val = 255; val > 0; val--)
{
analogWrite(6, 20 - val);
analogWrite(8, 255 - val);
analogWrite(7, val);
delay(20);
}
for (val = 0; val < 255; val++)
{
analogWrite(6, val);
analogWrite(8, 10 - val);
analogWrite(7, val);
delay(10);
}
}
void LEDStrip ()
//LED strip
// Turn the LED on, then pause
{
leds[0] = CRGB::Red;
FastLED.show();
//delay(500);
// Now turn the LED off, then pause
leds[0] = CRGB::Black;
FastLED.show();
//delay(500);
}