- Необхідний матеріал
- Кругова діаграма
- Мікроконтролер PIC:
- Код та пояснення
- Робота датчика PIR з мікроконтролером PIC:
PIR (пасивний інфрачервоний) або датчик руху використовується для виявлення руху рухомого тіла людини або предметів. Щоразу, коли хтось потрапляє в діапазон PIR-датчика, він виводить High на виході. Раніше ми взаємодіяли PIR з іншими мікроконтролерами:
- Детектор руху Arduino за допомогою датчика PIR
- Система домашньої безпеки Raspberry Pi на основі IOT з попередженням електронною поштою
- Автоматичне освітлення сходів з мікроконтролером AVR
Сьогодні ми просто збираємося взаємодіяти PIR з мікроконтролером PIC16F877A. У цій схемі, якщо деякі рухомі об'єкти потрапляють в діапазон датчика ПІР, зумер почне подавати звуковий сигнал.
Необхідний матеріал
- PicKit 3
- Датчик PIR.
- PIC16F877A IC
- 40 - тримач мікросхеми штифта
- Перф дошка
- 20 МГц Crystal OSC
- Жіночі та чоловічі шпильки Bergstick
- Конденсатор 33pf - 2Nos, 100uf та 10uf cap.
- Резистор 680 Ом, 10 К і 560 Ом
- Світлодіод будь-якого кольору
- 1 Паяльний комплект
- IC 7805
- Адаптер 12 В
- Зумер
- Підключення проводів
- Макет
Датчик PIR:
PIR-датчик недорогий, малопотужний і простий у використанні детектор руху Sesnor. PIR-датчик приймає лише інфрачервоні промені, а не випромінює, тому його називають пасивним. PIR відчуває будь-яку зміну тепла, і якщо спостерігається зміна, вона дає ВИСОКУ НА ВИХОДІ. Датчик PIR також називається піроелектричним або ІЧ-датчиком руху.
Кожен предмет випромінює деяку кількість інфрачервоного випромінювання при нагріванні, подібно до того, як людське тіло випромінює ІЧ через тепло тіла. Інфрачервоне світло створюється кожним об’єктом через тертя між повітрям та об’єктом. Основним компонентом датчика ПІР є піроелектричний датчик. Поряд з цим, BISS0001 ("Micro Power PIR Motion Detector IC"), деякі резистори, конденсатори та інші компоненти, що використовуються для побудови PIR-датчика. BISS0001 IC приймає вхідні дані від датчика та виконує обробку, щоб зробити вихідний штифт ВИСОКИМ або НИЗКИМ відповідно.
Дізнайтеся більше про датчик PIR тут. Ви також можете налаштувати чутливість до відстані та тривалість часу, протягом яких вихідний штифт буде високим після виявлення руху. Він має дві ручки потенціометра для регулювання цих двох параметрів.
Кругова діаграма
Мікроконтролер PIC:
Для того, щоб запрограмувати мікроконтролер PIC для взаємодії з PIR, нам знадобиться IDE (інтегроване середовище розробки), де відбувається програмування. Компілятор, де наша програма перетвориться в MCU читається під назвою HEX файли. IPE (Integrated Середовище програмування), який використовується для виведення нашого шістнадцятирічного файлу в наш PIC мікроконтролери.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Компілятор: XC8
Microchip надав усі ці три програми безкоштовно. Їх можна завантажити безпосередньо з їх офіційної сторінки. Я також надав посилання для вашої зручності. Після завантаження встановіть їх на свій комп’ютер. Якщо у вас виникли проблеми з цим, ви можете переглянути відео, подане в кінці.
Для того, щоб скинути або завантажити наш код в ПОС, нам буде потрібно PICkit 3. PICkit 3 програматор / відладчик є простий, недорогий внутрісхемний відладчик, який управляється з допомогою комп'ютера під керуванням MPLAB IDE (v8.20 або більш пізньої версії) програмного забезпечення на платформа Windows. PICkit 3 програматор / відладчик є складовою частиною пакету інструментів інженера розробників. На додаток до цього нам також знадобиться інше обладнання, таке як плата Perf, паяльна станція, мікросхеми PIC, кришталеві генератори, конденсатори тощо. Але ми додамо їх до нашого списку по мірі просування наших навчальних посібників.
Ми будемо програмувати наш PIC16F877A, використовуючи опцію ICSP, яка доступна в нашому MCU.
Щоб записати код, виконайте наступні кроки:
- Запустіть MPLAB IPE.
- Підключіть один кінець вашого PicKit 3 до ПК, а інший кінець до ваших штифтів ICSP на платі перф.
- Підключіться до свого пристрою PIC, натиснувши кнопку підключення.
- Знайдіть файл Blink HEX та натисніть Програма.
Якщо ви новачок у мікроконтролері PIC, спершу пройдіть нижче підручники, щоб дізнатися, як користуватися та програмувати PIC:
- Початок роботи з мікроконтролером PIC: Вступ до PIC та MPLABX
- Написання першої програми за допомогою мікроконтролера PIC та налаштування бітів конфігурації
- Світлодіод блимає мікроконтролером PIC
Код та пояснення
Спочатку нам потрібно встановити біти конфігурації в мікроконтролері pic, а потім розпочати з головною функцією void .
У наведеному нижче коді "XC.h" - це файл заголовка, який містить усі дружні імена для контактів та периферійних пристроїв. Також ми визначили частоту кристалогенератора, підключення PIR та зуммер в нижньому коді.
#включати
У void main (), ' TRISB = 0X00' використовується для вказівки MCU, що виводи PORTB використовуються як ВИХІД, 'TRISC = 0Xff' використовується для вказівки MCU, що виводи PORTB використовуються як INPUT. А 'PORTB = 0X00' використовується для вказівки MCU зробити весь ВИХІД RB3 Низьким.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // Зробити весь вихід RB3 НИЗКИМ
Відповідно до наведеного нижче коду, коли PIR отримує HIGH, зумер отримує HIGH, або ж він залишається OFF.
while (1) // Вхід у цикл Infinie While {if (PIR == 1) {Зуммер = 1; __delay_ms (1000); // Зачекайте} else {Зуммер = 0; }}}
Повний код із демонстраційним відео наведено в кінці цього проекту.
Робота датчика PIR з мікроконтролером PIC:
Цей проект не має жодних складних налаштувань обладнання, ми знову використовуємо ту саму плату мікроконтролера PIC (як показано нижче), яку ми створили в підручнику, що блимає світлодіодами. Просто підключіть модуль датчика PIR до плати мікроконтролера PIC відповідно до схеми підключення. Після того, як ви закінчите з підключеннями, просто скиньте код за допомогою програміста PicKit 3, як пояснювалося в попередньому посібнику, і насолоджуйтесь результатами.
Після завантаження програми, датчик PIR готовий дати ВИХІД. Всякий раз, коли людина або предмет, який випромінює ІЧ, потрапляє в діапазон ПІР, він дає ВИСОКИЙ ВИХІД. І, виходячи з цього, зуммер буде працювати. Якщо вихід PIR високий, зумер отримує високий рівень, і навпаки.
Ви можете контролювати відстань зондування та затримку за допомогою двох потенціометрів, закріплених на модулі PIR. Щоб дізнатись більше про датчик PIR, перейдіть за посиланням.