Последние замечания
Как аппаратная, так и программная разработка выполнена мною в макетном варианте. Я говорил, что не намерен создавать промышленный вариант - моя задача показать, что есть такое интересное занятие - придумывать и создавать, используя возможности компьютера, интересные устройства. По этой причине компьютер выбран в качестве основного управляющего устройства. Не, если кому-то захочется, не ограничиваясь экспериментами, использовать систему в своей комнате или квартире, я бы посоветовал рассмотреть возможность замены компьютера на автономное управляющее устройство, выполненное на базе, например, того же микроконтроллера PIC16F628A. Его программная память позволяет разместить до 2 Кб управляющей программы, что вполне может оказаться достаточным для управления модулями в комнате или даже квартире. Можно, если памяти окажется недостаточно, использовать другой микроконтроллер или дополнительную память для размещения программы.
Программу для создания основной программы можно написать в виде, близком к профессиональному, - очень интересная задача. И очень интересно придумывать новые модули, которые были бы полезны в составе системы.
Если добавить в виртуальную лабораторию на компьютере программу, позволяющую провести разработку на традиционной элементной базе - транзисторы, резисторы, конденсаторы и т. д., возможности разработки многократно увеличатся. Необычайная гибкость микроконтроллеров, надеюсь, мне удалось это показать, позволяет за счет небольших изменений в программе превратить микроконтроллер в основу совсем другого устройства. Даже замена элементов, которыми управляет контроллер, без замены его программы меняет конечное назначение устройства - замена реле на управляемые ключи превращает релейный модуль в управляемый аудио - коммутатор или усилитель. И всю эту работу можно осуществить за компьютером, отложив покупку деталей до того момента, когда вы уверитесь в необходимости создания прототипа, и реальности достижения цели.
Несколько практических советов для тех, кто намерен не останавливаться на экспериментах, а воплотить систему в жизнь. Как все системы подобного назначения, эта получается достаточно гибкой. Она может использоваться в комнате и во всей квартире, как система, управляемая с компьютера или как децентрализованная система. Достаточно немного изменить программы модулей. Например, модуль цифровых вводов, используемый в качестве контроллера клавиатуры, может отправлять прямые команды модулям выключателей света (или релейным). В итоге вы получаете автономную подсистему - в одном месте расположен пульт управления всеми выключателями в квартире (или в каждой комнате находятся пульты управления всеми выключателями света в квартире), а исполняющие модули расположены рядом со светильниками. Подобным же образом можно организовать любую подсистему.
Для опытов со светом я бы посоветовал использовать настольные лампы, бра, торшеры, включаемые в розетки; задействовать для их подключения промежуточную розетку, подключаемую через контакты реле (релейного модуля) или триак (модуля выключателя света). Включать промежуточную розетку в сеть следует только после тщательной проверки правильности и качества монтажа.
Для тех, кто все-таки решит заменить штатный выключатель света модулем и не забудет на время работ по замене отключить автомат в силовом шкафу, хочу напомнить, что кроме управления выключателем по системной сети следует предусмотреть ручное выключение. Например, изменив программу контроллера, - установить один или два вывода порта на ввод. К этим выводам будет подключаться кнопка (или кнопки) ручного управления. Триак лучше установить на теплоотвод в виде металлической пластины, которая одновременно может играть роль несущего элемента конструкции. Выключатель для этих целей можно подобрать удобный к переделке. Я не исключаю, что можно расположить все элементы схемы модуля внутри любого обычного выключателя и использовать его контракты для ручного управления модулем.
Если вы захотите использовать датчик температуры для управления калорифером, не забудьте, что используемый вами термозависимый элемент может подвергаться воздействию случайных движений воздуха. Если тепловые процессы в помещении инерционны, сам термоэлемент может обладать значительно меньшей инерционностью. Используйте либо разнесение по температуре команд включения и выключения обогревателя, либо используйте временные задержки, проверяя состояние датчика температуры дважды с некоторым интервалом времени.
И последнее: я выбрал в качестве иллюстрации систему «Умный дом», но это не единственная система, которую можно реализовать с использованием микроконтроллера. Придумывать подобные системы и создавать их, используя сегодняшние возможности компьютера, - увлекательнейшее занятие, даже если не превращать его в профессию.