Есть у меня самый простой и дешевый напольный вентилятор. Он выручает меня в жаркие дни, когда температура в комнате поднимается до 30° и вечером трудно заснуть из-за этого. Все бы ничего, но такой облом, когда вот-вот заснешь, вставать и выключать вентилятор!
Короче, решено было выключать его не вставая, т. е. дистанционно, а заодно и таймером снабдить, чтобы даже не выключать самому.
Проще всего было сделать это на Arduino. В процессе проектирования схема обросла мелкими дополнениями — звуковая и цифровая индикация. Старые кнопки тоже задействованы, но уже не коммутируют силовые цепи; они подключены ко входам Arduino.
Блок питания применен готовый, китайский, компактный, 5В/0,7 А. Можно взять и на меньший ток, потому что схема даже кратковременно потребляет не больше 250 мА.
Реле я использовал твердотельные, они меньше места на плате занимают и им нужен меньший ток управления, можно прямо к контроллеру подключать. Несмотря на индуктивную нагрузку, я не стал ставить искрогасящие цепочки, потому что выключение симисторов в составе реле происходит при нулевом токе.
Звуки издает стандартная компьютерная пищалка.
Приемник дистанционного управления вначале не имел RC-фильтра в цепи питания. При отладке с питанием от USB все было прекрасно, но при первом же включении от штатного импульсного блока питания перестала включаться первая скорость и контроллер при этом зависал. После добавления RC-фильтра все заработало нормально. Схема в итоге приобрела такой вид:
Увеличить в новом окне
Вид на монтаж:
Вид на монтаж
С лицевой стороны:
Печатная плата в сборе
Корпус вентилятора, похоже, унифицированный, с окошком под фотоприемник и с возможностью крепления платы управления. Сначала я планировал разместить и фотоприемник, и индикатор под окошком, закрытым полупрозрачной пластмассой, но оказалось, что через нее цифры очень плохо видны и расплываются. Пришлось все-таки прорезать еще одно окно под индикатор.
В корпусе вентилятора свободное место было только выше кнопок. Из-за этого индикатор может закрываться неподвижными лопастями, но при включенном вентиляторе хорошо виден:
Окончательный результат
Теперь от аппаратной части перейдем к программной.
Пульт дистанционного управления можно взять почти любой (только не от кондиционера). Для определения кодов кнопок в архиве для скачивания есть вспомогательный скетч «key_press.ino». Полученные коды надо вставить в строку 9 основного скетча «Ventilator.ino».
Коротким нажатием кнопок 1-3 выбирается скорость вентилятора, длинным — время таймера (20/40/60 минут). Местными кнопками таймер включить нельзя. Любое действие подтверждается звуковым сигналом, исключение — беззвучное выключение по таймеру. При включенном таймере мигает точка на индикаторе.
Для звука есть своя функция myTone(), т. к. штатная функция tone() использует тот же таймер Arduino, что и библиотека ПДУ.
В архиве для скачивания находятся также схема, печатная плата в формате Sprint Layout 6.0, скетчи и использованная библиотека.
P. S. На рисунке печатной платы отсутствуют RC-фильтр в цепи питания приемника ДУ и эмиттерный повторитель для пищалки. Дорисуйте, пожалуйста, сами!
Скачать схему дистанционного управления вентилятором.