Автосвет: нужна помощь по алгоритму

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 5
Зарегистрирован: Пт апр 22, 2011 08:48:01

Сообщение eunikolenko »

В общем так.
Делаю диплом, тема автосвет на микроконтроллере.
есть датчик освещенности (фоторезистор) подцепленный к МК
и датчик движения в разрве от источника 220 до лампочки.
при достижении темноты (логич единица на PORTB.2) дает команду по PORTB.3 и зажигает лампочку 220в.
Есть еще и принудительное выключение лампочки на случай внештатной ситуации в определенное время ( время ставится через дисплей, как и настройка часов)
Так вот, когда лампочка удачно включена (время, например, вечер ) по будильнику надо ее выключить. Но происходит следующее: лампочка тухнет, но в след секунду загорается снова. Нужно, чтобы потухла и зажглась только по достижении след суток при наличии движения и темноты.
Помогите с алгоритмом, пожалуйста.
Проект в протеусе 7.7 и code vision прилагается.
Буду премного благодарен.
Вложения
diplom.rar
(121.73 КБ) 129 скачиваний
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 190
Зарегистрирован: Вт янв 26, 2010 21:49:41
Откуда: モスクワ

Сообщение Zwanzig »

Даже не смотря твою программу, я чувствую, что там у тебя стоит таймер, который каждую секунду проверяет значение PB2 и включает лампочку. Значит, когда у тебя срабатывает будильник на выключение, нужно остановить таймер, и заново включить его только после начала новых суток (время 00:00) или когда на ножке PB2 появится 0 (т.е. опять свет - значит начался день).

Кстати, у меня к тебе вопрос. Такая же (почти) тема проекта, ты фоторезистор куда ставишь? Защищаешь от света лампы?

Реле не очень внушает надежду на то, что МК не сбросится при переключении. Тем более, кондера по питанию нет. Лучше бы задействовал часы DS1307 или накрайняк диодный вентиль ИЛИ на два питания.
Реклама
Родился
Сообщения: 5
Зарегистрирован: Пт апр 22, 2011 08:48:01

Сообщение eunikolenko »

а вот за это спасибо. резистор, я думаю, надо прям на стекло лепить.
Да я тоже подумываю убрать реле и запитать от батареи только. Ну или еще подумать...как вариант ))
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Zwanzig писал(а):Даже не смотря твою программу, я чувствую, что там у тебя стоит таймер, который каждую секунду проверяет значение PB2 и включает лампочку....
а использовать аналоговый компаратор не пробывали?
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 5
Зарегистрирован: Пт апр 22, 2011 08:48:01

Сообщение eunikolenko »

я ничего про него не знаю :dont_know:
точнее, знаю что это такое ( в теории), но как его использовать здесь... это для меня темный лес.
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

на казусе где-то год назад была тема - выключатель уличного освещения без всяких фотодатчиков. Вводится широта-долгота места, где находится выключатель и высчитывается по формуле астрономического календаря длительность светового дня и пр. В назначенное время включается, причем время плавает каждый день. Мега 8 считала, кажется.
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

urry , ссылку не подкините? Через поиск что-то не находится.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

там оно хорошо законспирировано - где-то здесь лежит
http://kazus.ru/forums/showthread.php?t=11510&page=9
страница автора с этим
http://iopa4.narod.ru/
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

eunikolenko писал(а):я ничего про него не знаю :dont_know:
точнее, знаю что это такое ( в теории), но как его использовать здесь... это для меня темный лес.
Конечно решение от urry более элегантно, но если все же вернуться к сомпаратору (я имею ввиду встроенный в мегу8 компаратор), то тут все до противного примитивно, при возникновении условия сравнения генерируется прерывание, в нем свет включается, выключаем по таймеру/часам, или переводим компаратор на "обратную" сработку (предположим что при потемнении происходило перелючения компаратора из 1 в 0 и генерировалось прерывание, то теперь настраиваем прервание на изменение из 0 в 1, и отключаем свет по "просветлению" :) , вариантов куча, главное включить фантазию и вспомнить архитектуру процика, удачи :wink:
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

Это не мое решение, мне оно запомнилось своей необычностью, и в конце-концов, диплом должен быть и на диплом похож, а не на реле с фотодиодом - дочка на строительном учится, то там таки им приходится пыхтеть с чертежами, а здесь...
Контактная информация:
Родился
Сообщения: 5
Зарегистрирован: Пт апр 22, 2011 08:48:01

Сообщение eunikolenko »

та тема астротаймером зовется
Родился
Сообщения: 5
Зарегистрирован: Пт апр 22, 2011 08:48:01

Сообщение eunikolenko »

в общем,все спаял, на дисплей выводится начальные символы, но нет никакой реакции на нажатие кнопок, в чем может быть проблема?
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»