#include <Servo.h>
unsigned long pmillis1 = 0; // previusMillis1
unsigned long pmillis2 = 0;
const unsigned long time1On = 100; // time LED ON
const unsigned long time1Off = 200; // time LED OFF
const unsigned long time2On = 300; // time LED ON
const unsigned long time2Off = 200; // time LED OFF
int led1_level = LOW;
int led2_level = LOW;
int nextEventTime1 = 0;
int nextEventTime2 = 0;
#define lightSensor A0
int analogLight = 0;
Servo myWinch;
void setup() {
myWinch.attach(8);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
}
void loop() {
flashbar();
interiorlights();
}
void flashbar(){
// LAMPEGGIO 1
if (millis() - pmillis1 >= nextEventTime1) {
pmillis1 = millis ();
if (led1_level) {
nextEventTime1 = time1Off;
} else {
nextEventTime1 = time1On;
}
led1_level = !led1_level;
digitalWrite (12, led1_level);
}
// LAMPEGGIO 2
if (millis() - pmillis2 >= nextEventTime2) {
pmillis2 = millis ();
if (led2_level) {
nextEventTime2 = time2Off;
} else {
nextEventTime2 = time2On;
}
led2_level= !led2_level;
digitalWrite (11, led2_level);
}
}
void interiorlights(){
analogLight = analogRead(lightSensor);
delay(100);
if(analogLight >= 633){ //50lux
digitalWrite(10, HIGH);}
else if(analogLight <= 511){ //100lux
digitalWrite(10, LOW);
}
}