PIR (Passive Infrared) 또는 Motion Sensor는 움직이는 인체 나 물체의 움직임을 감지하는 데 사용됩니다. 누군가가 PIR 센서 범위에 올 때마다 출력 핀에서 High를 제공합니다. 이전에 PIR을 다른 마이크로 컨트롤러와 인터페이스했습니다.
- PIR 센서를 사용한 Arduino 동작 감지기
- 이메일 경고 기능이있는 IOT 기반 Raspberry Pi 홈 보안 시스템
- AVR 마이크로 컨트롤러가있는 자동 계단 조명
오늘은 PIR과 PIC 마이크로 컨트롤러 PIC16F877A 를 간단하게 인터페이스 해 보겠습니다. 이 회로에서 움직이는 물체가 PIR 센서 범위에 들어 오면 부저가 울리기 시작합니다.
필요한 재료
- PicKit 3
- PIR 센서.
- PIC16F877A IC
- 40-핀 IC 홀더
- 성능 보드
- 20MHz 크리스탈 OSC
- 암컷 및 수컷 Bergstick 핀
- 33pf 커패시터-2Nos, 100uf 및 10uf 캡.
- 680ohm, 10K 및 560ohm 저항
- 모든 색상의 LED
- 1 납땜 키트
- IC 7805
- 12V 어댑터
- 부저
- 전선 연결
- 브레드 보드
PIR 센서:
PIR 센서는 저렴하고 저전력이며 사용하기 쉬운 Motion Detections Sesnor입니다. PIR 센서는 적외선 만 수신하고 방출하지 않으므로 수동이라고합니다. PIR은 열의 변화를 감지하고 변화가 있으면 OUTPUT에서 HIGH를 제공합니다. PIR 센서는 Pyroelectric 또는 IR 모션 센서라고도합니다.
인체가 체온으로 인해 IR을 방출하는 것과 유사하게 모든 물체는 가열되면 일정량의 적외선을 방출합니다. 공기와 물체 사이의 마찰로 인해 모든 물체에서 적외선이 생성됩니다. PIR 센서의 주요 구성 요소는 Pyroelectric 센서입니다. 이와 함께 BISS0001 ("Micro Power PIR Motion Detector IC"), 일부 저항기, 커패시터 및 PIR 센서를 구축하는 데 사용되는 기타 구성 요소가 있습니다. BISS0001 IC는 센서에서 입력을 받아 그에 따라 출력 핀을 HIGH 또는 LOW로 만드는 처리를합니다.
여기에서 PIR 센서에 대해 자세히 알아보십시오. 모션이 감지되면 출력 핀이 높아지는 거리 감도 및 시간 기간을 조정할 수도 있습니다. 이 두 매개 변수를 조정하는 두 개의 전위차계 손잡이가 있습니다.
회로도
PIC 마이크로 컨트롤러:
하기 위해 PIR의 인터페이스를위한 PIC 마이크로 컨트롤러를 프로그래밍, 우리는 필요 가 IDE (통합 개발 환경) 프로그래밍이 일어난다. 컴파일러, 우리의 프로그램은 MCU 읽을 수있는 형태라는 HEX 파일로 변환됩니다. IPE (통합 프로그래밍 환경) 우리의 PIC 마이크로 컨트롤러에 우리의 진수 파일을 덤프하는 데 사용됩니다.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
컴파일러: XC8
Microchip은이 세 가지 소프트웨어를 모두 무료로 제공했습니다. 공식 페이지에서 직접 다운로드 할 수 있습니다. 편의를 위해 링크도 제공했습니다. 다운로드가 완료되면 컴퓨터에 설치하십시오. 그렇게하는 데 문제가 있으면 마지막에 주어진 비디오를 볼 수 있습니다.
코드를 PIC에 덤프하거나 업로드하려면 PICkit 3 이 필요합니다. PICkit 3 프로그래머 / 디버거는 MPLAB IDE (v8.20 이상) 소프트웨어를 실행하는 PC에 의해 제어되는 단순하고 저렴한 인-서킷 디버거입니다. Windows 플랫폼. PICKIT 3 프로그래머 / 디버거 개발 엔지니어의 도구 제품군의 중요한 부분입니다. 이 외에도 성능 보드, 납땜 스테이션, PIC IC, 수정 발진기, 커패시터 등과 같은 다른 하드웨어도 필요합니다. 그러나 자습서를 진행하면서 목록에 추가 할 것입니다.
MCU에서 사용할 수있는 ICSP 옵션을 사용하여 PIC16F877A를 프로그래밍 할 것입니다.
코드를 구우려면 다음 단계를 따르십시오.
- MPLAB IPE를 시작합니다.
- PicKit 3의 한쪽 끝을 PC에 연결하고 다른 쪽 끝을 성능 보드의 ICSP 핀에 연결합니다.
- 연결 버튼을 클릭하여 PIC 장치에 연결합니다.
- Blink HEX 파일을 찾아 프로그램을 클릭합니다.
PIC Microcontroller를 처음 사용하는 경우 먼저 아래 자습서를 통해 PIC를 사용하고 프로그래밍하는 방법을 배우십시오.
- PIC 마이크로 컨트롤러 시작하기: PIC 및 MPLABX 소개
- PIC 마이크로 컨트롤러로 첫 번째 프로그램 작성 및 구성 비트 설정
- PIC 마이크로 컨트롤러로 LED 깜박임
코드 및 설명
먼저 pic 마이크로 컨트롤러에서 구성 비트를 설정 한 다음 void 주 기능으로 시작해야 합니다.
아래 코드에서 'XC.h' 는 핀 및 주변 장치에 대한 모든 친숙한 이름을 포함하는 헤더 파일입니다. 또한 아래 코드에서 수정 발진기 주파수, PIR 및 Buzzer 핀 연결을 정의했습니다.
#포함
void main ()에서 ' TRISB = 0X00' 은 MCU에 PORTB 핀이 OUTPUT 으로 사용됨을 지시하는 데 사용되며 'TRISC = 0Xff' 는 MCU에 PORTB 핀이 INPUT으로 사용됨을 지시하는 데 사용됩니다. 그리고 'PORTB = 0X00' 은 MCU에 RB3의 모든 OUTPUT을 Low로 만들도록 지시하는 데 사용됩니다.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // RB3의 모든 출력을 LOW로 만듭니다.
아래 코드에 따라 PIR이 HIGH가 될 때마다 부저가 HIGH가 되거나 그렇지 않으면 OFF로 유지됩니다.
while (1) // Infinie While 루프에 들어가기 {if (PIR == 1) {Buzzer = 1; __delay_ms (1000); // 대기} else {Buzzer = 0; }}}
이 프로젝트의 끝에 데모 비디오 가 포함 된 완전한 코드 가 제공됩니다.
PIC 마이크로 컨트롤러로 PIR 센서 작동:
이 프로젝트에는 복잡한 하드웨어 설정이 없으며 LED 깜박임 자습서에서 만든 동일한 PIC 마이크로 컨트롤러 보드 (아래 그림 참조)를 다시 사용하고 있습니다. 연결 다이어그램에 따라 PIR 센서 모듈을 PIC 마이크로 컨트롤러 보드 에 연결하기 만하면됩니다. 연결이 끝나면 이전 튜토리얼에서 설명한대로 PicKit 3 프로그래머를 사용하여 코드를 덤프하고 출력을 즐기십시오.
프로그램을 업로드하면 PIR 센서는 OUTPUT을 제공 할 준비가됩니다. IR을 방출하는 사람이나 물체가 PIR 범위에 들어올 때마다 OUTPUT에 HIGH를 부여합니다. 그리고 그 출력에 따라 부저가 작동합니다. PIR 출력이 높으면 부저 입력이 높아지고 그 반대도 마찬가지입니다.
PIR 모듈에 고정 된 두 개의 전위차계를 사용하여 감지 거리와 시간 지연을 제어 할 수 있습니다. PIR 센서에 대해 자세히 알아 보려면 링크를 따르십시오.