А т.к. терраса проходная, то хотелось иметь выключатели у дверей. В добавок получалось три канала освещения.
Первые два канала образуют зону прохода (г-образный из 3+2 ламп), третий освещение кухонной рабочей поверхности.
Принципиально можно было бы поставить пару сдвоенных проходных выключателя для прохода, плюс отдельный выключатель для кухни.
Или использовать "импульсное реле" (триггер+реле, вход сухой контакт) у которых можно повесить сколько влезет кнопок параллельно.
Только цена мне не понравилась, а порывшись в хламе нашел почти все необходимое чтобы сделать самому с бж. и ш.
ТЗ:
- Управление 3-я нагрузками ~12 В до 5 А (лампы)
- Управление питанием трансформатора ~220 В 0.5 А
- Два канала кнопок:
- Одиночное нажатие включает канал 1, выключает каналы 1 и 2; двойное включает вместе канал 1 и 2
- Нажатие включает/выключает канал 3.
- Управление с пульта ДУ
Ингредиенты:
- ORduino Nano (v1) ... 1 шт.
- Зарядка от старого мобильного (5 В, 700 мА) ... 1 шт.
- Реле (5 В, один замыкающийся контакт) ... 4 шт.
- Транзисторы NPN (я взял КТ3102) ... 4 шт.
- Диоды (1N4148) ... 6 шт.
- Светодиоды ... 5 шт.
- TSOP1736 ... 1 шт.
- Колодки х2 ... 7 шт.
- Макетная плата (слепыш) ... 1 шт.
- Корпус ... 1 шт.
- Кучку резисторов и конденсаторов
К сожалению в электронном виде схемы нет, но она крайне проста.
Из транзистора и диода собирается управление соленоидом, плюс ко входу подключается светодиод.
Четыре таких блока подключаются к дуине.
Из пары резисторов и диода (лучше найти стабилитрон на 5.1В) для защиты входа собираются два канала для кнопок.
Из тсопа, светодиода, конденсатора и резистора собирается выносной приемный модуль.
(сейчас нет редактора под рукой, потом нарисую)
За четыре вечера я собрал железо. Еще 3 отлаживал скетч (оказалось что я едва едва влезал в мегу88).
Сегодня я наконец закончил и установил на место. Работает.
В скетче я использую библиотеку Bounce для устранения дребезга и IRremote - универсальный приемник/передатчик.
Последний пришлось править чтобы он заработал на первой нане, ну и аппетиты сократить (не понимаю зачем long там, где достаточно bool), на современных нанах можно использовать оригинальную библиотеку.
На кнопку 2 я также повесил программирование кнопок пульта.
Вся настройка в начале скетча:
- Код: Выделить всё • Развернуть
/* IO definition */
#define CH1_COIL 2
#define CH2_COIL 3
#define CH3_COIL 4
#define PWR_COIL 5
#define BTN1 6
#define BTN2 7
#define IR_RX 11
#define IR_LED 13
/* Options */
#define BTN_DEB_MS 50
#define BTN_DOUBLE_MS 500
#define BTN_PROGRAM_IR 10
Добавлено спустя 3 часа 30 минут 26 секунд: