int greenPin = 4;
int redPin = 5;
int bluePin = 6;
int red_led_state=LOW;
int green_led_state=LOW;
int blue_led_state=LOW;
byte brightnes=0;
byte fadeinctesment=1;
unsigned long currentMillis = 0;
unsigned long blink_red_prev_millis = 0;
unsigned long blink_red_period = 250;
unsigned long random_period_red_prev=0;
unsigned long random_period_red_period=1000;
unsigned long fade_blue_prev_millis = 0;
unsigned long fade_blue_period = 10;
unsigned long blink_green_prev_millis = 0;
unsigned long blink_green_period = 250;
void fade_blue () {
if(currentMillis - fade_blue_prev_millis >=fade_blue_period){
fade_blue_prev_millis=currentMillis;
analogWrite(bluePin,brightnes);
brightnes += fadeinctesment;
}
}
void random_period_red () {
if (currentMillis - random_period_red_prev >=random_period_red_period) {
random_period_red_prev = currentMillis;
blink_red_period = random(50, 500);
}
}
void blink_red_led () {
if (currentMillis - blink_red_prev_millis >=blink_red_period) {
blink_red_prev_millis = currentMillis;
if (red_led_state==LOW) {red_led_state=HIGH;} else {red_led_state=LOW;}
digitalWrite(redPin,red_led_state);
}}
void blink_green_led () {
if (currentMillis - blink_green_prev_millis >=blink_green_period) {
blink_green_prev_millis = currentMillis;
if (green_led_state==LOW) {green_led_state=HIGH;} else {green_led_state=LOW;}
digitalWrite(greenPin,green_led_state);
}}
void setup() {
pinMode(redPin, OUTPUT);
pinMode(bluePin, OUTPUT);
Serial.begin(9600);
}
void loop() {
currentMillis=millis();
blink_red_led();
fade_blue();
blink_green_led () ;
random_period_red ();
Serial.println(blink_red_period);
}