// =====================================================
// درس PWM — کمنور و روشنشدن تدریجی LED با ledcWrite
// =====================================================
const int LED_PIN = 2; // LED به این پایه وصل است (با یک مقاومت ۲۲۰ اهم به GND)
void setup() {
// پایه، فرکانس (هرتز)، دقت (بیت) — روی هستهٔ جدید Arduino-ESP32 (نسخهٔ ۳ به بعد)
ledcAttach(LED_PIN, 1000, 10); // فرکانس ۱ کیلوهرتز، دقت ۱۰ بیتی → مقدار duty بین ۰ تا ۱۰۲۳
}
void loop() {
// مرحلهٔ ۱: از خاموش به روشنِ کامل (محو شدن به داخل / Fade In)
for (int duty = 0; duty <= 1023; duty += 10) {
ledcWrite(LED_PIN, duty); // هرچه duty بیشتر، LED روشنتر
delay(10); // کمی صبر تا چشم تغییر را ببیند
}
// مرحلهٔ ۲: از روشنِ کامل به خاموش (محو شدن به بیرون / Fade Out)
for (int duty = 1023; duty >= 0; duty -= 10) {
ledcWrite(LED_PIN, duty);
delay(10);
}
}