pwm - ШІМ (PWM)
Функції для генерації ШІМ-сигналу на пінах роз’єму розширення за допомогою периферії ESP32 LEDC.
Примітка
Системний бузер також використовує LEDC, тому радимо використовувати
вищі номери каналів (наприклад, 2..``15``), щоб уникнути конфлікту.
Приклад:
-- Плавна зміна яскравості світлодіода на піні 12
led_pin = 12
channel = 2
pwm.setup(channel, 5000, 8) -- канал 2, 5 кГц, 8 біт
pwm.attach_pin(led_pin, channel)
while true do
for duty = 0, 255 do
pwm.write(channel, duty)
util.sleep(0.005)
end
for duty = 255, 0, -1 do
pwm.write(channel, duty)
util.sleep(0.005)
end
if controller.get_state().a.just_pressed then
break
end
end
- class pwm
Апаратний ШІМ (PWM) на основі периферії ESP32 LEDC.
Зверніть увагу: системний бузер також використовує LEDC, тому радимо використовувати вищі номери каналів (наприклад,
2..``15``), щоб уникнути конфлікту.- static setup(channel, freq, resolution_bits)
Налаштовує канал ШІМ.
- Parameters:
channel (
integer) – номер каналу (0..``15``)freq (
integer) – частота в Гцresolution_bits (
integer) – ? розрядність (1..``16``, за замовчуванням8)
- Returns:
actual фактична встановлена частота в Гц
- Return type:
integer
- static attach_pin(pin, channel)
Прив’язує GPIO-пін до каналу ШІМ.
- Parameters:
pin (
integer) – номер пінаchannel (
integer) – номер каналу
- static detach_pin(pin)
Відв’язує GPIO-пін від каналу ШІМ.
- Parameters:
pin (
integer) – номер піна
- static write(channel, duty)
Встановлює коефіцієнт заповнення (duty) для каналу.
- Parameters:
channel (
integer) – номер каналуduty (
integer) – значення заповнення (0..``2^resolution - 1``)
- static write_tone(channel, freq)
Генерує тон заданої частоти на каналі.
- Parameters:
channel (
integer) – номер каналуfreq (
integer) – частота в Гц
- Returns:
actual фактична встановлена частота в Гц
- Return type:
integer
- static read(channel)
Читає поточне значення заповнення (duty) каналу.
- Parameters:
channel (
integer) – номер каналу- Return type:
integer