Вдоволь поигравшись с прямым подключением датчика теплого пола к порту IO контроллера, в голову пришла идея провернуть похожий эксперимент с мультивыключателем Jung 532-4U. Это двухклавишный выключатель с возвращением в среднее положение и соответственно у него 4 нормально открытых контакта. Для его классического подключения нужно использовать 4 порта IO и 5 жил UTP.
Теперь собственно суть эксперимента: что если к каждому контакту выключателя подключить резистор разного номинала, а другие концы резисторов объединить и подать на вход IO контроллера. Из курса физики еще помнится, что: Rобщ.=1/(1/R1 + 1/R2 + 1/R3 + 1/R4). И если принять R1=R, R2=2R, R3=4R, R4=8R, то при разных сочетаниях нажатых клавиш Rобщ. будет принимать значения от 8R/15 до 8R/1.
Прикинув, какие значения сопротивлений дадут максимально широкий диапазон значений сигнала внутри программы и просмотрев стандартные ряды сопротивлений я купил резисторы 3.3кОм, 6.8кОм, 13кОм и 27кОм мощностью 0.25Вт и точностью 1%, все вместе на 42р (Чип и Дип). Все соединил, подключил к контроллеру, запустил отладчик, убедился, что идея работает, написал модуль. В параметрах модуля вписываются в порядке возрастания значения сигнала с порта IO для 8 возможных комбинаций нажатых клавиш.
Итого, для подключения 1 мультивыключателя с 4 нормально открытыми контактами понадобился ровно 1 порт IO и ровно 2 жилы UTP. А на весь контроллер DIN-AP2 или модуль DIN-IO8 таким образом можно подключить 8 двухклавишных мультивыключателей, т.е. ровно столько, сколько может понадобиться в двухкомнатной квартире! Сижу довольный как слон : )
P.S. Может понадобиться обновление прошивки модуля DIN-IO8, т.к. в старых версиях значение на выходе модуля поднималось плавно, а не мгновенно, что совершенно неприемлемо для подключения выключателя описанным в статье способом.
Все вкусности во вложенных файлах:
- документация Jung 532-4U;
- схема включения;
- расчет сопротивлений
- модуль Simpl+
Скриншот:
Было:
Стало:
1 Комментарии。