Данная история может быть непонятна людям далеким от компьютеров, программирования, администрирования или радиоэлектроники. Если что, я предупредил.
Где-то в 2007-м понадобилось мне на одной фирме сделать регулярную перезагрузку питания ADSL-модема, чтоб интернет не глючил. Решено было создать устройство, которое в 22:00 выключает модем, а в 6:00 включает. Суточное реле не предлагать. Почему? Потому что.
Так вот, разработал я такую платку: микропроцессор attiny2313(привет от дедушки, Ардуина!) с подключением на разъем usb, оптрон для включения/выключения приходящей на модем фазы 220В.
В идеале, плата должна была подключаться по USB к серверу, от него же питаться по линии 5В, от него же принимать команды на включение/выключение ADSL.
Плату вытравил, собрал и все бы хорошо, но протокол USB я так и не раскурил, хотя и штудировал "Последовательные интерфейсы ПК". Время шло, толку нет, так и забросил созданную плату в ящик. Она и сейчас у меня там лежит.
Поделился грустью с одним электронщиком предпенсионного возраста:
-Вот, никак не получается...
-А зачем тебе именно микроконтроллер, напрямую через COM-порт управлять не хочешь?
-Хочу! А как?
-Схема простая: триггер, оптрон, пару конденсаторов. Посылай через COM-порт нечетное количество битов, в итоге выход триггера будет менять свое состояние на противоположное. Биты это что? Импульсы напряжения. Каждый импульс будет переключать триггер. Питаться схема будет тоже с СОМ. Получится простой переключатель с компьютерным управлением.
Тут же на перфорированной макетке собрали это чудо-устройство. По-быстрому в C++ Buider 5 я набросал программку. Она загружалась при старте компа и в заданное время посылала в COM посылку, длину которой можно регулировать настройками последовательной передачи данных. Сама программа была клиент-серверной, можно было через интернет менять настройки.
Вся эта система замечательно работала последующие года четыре, пока не перевели интернет на оптику.
Так что я хочу сказать? Иногда все можно сделать гораздо проще.