pwm — ШІМ (PWM)

Функції для генерації ШІМ-сигналу за допомогою периферії ESP32 LEDC.

Примітка

Системний бузер також використовує LEDC, тому радимо використовувати вищі номери каналів (наприклад, 2..``15``), щоб уникнути конфлікту.

Приклад:

1let led_pin = 12;
2let channel = 2;
3pwm.setup(channel, 5000, 8); // канал 2, 5 кГц, 8 біт
4pwm.attach_pin(led_pin, channel);
5pwm.write(channel, 128); // 50% заповнення

Функції

pwm.setup(channel, freq, resolution_bits)

Налаштовує канал ШІМ.

Arguments:
  • channel (number()) – Номер каналу (0..``15``).

  • freq (number()) – Частота в Гц.

  • resolution_bits (number()) – Розрядність (1..``16``, необов’язково, за замовчуванням 8).

Повертає:

Фактична встановлена частота в Гц.

Тип повернення:

number

pwm.attach_pin(pin, channel)

Прив’язує GPIO-пін до каналу ШІМ.

Arguments:
  • pin (number()) – Номер піна.

  • channel (number()) – Номер каналу.

pwm.detach_pin(pin)

Відв’язує GPIO-пін від каналу ШІМ.

Arguments:
  • pin (number()) – Номер піна.

pwm.write(channel, duty)

Встановлює коефіцієнт заповнення (duty) для каналу.

Arguments:
  • channel (number()) – Номер каналу.

  • duty (number()) – Значення заповнення (0..``2^resolution - 1``).

pwm.write_tone(channel, freq)

Генерує тон заданої частоти на каналі.

Arguments:
  • channel (number()) – Номер каналу.

  • freq (number()) – Частота в Гц.

Повертає:

Фактична встановлена частота в Гц.

Тип повернення:

number

pwm.read(channel)

Читає поточне значення заповнення (duty) каналу.

Arguments:
  • channel (number()) – Номер каналу.

Повертає:

Поточне значення заповнення.

Тип повернення:

number