Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


3281
Автомат управления освещением санузла.


Начиналось все с того, что ходил я за домашними (за сынулей в основном) и свет выключал в туалете и ванне. Ругался, опять же, как водится. Ну, соответственно и пришла в голову простая мысль - автоматизировать процесс. Если поставить микровыключатель с триггером, будет просто и не интересно, к тому же хотелось, что бы работало так: 
Вариант №1: - открыл дверь и свет включился (человек вошел), закрыл дверь;
- открыл дверь и свет выключился (человек вышел), закрыл дверь;
Вариант №2:
- открыл дверь и свет включился, дверь не закрывается (актуально, если надо по полочкам пошарить или еще чего);
- через некоторое время закрыл дверь и свет выключился.
Таким образом, в связи с профессиональной деятельностью в области программирования (не МК) я нашел для себя самый легкий путь - ATtiny13 и набросал следующую схему:

D1 - зеленый;
D2 - красный;
Для отсчета времени я использовал прерывание по таймеру с частотой 10 Гц (сейчас уж не вспомню почему эта цифра, может потому, что так получалась маленькая ошибка в 0,2%, т.к. фактически выходило 10,016 Гц). Поэтому по прерыванию от таймера количество прошедших секунд после открытия двери увеличивалось на каждом 10-ом прерывании. 
МК постоянно мониторит вывод PB3 и реагирует только на смену состояния: 0->1 - дверь открыли, 1->0 - дверь закрыли. 
Для реализации работы варианта №1 необходимо каждый раз, как только уровень на PB3 сменится с 0 на 1 инвертировать состояние вывода PB2 (зеленый светодиод) и PB4 (тиристор), т.е. получается обыкновенный триггер и свет сначала зажигается, а потом гаснет. 
Но! Как только дверь открывается происходят 2 вещи:
1. на PB3 уровень меняется с 0 на 1 и срабатывает наш программный триггер, который включает/выключает свет;
2. пока дверь остается открытой, на PB3 остается 1 и идет отсчет секунд. Если количество прошедших секунд со времени открытия двери превышает 10 секунд, загорается красный светодиод и выставляется флаг превышения времени.
Далее дверь закрывается. Теперь возможны 2 варианта:
1. если 10 секунд еще не прошло, то ничего не делать;
2. если 10 секунд прошло, то выключить свет.
В принципе, в исходниках я комментарии поставил, если что неясно, пишите.
Вот так выглядит собранный девайс:

Позже я его переработал в иное качество - управляет светом в ванной и туалете, заводит вентилятор в туалете, если проходит определенное количество времени при зажженном свете. Но это другая тема, по желанию зрителей. 
Кстати, герконы достать трудновато - я на работе нашел в завалах, когда списывали ЕС1046. Вместо них совершенно без каких-либо проблем я применял датчики Холла SS441A (униполярные), к ним правда еще +5в подводить надо. Магнит подводится к торцу напротив выводов (где циферки 4,06). Я брал кусочек от магнитов из старого "винта" - сильные собаки!

Файлы:
Печатная плата в формате Sprint Layout.
Прошивка МК с исходником.

Вопросы, как всегда в Форум.

      Автор - Валерий Парусов, pve@spnet.ru.
      Опубликовано 31.07.2008.



Источник: http://radiokot.ru/circuit/digital/automat/10/
Категория: Устройства на микроконтроллерах | Добавил: brys99 (20.11.2011)
Просмотров: 4908 | Комментарии: 1 | Теги: Автомат управления освещением сануз | Рейтинг: 5.0/1


Всего комментариев: 1
0
1 tbor   (10.08.2013 09:52)
Интересная схемка.Но если можно добавь принудительное выключение через некоторое время.А то бывает не уследил за сынулей :))

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

Пожалуйста оставьте свои комментарии !!!!

Имя *:
Email:
Код *:


ElectroTOP - Рейтинг сайтов
Copyright Zloy Soft (Company) © 2008 - 2016