Выложил
скетч для управления белой светодиодной лентой при помощи модуля MOSFET4. Вот что он делает:
- Когда темнеет, включает ленту на 4 часа на половину яркости
- В темноте, если сработал датчик движения (PIR или RF), то включает ленту на полную яркость на 1 мин
В момент изменения новое значение соответствующей темы бродкастится в HBus. Кроме того, раз в 10 мин он по одному он бродкастит в HBus сообщения на все заданные модулю темы (топики).
- топик 1200 - датчик света (фоторезистор), значения условно отнормированы: если больше 1.0 - значит светло, если меньше 0.9 - значит темно; кроме того значение более 1.1 перезаряжает (днем) 4-часовой таймер, чтобы он снова сработал вечером, когда стемнеет
- топик 1300 - датчик движения, его значение показывает через сколько секунд закончится минутный таймер, значения передаются независимо от того, светло сейчас или темно
- топик 2000 - текущая яркость светодиодной ленты, от 0 до 1.0; пригодится если Мажордомо на плане дома будет отображать яркость светильников в реальном времени; кроме того, отправляя значения в топик 2000, можно напрямую управлять лентой дистанционно (в частности, из программы NodeTest)
- топик 500 - контроль питания MOSFET, значение 0 - питание в порядке, значение 1.0 - питание пропало.
Яркость ленты управляется при помощи ШИМ (PWM). Частота 125 Гц, 8 градаций яркости. Для задач, где требуется больше выходных каналов, импульсы ШИМ четырех каналов равномерно "размазаны" во времени, чтобы снизить пульсации в блоках питания и подводящих питание кабелях.