Buzzer: различия между версиями
(Подготовка страницы к переводу) |
(Отметить эту версию для перевода) |
||
Строка 1: | Строка 1: | ||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
<!--T:1--> | |||
Излучатель звука подключен в Wiren Board Smart Home к выходу ШИМ и управляется через sysfs-интерфейс ядра. | Излучатель звука подключен в Wiren Board Smart Home к выходу ШИМ и управляется через sysfs-интерфейс ядра. | ||
Номер порта PWM - 2. | Номер порта PWM - 2. | ||
<!--T:2--> | |||
ШИМ - это прямоугольные импульсы, интерфейс ядра позволяет регулировать частоту импульсов и коэффициент заполнения. | ШИМ - это прямоугольные импульсы, интерфейс ядра позволяет регулировать частоту импульсов и коэффициент заполнения. | ||
Коэффециент заполнения влияет на громкость звука. | Коэффециент заполнения влияет на громкость звука. | ||
<!--T:3--> | |||
Экспорт порта в sysfs: | Экспорт порта в sysfs: | ||
<pre> | <pre> | ||
Строка 12: | Строка 15: | ||
</pre> | </pre> | ||
<!--T:4--> | |||
После этого появляется директория /sys/class/pwm/pwmchip0/pwm2 | После этого появляется директория /sys/class/pwm/pwmchip0/pwm2 | ||
<!--T:5--> | |||
<br/> | <br/> | ||
<!--T:6--> | |||
Установка периода в наносекундах. Пересчёт из частоты(в килогеграцах в период в наносекундах производится по формуле: | Установка периода в наносекундах. Пересчёт из частоты(в килогеграцах в период в наносекундах производится по формуле: | ||
<b> | <b> | ||
Строка 21: | Строка 27: | ||
</b> | </b> | ||
<!--T:7--> | |||
<pre> | <pre> | ||
echo 250000 > /sys/class/pwm/pwmchip0/pwm2/period # устанавливаем период в 250 000 нс, т.е. в 250мкс, что соответствует частоте 4кГц | echo 250000 > /sys/class/pwm/pwmchip0/pwm2/period # устанавливаем период в 250 000 нс, т.е. в 250мкс, что соответствует частоте 4кГц | ||
</pre> | </pre> | ||
<!--T:8--> | |||
Установка duty_cycle (длительности высокого состояния) в наносекундах. Максимальная громкость достигается при duty_cycle = period / 2 | Установка duty_cycle (длительности высокого состояния) в наносекундах. Максимальная громкость достигается при duty_cycle = period / 2 | ||
<!--T:9--> | |||
<pre> | <pre> | ||
echo 125000 > /sys/class/pwm/pwmchip0/pwm2/duty_cycle # устанавливаем duty_cycle в 125 000 нс, т.е. в половину периода | echo 125000 > /sys/class/pwm/pwmchip0/pwm2/duty_cycle # устанавливаем duty_cycle в 125 000 нс, т.е. в половину периода | ||
Строка 32: | Строка 41: | ||
<!--T:10--> | |||
Включение выхода ШИМ: | Включение выхода ШИМ: | ||
<pre> | <pre> | ||
Строка 37: | Строка 47: | ||
</pre> | </pre> | ||
<!--T:11--> | |||
Выключение: | Выключение: | ||
<pre> | <pre> | ||
Строка 42: | Строка 53: | ||
</pre> | </pre> | ||
<!--T:12--> | |||
[https://github.com/contactless/wirenboard/tree/master/examples/beeper '''Пример'''] | [https://github.com/contactless/wirenboard/tree/master/examples/beeper '''Пример'''] | ||
</translate> | </translate> |
Версия 19:53, 28 мая 2019
Излучатель звука подключен в Wiren Board Smart Home к выходу ШИМ и управляется через sysfs-интерфейс ядра. Номер порта PWM - 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