цифровая электроника
вычислительная техника
встраиваемые системы

 




Дверная сигнализация на базе микроконтроллера PIC12F635

Автор: Mike(admin) от 31-08-2013, 17:12

Систему дверной сигнализации можно создать на базе компактного микроконтроллера PIC12F635. Схема представляет собой устройство звукового оповещения, которое выдает сигнал предупреждения, когда кто-то открывает дверь. Можно установить это устройство в парадной двери или в двери черного хода в качестве охранной сигнализации, чтобы отпугнуть воров и злоумышленников. Данный модуль питается от четырех батареек типа AA/AAA напряжением 1.5 В, что в итоге дает 6 В.


После изготовления и проверки устройства нужно аккуратно установить переключатель S1 на двери или в дверном проеме таким образом, чтобы он был в открытом состоянии при закрытой двери. Далее следует установить блок сигнализации в удаленном месте и организовать связь между блоком и ключом S1 с помощью низковольтных проводов.


Дверная сигнализация

Схема начнет работать, когда переключатель S1 будет в состоянии «вкл». После этого красный светодиод LED1 мигнет 3 раза, тем самым сообщая о готовности схемы к работе. Микросхема IC1 (PIC12F635) подождет 30 секунд перед тем, как запустить процесс мониторинга статуса дверного датчика (S1). Эта задержка вводится специально, чтобы знающий о сигнализации пользователь рукой нажал на датчик и прошел через дверь, не вызвав срабатывания этой сигнализации. После этой начальной задержки в случае, если контроллер IC1 обнаруживает, что S1 замкнут (дверь открыта), он подает на пьезоспикер (PZ1) сигналы прямоугольной формы, и этот спикер будет издавать звуки до тех пор, пока дверь открыта. Когда дверь закрывается (состояние S1 изменяется на разомкнутое), спикер не выключится сразу и будет издавать звуки еще в течение 10 секунд, но уже с другой частотой.


Прошивка была написана на языке C и скомпилирована в среде MikroC Pro для микроконтроллеров PIC. Следует учитывать, что функция MCLR отключена, также выключен сторожевой таймер WDT. Демо-версия MikroC Pro может быть скачана отсюда.



/*
Microcontroller = PIC12F635
Internal Clock @ 4.0 MHz
*/
sbit Sensor_IP at GP5_bit; // Switch I/P
sbit LED at GP4_bit; // LED O/P
unsigned short trigger, counter;
void Get_Delay(){
Delay_ms(300);
}
void main() {
CMCON0 = 7;
TRISIO = 0b00101000; // GP5, 5 I/P's, Rest O/P's
GPIO = 0;
Sound_Init(&GPIO,2);
// Blink LED at Power On
LED = 1;
Get_Delay();
LED = 0;
Get_Delay();
LED = 1;
Get_Delay();
LED = 0;
Get_Delay();
LED = 1;
Get_Delay();
LED = 0;
Delay_ms(30000);
counter = 0;
trigger = 0;
do {
while (!Sensor_IP) { // Switch I/P Low
Sound_Play(3500, 600);
Delay_ms(500);
trigger = 1;
counter = 0;
}
if (trigger) {
Sound_Play(2900, 600);
Delay_ms(500);
counter = counter+1;
if(counter == 10) trigger=0;
}
}while(1);
} // End main()

Перевод © digitrode.ru


<Источник>


Теги: сигнализация




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий