Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсач docx180 / Kursach_VTIT_Oformlenie.docx
Скачиваний:
99
Добавлен:
07.08.2013
Размер:
312.2 Кб
Скачать
  1. Структурная схема работы устройства

Рис. 3 Схема структурная.

  1. Исходный код

Программа написана на С и скомпилирована в MikroC Pro для PIC. При подаче питания светодиод мигает три раза и это свидетельствует о успешном запуске. После этого микроконтроллер ждет 60 секунд до начала проверки значения на выходе с датчика. Это требуется для стабилизации датчика. Когда микроконтроллер определяет срабатывание датчика, он запускает пьезозуммер на частоте 3725Гц. MikroC имеет встроенную библиотеку для генерации звука (Sound_Play()). Зуммер издает звук до тех пор, пока датчик ощущает движение. Когда движение прекращается, логический уровень на выходе датчика изменяется, но зуммер не замолкает сразу, а еще в течение примерно 10 секунд  издает звук на частоте 3570Гц. Если он обнаруживает движение снова, он опять запустится на частоте 3725 Гц. Этот проект использует внутренний генератор запущенный  на частоте 4,0 МГц, MCLR и сторожевой таймер выключены.

/*

  Project: PIR Motion Sensor Alarm (PIC12F635) // Название проекта

  Piezo: EFM-290ED, 3.7 KHz connected at GP2 // Модель пьезозуммера

  PIR sensor module in retriggering mode // PIR-датчик в режиме перезапуска

  Internal Clock @ 4.0 MHz, MCLR Disabled, WDT OFF // Внутренняя частота генератора МК

*/

 

sbit Sensor_IP at GP5_bit; // PIR-датчик подключен к входу GP5

sbit LED at GP4_bit;       // Светодиод подключен в входу GP4

unsigned short trigger, counter;

 

void Get_Delay(){ // Вводим задержку для проверки работоспособности системы.

 Delay_ms(300); // Длительность 300 мс.

}

 

void main() {

 CMCON0 = 7; // Инициализация подключенных входов

 TRISIO = 0b00101000; 

 GPIO = 0;

 Sound_Init(&GPIO,2);

 

 // Светодиоды мерцают 3 раза, свидетельствуя о запуске.

 LED = 1; // Включение светодиода

 Get_Delay();

 LED = 0; // Выключение светодиода

 Get_Delay();

 LED = 1;

 Get_Delay();

 LED = 0;

 Get_Delay();

 LED = 1;

 Get_Delay();

 LED = 0;

 Delay_ms(60000); // Вводим задержку 45 сек для стабилизации PIR-датчика.

 

 counter = 0;

 trigger = 0;

 do {

   while (!Sensor_IP) {  // Микроконтроллер определяет срабатывание датчика

    Sound_Play(3725, 600); // Зуммер сигналит на частоте 3725 Гц.

    Delay_ms(500); // За 500 мс происходит срабатывание устройство включения освещения.

    trigger = 1;

    counter = 0;

   }

   if (trigger) {

    Sound_Play(3570, 600); // Если объект пропадает, то зуммер продолжает сообщать, но на частоте 3570 Гц.

    Delay_ms(500); // Задержка 500 мс на переход.

    counter = counter+1; // Счетчик прибавляет одно событие.

    if(counter == 10) trigger=0; // Если событий больше 10, переключение состояния.

   }

 }while(1);

}  // End main() // Конец программы.

Заключение.

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

Также хочется отметить тот факт, что микроконтроллерная схемотехника являются неотъемлемой частью современного приборостроения и их дальнейшее развитие поможет максимально снизить затраты на энергопотребление, габаритность аппаратуры и стоимость продукции.

Список литературы

  1. Кривецкий А.В. «Конспект Лекций», 2012.

  2. http://cxem.net

  3. http://www.wikipedia.org/.

  4. Самоучитель по программированию PIC микроконтроллеров. Корабельников Е.А. 2008 г. + ПО

Соседние файлы в папке курсач docx180