![]() |
Непримитивная сигнализация
Подходит ко мне братан и говорит:"Сделай мне сигнализацию для гаража." Ну, я ему, как прожженый конструктор:"Пишите ТЗ, товарищ! Причем по ГОСТ-ам!". Нормальная такая фраза, когда делать чего нибудь не хочется. :) А он мне:"Не сделаешь - к компьютеру хрен больше подойдешь!" Вот эта фраза меня сильно простимулировала. :)
Итак, исходные данные: На двери будет стоять герконовый датчик, а в помещении, так называемый датчик "объема" TEXECOM REFLEX (классная штука кстати, и стоит всего рублей 300). http://img131.imageshack.us/img131/1...lexmlt8.th.gif В рабочем положении оба датчика замкнуты (TEXECOM через сопротивление 18 Ом, кстати). В помещении будет стоять штатный извещатель (какой - не знаю, бирки на нем стерты), в нем пьезоизлучатель с генератором к нему (уши закладывает - мама не горюй! :) и лампа (из трех светодиодов, каждый - размером с палец). У лампы и излучателя раздельное питание. Будет кнопка "постановка на охрану" на ящике "сейфового типа, в котором все "кишки" спрятаны и потайная кнопка "снять с охраны". Так же на ящике будет светодиод (просто чтобы был :). Схема устройства: http://img127.imageshack.us/img127/7...5783gy5.th.jpg В тексте подробные комментарии, но, на всякий случай, опишу алгоритм работы на "пальцах". После подачи питания контроллер инициализируется и ждет 10 сек (это надо датчику "объема") do{ бесконечный цикл ждем 10 сек перед постановкой на охрану и смотрим кнопку "снять с охраны" если датчики в норме { Ждем срабатывания датчиков Ждем 10 сек или кнопку "снять с охраны" Включаем тревогу и смотрим кнопку "снять с охраны" } иначе даем сигнал неудачной постановки и ждем кнопку "снять с охраны" ждем кнопку "постановки на охрану" }while(true); |
Это пипец! Я не могу текст программы оправить! Он мне постоянно выдает
"500 Internal Server Error". Ни с тегами CODE, ни тупо текстом! Че за фигня и как с ней справиться? |
ога, я тоже с этим столкнулся
не могу запостить большой объём текста- приходится разбивать на несколько постов |
Текст программы, часть 1:
Код:
#include <16F676.h> //Выбираем контроллер |
Текст программы, часть 2:
Код:
boolean Read_Dat1() //возвращает true, если датчик 1 замкнут |
Текст программы, часть 3:
Код:
//***MAIN******************************************************* |
Вот такой вот получился девайс. Собрал на монтажке за час.
http://img502.imageshack.us/img502/8...9999il8.th.jpg и сама платка http://img167.imageshack.us/img167/7...viewtn7.th.jpg http://img502.imageshack.us/img502/4...viewhu0.th.jpg Братан тестировал - сказал, что все работает отлично. Только возможно паузу перед постановкой на охрану придется увеличить до 15 сек - датчик "объема" долго в штатный режим переходит. Вот. :) |
На монтажке за час!!!
Вот это скорость сборки. Поделись секретом! :) А по сути. То сейчас розбираюсь со схемой и с немного с прогой :). Спасибо |
Просто рука набита. :) А секрет,наверное, в оптимальном и продуманном расположении элементов. :)
|
Везет тебе! вот я всегда сделаю и схему и програму и в протеусе отлично работает, а как доходит до паяния так все лень. Хоть и работы на пару часов, но пока заставлю себя :) Может когда то поменяется характер :))))))))
|
| Время: 06:12 |