const int ledPin1 = 12; // GPIO 18 для першого світлодіода
const int ledPin2 = 14; // GPIO 19 для другого світлодіода
const int ledPin3 = 15; // GPIO 21 для третього світлодіода
const int fadeTime = 3000; // Час засвічування/загасання 3 сек (3000 мс)
const int maxDutyCycle = 255; // Максимальний рівень ШІМ
void setup() {
// Налаштування пінів на вихід
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
void loop() {
// Засвічування та загасання світлодіодів по черзі
// Засвічування та загасання LED1
fadeInOut(ledPin1);
// Засвічування та загасання LED2
fadeInOut(ledPin2);
// Засвічування та загасання LED3
fadeInOut(ledPin3);
}
// Функція для плавного засвічування/загасання світлодіода
void fadeInOut(int ledPin) {
// Засвічування (від 0 до 255)
for (int dutyCycle = 0; dutyCycle <= maxDutyCycle; dutyCycle += 5) {
analogWrite(ledPin, dutyCycle);
delay(fadeTime / (maxDutyCycle / 5)); // Менший крок та затримка для плавного засвічування
}
// Загасання (від 255 до 0)
for (int dutyCycle = maxDutyCycle; dutyCycle >= 0; dutyCycle -= 5) {
analogWrite(ledPin, dutyCycle);
delay(fadeTime / (maxDutyCycle / 5)); // Менший крок та затримка для плавного загасання
}
}