В Интернете встречается довольно много поделок эмуляторов DS19xx (1-Wire), но на практике ситуация напоминает историю, когда шкаф полон, а одеть нечего 🙂 Большинство интернетных поделок растёт из Arduino, который тяжеловесен и непрозрачен, особенно, когда дело касается маленьких устройств. А ещё эти поделки не работают…
Ниже речь пойдёт о безбатарейном эмуляторе домофонного ключа DS1990, которому не требуется внешнее питание: схема эмулятора ключа состоит из контроллера и конденсатора. Правда красиво? 🙂
Контроллер хранит в памяти 4 заранее прописанных ключа, подставляя новый при прикладывании к контактору. Пропадание питания, когда брелок снимается с контактора, вызывает переход к следующему ключу. Приложив брелок к контактору 4 раза перебираем все ключи.
Конденсатор C1 получает свой заряд от контактного поля iButton через защитный диод внутри контроллера. Чтобы заряда хватило для работы контроллера, старт производится в 2 этапа:
сразу после сброса проверяется флаг WD-таймера(Watch Dog), если сброс произошёл по причине появления питания, то выключается Brown-детектор, и контроллер отправляется в спящий режим со включенным WD-таймером для дальнейшего набора энергии в конденсаторе C1;
второй сброс возникает при исчерпании WD-таймера, и выводит контроллер для имитации DS1990.
Скачать исходный текст эмулятора можно здесь.