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

Материал из Wiren Board
Строка 2: Строка 2:
<translate>
<translate>
<!--T:1-->
<!--T:1-->
Излучатель звука подключен в Wiren Board Smart Home к выходу ШИМ и управляется через sysfs-интерфейс ядра.
''Страница находится в процессе редактирования!!!!!''
Номер порта PWM - 2.
Все контроллеры Wiren Board имеют на борту звуковой излучатель (далее - Buzzer). Buzzer питается от 5В и управляется ножкой gpio процессора в режиме ШИМ. Управлять Buzzer'ом можно через sysfs-интерфейс ядра и различное ПО поверх него. Сейчас реализовано управление из web-интерфейса, движка правил wb-rules, python.


<!--T:2-->
==О ШИМ и пересчёт параметров==<!--T:2-->
ШИМ - это прямоугольные импульсы, интерфейс ядра позволяет регулировать частоту импульсов и коэффициент заполнения.
ШИМ - это прямоугольные импульсы, интерфейс ядра позволяет регулировать частоту импульсов и коэффициент заполнения.
Коэффециент заполнения влияет на громкость звука.
Коэффециент заполнения влияет на громкость звука.


<!--T:3-->
==Управление из sysfs==<!--T:3-->
Экспорт порта в sysfs:
Экспорт порта в sysfs:
<pre>
<pre>
Строка 55: Строка 55:
<!--T:12-->
<!--T:12-->
[https://github.com/contactless/wirenboard/tree/master/examples/beeper '''Пример''']
[https://github.com/contactless/wirenboard/tree/master/examples/beeper '''Пример''']
==Управление из web-интерфейса==<!--T:13-->
==Управление из движка правил==<!--T:14-->
==Управление из python==<!--T:15-->
</translate>
</translate>

Версия 14:22, 19 августа 2020

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

Страница находится в процессе редактирования!!!!! Все контроллеры Wiren Board имеют на борту звуковой излучатель (далее - Buzzer). Buzzer питается от 5В и управляется ножкой gpio процессора в режиме ШИМ. Управлять Buzzer'ом можно через sysfs-интерфейс ядра и различное ПО поверх него. Сейчас реализовано управление из web-интерфейса, движка правил wb-rules, python.

О ШИМ и пересчёт параметров

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

Управление из sysfs

Экспорт порта в 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

Пример

Управление из web-интерфейса

Управление из движка правил

Управление из python