Универсальное устройство: часы, термометр, термостат, будильник, система удалённого управления
Устройство «Universal device» (Универсальное устройство) содержит в себе функции нескольких устройств, которые сильно облегчают жизнь людям, автоматизируя жилую площадь. Так как устройство стремительно улучшается, оно имеет свой USB загрузчик, поэтому для обновления прошивки достаточно просто подключить Universal device к компьютеру, включить режим самопрограммирования и запустить на ПК программу для обновления прошивки. При этом, отсутствует опасность заблокировать устройство «навечно», как это иногда бывает при обновлении прошивки мобильных телефонов.
Содержание:
1. Краткое описание возможностей устройства
Universal device имеет такие функции:
- Отображение времени в формате «чч — мм – сс» (время автоматически синхронизируется с компьютером, к которому устройство подключено по USB-интерфейсу).
- 5 будильников с возможностью подключения внешнего, более громкого сигнализатора (например, рупора). Все настройки будильников можно сохранять во встроенной энергонезависимой памяти, которая имеет до 1000000 циклов записи/стирания.
- 2 термометра(-55С … +125С) с 8-канальным термостатом (термостаты не автономные).
- Управление 8 нагрузками (лампы, люстры, насосы, электромоторы и другие электроприборы) с помощью пульта дистанционного управления (ПДУ) или компьютера.
Также, устройство подключается к компьютеру по USB-интерфейсу, при этом, кроме выше написанных функций, доступны такие:
- Настройка будильников (время, день недели, источник сигнала, продолжительность звонка).
- Отображение текущей температуры обеих термометров на мониторе. При этом. Можно просматривать график смены температуры с момента запуска программы.
- Управление нагрузками. Установка времени автоматического включения/отключения для каждого канала, управление функцией термостата.
- При этом, с помощью Пульта Дистанционного Управления можно управлять такими функциями:
- Управление функциями Windows.
- Управление мышью.
- Виртуальное нажатие клавиш.
- Управление плеером Winamp.
- Возможность включения отображения большого сообщения поверх всех окон, например, при переключении трека в Winamp. Таким образом, можно увидеть текущий трек на настоянии от монитора даже более чем 5 метров.
- Доступны возможности отображения программы в системном трее (возле часов) и автозагрузки программы (вместе с загрузкой Windows).
2. Схема
Рис. 2.1. Схема устройства. (Нажмите для увеличения) .
Основой устройства является микроконтроллер ATmega16, он работает на частоте 16 МГц. Его питание может быть от USB порта или внешнего блока питания (выбор питания джампером J9) .
На устройстве есть 2 дисплея: символьный 16х2, и сегментный (2 штуки по 4 сегмента). Сегментный предназначен для отображения времени и температуры. Символьный — для удобства управления некоторыми функциями устройства, но его ставить совсем не обязательно.
Микросхема IC6 — это ПЗУ AT24C64 предназначена для сохранения настроек будильника, ROM адресов термодатчиков и ещё некоторых настроек.
TSOP1738 (лучше установить TSOP1736) — приемник ИК сигналов с пульта дистанционного управления.
USB — разъем для подключения устройства к компьютеру.
BUZZER — сигнализатор для будильника. Обязательно со встроенным генератором.
IR-Led — инфракрасный светодиод. В настройках будильника его можно выбрать в качестве сигнализатора. Для чего он нужен? Если, к примеру в комнате находятся несколько людей но утром нужно чтобы проснулись лишь Вы, тогда можно собрать простейший приемник ИК сигнала, который будет вибрировать при появлении инфракрасных лучей, и прицепить его на руку, тогда утром устройство активизирует ИК-передатчик и Ваше устройство завибрирует, разбудив Вас.
4 сдвиговых регистра 74HC595. Предназначены для управления светодиодами, сегментным дисплеем и нагрузками.
8 светодиодов (LED1 — LED8) — их предназначение смотрите в инструкции к программе.
ULN2003 — это сборка Дарлингтона. Микросхема предназначена для управления нагрузками, таким образом, к каждому выходу(кроме восьмого) можно подключить нагрузку до 500мА.
IRFZ44N(на схеме я случайно поставил другой) — полевой транзистор, управляет восьмой нагрузкой.
IC5 — линейный стабилизатор 5В. Я ОЧЕНЬ рекомендую заменить его на импульсный стабилизатор (например, R-78xx), тогда КПД устройства сильно повыситься.
Печатная плата в формате Sprint Layout 5.
Рис. 2.2. Печатная плата.
Скачать плату в формате *.lay вы можете ниже (для того, чтобы увидеть номинал компонента, наведите курсор на компонент, который Вас интересует).
В качестве сегментных дисплеев я взял KW4-563ASA потому что он очень яркий и стоит около 1$. А в качестве разъема для подключения вешнего термодатчика — аудиоразъем.
Вот что получилось:
Рис. 2.3. Фото устройства.
3.Пульт дистанционного управления
Очень долго я ходил по магазинам и базару чтобы найти самый подходящий пульт, в разных магазинах были разные пульты, но один пульт был во всех магазинах в которых я побывал. Вам не сложно будет приобрести это пульт потому что он очень распространен и его стоимость не более 3$. Вот его фото:
Рис. 3.1. пульт дистанционного управления.
ПДУ имеет 35 кнопок. Красной (Pon) включается/отключается режим приема команд. Если на устройстве НЕ будет гореть второй светодиод, то устройство будет реагировать лишь на кнопку Pon (красная снизу). Если горит второй светодиод, а третий – нет, то команды будут обрабатываться устройством. Зеленой кнопкой включается/отключается режим приема команд для компьютера (при включении загорается третий светодиод).
4. Управление устройством
В этом подразделе будет рассказано, как управлять устройством (нужно чтобы горел второй светодиод и НЕ горел третий).
Функции кнопок ПДУ.
В режиме управления устройством для управления используются 5 кнопок:
- BTN_MUTE – отключение сигнала будильника.
- BTN_0 … BTN9 – включить/отключить соответствующую нагрузку.
- BTN_TXT – Подтвердить выбор подпункта меню.
- BTN_ChUp – Следующий пункт меню.
- BTN_ChDown – Предыдущий пункт меню.
- BTN_VolInc – Следующий подпункт меню.
- BTN_VolDec – Предыдущий подпункт меню.
- Pon – Отключить прием команд с ПДУ.
- Pst – включить/отключить прием команд для компьютера.
Меню.
Меню устройства ещё слаборазвитое, но будет развиваться в следующих версиях прошивки. Сейчас оно имеет всего 2 пункта и несколько подпунктов.
Рис. 4.1. Меню устройства.
В первом пункте меню (Alarms) можно просматривать расписание звонков будильника (их всего 5). Если в подпунктах “Alarm 1” – “Alarm 5” нажать BTN_TXT то будильник включиться или отключиться. В подпунктах “Load timing” и “Save timing” можно сохранить или загрузить настройки будильников с ПЗУ.
Во втором пункте меню можно отформатировать микросхему ПЗУ. ВНИМАНИЕ: после форматирования обязательно отключите внешний термодатчик и нажмите кнопку RESET, после этого устройство определит адрес внутреннего термодатчика и на дисплее появиться надпись «Reset Device», нажмите кнопку RESET, подключите внешний термодатчик и ещё раз нажмите кнопку RESET.
Также на устройстве в левом нижнем углу есть 4 кнопки перехода по пунктам меню.
5. Связь с компьютером. Работа с программой “UD Control
Подключение
«Universal Device» имеет возможность подключения к компьютеру. Специально для работы с устройством создана программа “UD Control”, в этом мануале будет описана работа с версией программы 1.0.2.2. Программа работает на операционных системах Windows Home Edition и выше (включая Windows 7 и Windows Vista).
Для установки программы запустите файл UDC_Setup.exe и укажите папку (по умолчанию C:Program FilesUniversal DeviceUD Control ). После этого подключите устройство к ПК, Windows найдет новое оборудование и запросит драйвера, укажите папку с драйвером (c:Program FilesUniversal DeviceUD Controlwindows-driver ). После успешной установки драйвера запустите программу “UD Control” с рабочего стола. Если в нижнем левом углу программы будет написано «Устройство не подключено», то проверьте надежность соединения USB кабеля и правильность установки драйверов, так же желательно перезагрузить ПК.
UD Control
Программа UD Control создана автором данного проекта (тоесть мной). Для удобства, она имеет несколько вкладок чтобы быстро ориентироваться. Настройки программы сохраняются в системном реестре.
При первом запуске программа может показать предупреждение об ошибке, просто нажмите ОК и перезапустите программу.
В этой статье будет описана работа с версией программы 1.0.2.2.
Настройки
Рис. 5.1. Вкладка «Настройки»
Частота опроса. Задержка, с которой программа опрашивает устройство. Рекомендуемое значение 50 мс.
Показывать большое сообщение. При переключении треков в Winamp или выборе управляемой программы, на мониторе появляется большое сообщение с двумя строками.
Обновить прошивку устройства. Прошивка устройства, если при запуске программы появиться сообщение о несовместимости текущей версии программы с текущей версией прошивки то нажмите эту кнопку и следуйте дальнейшим указаниям программы. Таким образом прошивка устройства обновиться до последней прошивки, поддерживаемой текущей версией программы.
Функции, которые расположены в третей рамке, думаю, всем понятны.
Будильник
Рис. 5.2. Вкладка «Будильник»
Тайминг. Длительность сигнала звонка.
Повторительность. Длина сигнала и паузы.
Источник. Можно выбрать в качестве сигнализатора встроенный Буззер, ИК-светодиод или любой с восьми выходов, к которым подключен сигнализатор.
Задайте параметры будильников, после чего нажмите «Записать» и расписание звонков будет передано устройству, если установить галочку возле «Запись в ПЗУ», то расписание будет сохранено в ПЗУ (энергонезависимая память) устройства.
Температура
Рис. 5.3. Вкладка «Температура»
На данной вкладке можно увидеть температуру обеих термодатчиков, слева – внешний, справа – внутренний. Ниже, расположен график температуры. Каждую минуту график обновляется, и число снизу увеличивается на 1.
Если подвести курсор к температурной метке, то появиться окошко в котором написано время и дата запуска программы, минимальная и максимальная температура на выбранном термодатчике и время + дата, когда она была зафиксирована.
Названия датчиков (те, что сейчас Inside и Outside) можно изменять. Для этого нажмите на температурной метке, выскочит окошко и формой ввода, введите в него новое название и нажмите ОК.
Управление нагрузками
Рис. 5.3. Вкладка «Нагрузки»
Нагрузками можно управлять не лишь с помощью ПДУ, но и с помощью компьютера (при подключении к компьютеру нагрузками так же можно управлять с ПДУ).
Сверху размещены кнопки для управления нагрузками, если возле кнопки зеленый маркер – выход активен, красная – не активен. Чтобы включить/отключить нагрузку нужно просто нажать на соответствующую кнопку. Кнопку для каждой нагрузки можно переименовать, для этого, нажмите на соответствующую кнопку, перед этим зажав левый “Shift”, появится такое же окошко как и при переименовании температурной метки.
Автоматическое управление нагрузками
Программа для ПК способна самостоятельно управлять нагрузками, то есть в автоматическом режиме.
Для каждой нагрузки можно задать свой способ управления, программа имеет 4 алгоритма:
- Вручную – обычное управление с ПДУ или кнопками программы.
- По времени – управление нагрузками исходя из значений времени заданных пользователем.
- По температуре Inside – управление нагрузками исходя из значений температуры внутреннего термодатчика заданных пользователем.
- По температуре Outside – управление нагрузками исходя из значений температуры внутреннего термодатчика заданных пользователем.
Также нужно задать условие управление, в программе иметься шесть условий:
Внимание! Для того, чтобы управлять более мощной нагрузкой чем 500мА, нужно собрать ключ на симисторе, тиристоре или электромагнитном реле. Вот схема с реле:
Рис. 5.4. Плата с двумя реле
Пульт дистанционного управления (ПДУ)
Рис. 5.5. Вкладка «ПДУ»
С помощью ПДУ можно управлять многими функциями компьютера. Справа расположен листинг с принятыми командами, чуть ниже – последняя принятая команда, даже если она не предназначена для компьютера!
С ПДУ можно управлять такими функциями:
- Команды MS Windows – Включить, выключить, открыть CD-ROM и т.д.
- Манипулятор Мышь – двигать курсор, нажимать кнопки. Можно выбирать скорость передвижения и ускорение. Для удобства, есть возможность симуляции двойного нажатия кнопки мыши.
- Клавиатура – Нажатие клавиш клавиатуры с помощью джойстика.
- Winamp – Управление популярнейшим плеером.
И ещё одна, очень хорошая функция UD Control – отображение большого сообщения.
Для каждого пункта есть табличка в которой нужно задать значения кнопок.
Для того, чтобы выбрать, чем будем управлять с пульта, нужно нажать на ПДУ кнопку BTN_MENU. После чего, на экране появиться большое сообщение:
После этого, вам нужно нажать цифровую кнопку на пульте для выбора приложения:
Windows.
Mouse.
Keyboard.
Winamp.
После чего, появиться такое же сообщение, лишь в нижней строке будет «Выбрано Winamp».
Теперь, когда нажать кнопку открытия Winamp, соответственно, откроется Winamp. Если нажать на пульте кнопку, которая по таблице в программе посылает команду Play, то появиться большое сообщение и, если оно не помещается в выделенную для него область, то прокручивается (как бегущая строка):
Сообщение прокручивается
Завершение
Я буду поддерживать проект, поэтому программа UD Control, а соответственно, и прошивка устройства будут улучшаться, все обновления будут доступны на сайте http://unidev.org.ua/.
За прошитым микроконтроллером (в дальнейшем устройство, как писалось выше, можно перепрошивать прямо с программы), а так же по всем вопросам, которые касаются устройства (включая покупку готового устройства) обращайтесь на имейл: univdevice {собака} ya.ru (вместо » {собака} » поставьте @) .
Внимание! Автор проекта принимает заказы на разработку устройств на микроконтроллерах, по вопросам разработки обращайтесь на devices2000 {собака} ya.ru .
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
IC1
МикроконтроллерATmega16-P1
IC2-IC4, IC9
Сдвиговый регистрCD74HC5954
IC5
Линейный регуляторLM78051
IC7
Составной транзисторULN20031
IC8
МикросхемаАТ24С641
J1, J2
Датчик температурыDS18B202
IR1
ИК-приемникTSOP17361
T1, T2
Биполярный транзисторBC5472
Q3
MOSFET-транзисторIRF66481
В1
Диодный мост1
D1, D2
Стабилитрон3.6 В2
D3
ИК-светодиод1
С1, С2
Конденсатор22 пФ2
С3, С8
Электролитический конденсатор10 мкФ2
С5, С9
Конденсатор0.1 мкФ2
CONTRAST
Подстроечный резистор1 кОм1
R1
Подстроечный резистор4.7 кОм1
R2, R3
Резистор68 Ом2
R4
Резистор1.5 кОм1
R5, R12
Резистор2.2 кОм2
R6-R8, R11, R13, R15-R23, R25, R27
Резистор200 Ом16
R9, R10, R26
Резистор10 кОм3
R14, R28
Резистор8.2 кОм2
Q1
Кварцевый резонатор16 МГц1
Q2
Кварцевый резонатор32768 Гц1
DIS1
LCD-дисплейTUXGR_16x2_R21
4-х разрядный светодиодный цифровой индикатор2
В схеме отсутствует и устанавливается при надобностиS1-S5
Тактовая кнопка5
LED1-LED9
Светодиод9
Пять зеленых, четыре красныSG2
Буззер1
J1, J2
Разьем для датчиков температуры2
J4
Разьем для исполнительных устройств1
J7
Разьем для питания1
J9
Джампер1
Х1
USB-разьем1
Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- udc.rar (78 Кб)
- udc_1_0_2_2_setup.rar (1979 Кб)
- users_manual.rar (408 Кб)