🌗 درس 82: PWM در ESP32 با ledc
نور LED را نرم کم و زیاد کن و بفهم فرکانس و دقت (بیت) یعنی چه.
سطح: متوسط · زمان: حدود 15 دقیقه · مفاهیم: PWM، ledc، دقت
قدمهای این درس
- چرا ledc؟
- قدم ۱ — مدار
- قدم ۲ — کد با ledcAttach
- اشتباه رایج — نسخهی قدیمی و جدید
- چالش
نمونهای از کد این درس
// ESP32 PWM with the LEDC unit: fade an LED on GPIO4.
const int LED = 4;
const int FREQ = 5000; // 5000 pulses per second: too fast to see flicker
const int BITS = 10; // 10-bit resolution: duty goes 0..1023
void setup() {
Serial.begin(115200);
ledcAttach(LED, FREQ, BITS); // core 3.x: pin, frequency, resolution
Serial.println("Fading with ledc, 0..1023");
}
void loop() {
for (int duty = 0; duty <= 1023; duty += 16) {
ledcWrite(LED, duty); // core 3.x: write to the PIN
delay(10);
}
for (int duty = 1023; duty >= 0; duty -= 16) {
ledcWrite(LED, duty);
delay(10);
}
}
چرا این درس؟
دورهی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیهساز انجام میدهی — مدار واقعی میچینی، کد واقعی اجرا میکنی و نتیجه را همان لحظه میبینی. این درس روی درسهای قبلی ساخته شده، پس اگر تازه شروع کردهای از درس ۱ بیا!
این درس را رایگان در شبیهساز شروع کن 🎓