Buzzer/en

Материал из Wiren Board
Версия от 19:54, 28 мая 2019; RomanKulibaba (обсуждение | вклад) (Новая страница: «The sound emitter is connected to the PWM output in the Wiren Board Smart Home controller and is controlled via the sysfs kernel interface. The PWM port number is 2.»)

Другие языки:

The sound emitter is connected to the PWM output in the Wiren Board Smart Home controller and is controlled via the sysfs kernel interface. The PWM port number is 2.

ШИМ - это прямоугольные импульсы, интерфейс ядра позволяет регулировать частоту импульсов и коэффициент заполнения. Коэффециент заполнения влияет на громкость звука.

Экспорт порта в sysfs:

echo 2 > /sys/class/pwm/pwmchip0/export

После этого появляется директория /sys/class/pwm/pwmchip0/pwm2


Установка периода в наносекундах. Пересчёт из частоты(в килогеграцах в период в наносекундах производится по формуле: T(ns) = 1 000 000 / f(kHz)

echo 250000 > /sys/class/pwm/pwmchip0/pwm2/period # устанавливаем период в 250 000 нс, т.е. в 250мкс, что соответствует частоте 4кГц

Установка duty_cycle (длительности высокого состояния) в наносекундах. Максимальная громкость достигается при duty_cycle = period / 2

echo 125000 > /sys/class/pwm/pwmchip0/pwm2/duty_cycle # устанавливаем duty_cycle в 125 000 нс, т.е. в половину периода


Включение выхода ШИМ:

echo 1 > /sys/class/pwm/pwmchip0/pwm2/enable

Выключение:

echo 0 > /sys/class/pwm/pwmchip0/pwm2/enable

Пример