unsigned long previousMillis_r;
unsigned long previousMillis_y;
unsigned long previousMillis_g;
const unsigned long interval_r = 500;
const unsigned long interval_y = 800;
const unsigned long interval_g = 300;
bool red = false;
bool yellow = false;
bool green = false;
void setup() {
// put your setup code here, to run once:
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
unsigned long currentMillis = millis();
// интервал между сигналами
if(currentMillis - previousMillis_r >= interval_r)
{
previousMillis_r = currentMillis;
digitalWrite(10, !digitalRead(10));
// if (red) {
// red = false;
// digitalWrite(10, LOW);
// }
// else{
// red = true;
// digitalWrite(10, HIGH);
// }
}
if(currentMillis - previousMillis_y >= interval_y)
{
previousMillis_y = currentMillis;
if (yellow) {
yellow = false;
digitalWrite(11, LOW);
}
else{
yellow = true;
digitalWrite(11, HIGH);
}
}
if(currentMillis - previousMillis_g >= interval_g)
{
previousMillis_g = currentMillis;
if (green) {
green = false;
digitalWrite(12, LOW);
}
else{
green = true;
digitalWrite(12, HIGH);
}
}
}