Buzzer: различия между версиями

Материал из Wiren Board
(Подготовка страницы к переводу)
(Отметить эту версию для перевода)
Строка 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

Пример