Упр.освещением на базе датчика движения

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Сообщение ВНН »

Чуть не убившись в собственной квартире ночью (ремонт) ,возникла необходимось в ВКЛ освещения по движению.Зайдя в магазин для себя ничего не выбрал.
Или не усраивает цена или дизайн или ТТД (у большенства датчиков таймер фиксированый).Как всегда пришлось изобретать велосипед.
Взял attiny13, заводской датчик движения,фотодиодный датчик освещенноси,светодиод 1W(драйвер на mc34063).Собрал в кучу и получилось то что мне было нужно.
Заходиш в помещение, срабатывает освещение и пока там находишся оно не выключается (при условии что шивелишся) ,уходиш через 15 сек откл.
Ввел выбор задержки 10 5 20 25 сек
Код:
$regfile = "attiny13.dat" ' говорим компилятору что у нас микропроцессор Attiny13 или что есть под рукой
$crystal = 128000 ' 128Khz тактовая частота (Если прод рукой чтото другое, слотрим PDF на это другое)
$hwstack = 24 ' Для Tiny13 по умоолчанию (32) не подходит.Будет возникать ошибка недостаточно SRAM
$swstack = 8 '
$framesize = 24 '
Config Pinb.0 = Input 'Вход датчика движения
Config Pinb.1 = Input 'Вхов датчика освещенности
Config Pinb.2 = Input 'Установка таймера 10 15 20 25 сек
Config Pinb.3 = Input '
Config Portb.4 = Output 'Выход управления осветительным прибором
Config Timer0 = Timer , Prescale = 256 'Настройка таймера (Если прод рукой чтото другое, слотрим PDF на это другое)
Dim A As Byte 'Время задержки
Dim B As Byte 'Переменная временных итервалов
On Timer0 Pulse: '|
Enable Interrupts '|Понятно
Enable Timer0 '|
'/Определение задердки таймера от позиции переключателя
If Pinb.2 = 1 And Pinb.3 = 1 Then A = 20
If Pinb.2 = 0 And Pinb.3 = 1 Then A = 30
If Pinb.2 = 1 And Pinb.3 = 0 Then A = 40
If Pinb.2 = 0 And Pinb.3 = 0 Then A = 50 'Задержка 15 сек (В среднем реле датчика двидения удержывается 3-10 сек зависит от модели)
'/Основной цыкл
Do
Startes:
B = 0 'обнулим счетчик временных интервалов
If Pinb.0 = 0 Then Goto Sensor 'Если сработка по движению
Loop

Sensor:
If Pinb.1 = 0 Then Goto Startes 'Если светло возврат в остовной цыкл
Set Portb.4 'Если темно ВКЛ освещение
Led_time:
If Pinb.0 = 0 Then B = 0 'Проверяем было-ли срабатывание датчика движения,если да обнулим счетчик временных интервалов
If B < A Then Goto Led_time 'Крутимся до выполнения условия
Reset Portb.4 'ВЫКЛ освещение
Goto Startes 'Возврат в основной цыкл

'/Обработка прерывания
Pulse:
B = B + 1 'Увеличим счетчик временных интервалов на 1
Return


End 'Даже переводить не буду

Возможно комуто понадобится.
Вложения
Led-Sensor.rar
Исходник Bascom.Проект Proteus
(20.99 КБ) 270 скачиваний
Последний раз редактировалось ВНН Сб сен 18, 2010 16:43:51, всего редактировалось 1 раз.
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Реклама
myx
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 371
Зарегистрирован: Чт июл 22, 2010 10:12:09

Сообщение myx »

Почему таймеров нет? Есть таймер включения в покупных моделях.
Стоял у меня в коридоре покупной врезной выключатель с датчиком движения. Честно говоря, надоел. Надоело клацание света, танцы перед датчиком, когда он выключался.
Экономия с датчиком под большим вопросом. Во первых, установка небольшого времени включения чревата танцами перед датчиком (В вашем случае танцы будут каждые 15 секунд). Во вторых, при установке большей длительности работы таймера происходит чрезмерных расход электроэнергии, так как при переходе из комнаты в комнаты все равно включается освещение и горит попусту. В третьих, иногда происходят ложные срабатывания. В конце концов поставил обратно обычный выключатель, а выключатель с датчиком движения на кухню для коммутации светодиодных ламп. Они все равно мало жрут.
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Сообщение ВНН »

myx
Вопрос не в экономии в моем конкретном случае.Хотя уже просили сделать в подезд подобную конструкцию.
Вы неверно не смотрели исходник.Пока в зоне действия датчика есть движение переменная таймера обнуляется,и счет времени начинается снова.
А если с момента последнего срабатывания прошло 15 сек только тогда ВЫКЛ
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
myx
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 371
Зарегистрирован: Чт июл 22, 2010 10:12:09

Сообщение myx »

ВНН писал(а):myx
1Вы неверно не смотрели исходник.
2Пока в зоне действия датчика есть движение переменная таймера обнуляется,и счет времени начинается снова.
1Не не смотрел. Я бы там все равно ничего не увидел)
2А вот это уже интересно. При условии, что обнуляется до истечения 15 сек. и время прибавляется без выключения света.
Реклама
Эиком - электронные компоненты и радиодетали
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Сообщение ВНН »

Да но время можно увеличить.Сработка стандартного датчика в зависимости от модели составляет от 3 до 8 сек. Время включения освещения составит 3 - 9 сек плюс 15 и того 18 - 24 сек. Можно дописать программу выбором времени таймера перемычками допустим 10 - 15 - 20 - 25 сек
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Реклама
myx
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 371
Зарегистрирован: Чт июл 22, 2010 10:12:09

Сообщение myx »

ВНН писал(а):Да но время можно увеличить.Сработка стандартного датчика в зависимости от модели составляет от 3 до 8 сек. Время включения освещения составит 3 - 9 сек плюс 15 и того 18 - 24 сек. Можно дописать программу выбором времени таймера перемычками допустим 10 - 15 - 20 - 25 сек
Как 8 сек? Это что, 8 сек надо плясать в темноте?
У меня срабатывает мгновенно, не больше секунды. Только высунулся с косяка - включился.
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Сообщение ВНН »

Логика работы следующая :Вы идете датчик срабатывает на Ваше движение включает или отключает реле, этот сигнал поступает на микропроцесор который включает светодиод и запускает свой таймер который и начинает отсчитывать время. Если во время отсчета времени было срабатывание датчика таймер начинает отсчет снова не отключая светодиод .
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Ответить

Вернуться в «Умные мысли»