#define LED_R 10 // Вывод для Красного диода
#define LED_G 12 // Вывод для Зеленого диода
#define LED_Y 11 // Вывод для Синего диода
#define PERIOD_LED_R 1000 // период в мс
#define PERIOD_LED_G 3000
#define PERIOD_LED_Y 5000
#define LIGHT_TIME 500
unsigned long timerLedR, // переменная таймера
timerLedG,
timerLedY,
timerBlackoutLedR;
void setup() {
pinMode(LED_R, OUTPUT);
pinMode(LED_G, OUTPUT);
pinMode(LED_Y, OUTPUT);
}
void loop()
{
if (millis() - timerLedR >= PERIOD_LED_R) { // ищем разницу
digitalWrite(LED_R, HIGH);
timerLedR = millis();
}
if (millis() - timerLedG >= PERIOD_LED_G) {
digitalWrite(LED_G, HIGH);
timerLedG = millis();
}
if (millis() - timerLedY >= PERIOD_LED_Y) {
digitalWrite(LED_Y, HIGH);
timerLedY = millis();
}
if (millis() - timerLedR >= LIGHT_TIME) { // ищем разницу
digitalWrite(LED_R, LOW);
}
if (millis() - timerLedG >= LIGHT_TIME) { // ищем разницу
digitalWrite(LED_G, LOW);
}
if (millis() - timerLedY >= LIGHT_TIME) { // ищем разницу
digitalWrite(LED_Y, LOW);
}
}