Не всегда есть смысл брать готовую плату arduino,если можно собрать контроллер самому,заказав комплектующие по частям - цена такого самодельного конроллера ниже в 3 раза.Такой вариант будет актуален,если у Вас уже имеется плата arduino для загрузки скетча(прошивки).
Схема содержит процессор ATMEGA328P ,кварц на 16мгц с обвязкой,а так же микросхем(ы) расширения портов.Собирается все на макетной плате.
Процессор имеет 14 входов/выходов и 6 аналоговых входа,но этого иногда бывает недостаточно,и для расширения портов можно использовать 2 варианта:
1. Расширение портов с помощью микросхемы MCP23017,которая дает плюсом 16 портов,которые можно настроить как на вход,так и на выход.
На фото 1 и 2 показан вариант с MCP23017,где на разъемы подключаются все устройства:датчики,реле,кнопки.Назначение выводов на плате определяется скетчем.Резисторы R2,R3 имеют номинал 4.7 KoM.
Примерная себестоимость данной платы - 5$ (150 руб) без учета Ethernet модуля.
2. Пример расширения портов с помощью регистров 74HC595,которая дает возможность добавить 16 портов на выход,но при этом занимает 3 цифровых выхода.
Внимание ! Данная схема подключения устарела - рекомендуется использовать вариант через SPI
Примерная себестоимость данной платы 4$(120 руб) без учета Ethernet модуля.
Ethernet шилд в обеих случаях может быть как W5100 ,так и ENC28J60 (как на первом фото).Для ENC28J60 необходима установка стабилизатора на 3.3в. Возможны варианты подключения без Ethernet шилда,подключив напрямую к роутеру через RS-232.
К сожалению такие варианты не могут на себя взять много функций из-за слабого процессора ATMEGA328P,но иногда этого и предостаточно,если необходимо поставить несколько контроллеров в квартире в разных местах,которые будут выполнять немного функций.
Примеры скетчей находятся на соотвествующих страницах Ethernet модулей и микросхем расширения портов.