🌗 درس 82: PWM در ESP32 با ledc

نور LED را نرم کم و زیاد کن و بفهم فرکانس و دقت (بیت) یعنی چه.

سطح: متوسط · زمان: حدود 15 دقیقه · مفاهیم: PWM، ledc، دقت

قدم‌های این درس

  1. چرا ledc؟
  2. قدم ۱ — مدار
  3. قدم ۲ — کد با ledcAttach
  4. اشتباه رایج — نسخه‌ی قدیمی و جدید
  5. چالش

نمونه‌ای از کد این درس

// 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);
  }
}

چرا این درس؟

دوره‌ی تینکرکد فارسی تعاملی است: هر قدم را خودت داخل شبیه‌ساز انجام می‌دهی — مدار واقعی می‌چینی، کد واقعی اجرا می‌کنی و نتیجه را همان لحظه می‌بینی. این درس روی درس‌های قبلی ساخته شده، پس اگر تازه شروع کرده‌ای از درس ۱ بیا!

این درس را رایگان در شبیه‌ساز شروع کن 🎓

درس‌های دیگر دوره

👋

درس 81: سلام ESP32

📶

درس 83: وصل شدن به وای‌فای