적외선 모션 센서. MK PIC 및 PIR 센서의 모션 센서 적외선 모션 센서 Arduino

Arduino 모션 센서를 사용하면 폐쇄된 공간에서 열을 방출하는 물체(사람, 동물)의 움직임을 추적할 수 있습니다. 이러한 시스템은 예를 들어 입구의 조명을 켜는 등 국내 조건에서 자주 사용됩니다. 이 기사에서는 Arduino 프로젝트에 PIR 센서(움직임에 반응하는 수동 적외선 센서 또는 초전기 센서)를 연결하는 방법을 고려합니다. 작은 크기, 저렴한 비용, 작동 용이성 및 연결 어려움이 없으므로 이러한 센서를 다양한 유형의 경보 시스템에 사용할 수 있습니다.

PIR 모션 센서의 설계는 그다지 복잡하지 않습니다. 이는 적용 범위에 특정 수준의 적외선 복사가 존재하는 경우 매우 민감한 초전 소자(중앙에 크리스탈이 있는 원통형 부분)로 구성됩니다. 물체의 온도가 높을수록 복사량이 커집니다. PIR 센서 상단에는 반구가 여러 섹션(렌즈)으로 나누어져 설치되어 있으며, 각 섹션은 모션 센서의 여러 세그먼트에 열 에너지 방사를 집중시킵니다. 대부분의 경우 프레넬 렌즈는 열 복사 집중으로 인해 Arduino 적외선 모션 센서의 감도 범위를 확장할 수 있는 렌즈로 사용됩니다.

PIR 센서는 구조적으로 두 부분으로 나뉩니다. 이는 경보 장치에 중요한 것은 방사선 수준 자체가 아니라 민감도 영역의 움직임이 있다는 사실 때문입니다. 따라서 부품은 한 단계 더 많은 방사선이 캡처되면 출력이 높거나 낮은 값의 신호가 되도록 설치됩니다.

Arduino 모션 센서의 주요 기술적 특성은 다음과 같습니다.

  • 움직이는 물체의 감지 영역은 0~7m입니다.
  • 추적 각도 범위 – 110°;
  • 공급 전압 - 4.5-6V;
  • 작동 전류 - 최대 0.05mA;
  • 온도 범위 – -20° ~ +50°С;
  • 지연 시간은 0.3초에서 18초까지 조정 가능합니다.

적외선 모션 센서가 설치된 모듈에는 퓨즈, 저항기 및 커패시터가 포함된 추가 전기 배선이 포함되어 있습니다.

Arduino의 모션 센서 작동 원리는 다음과 같습니다.

  • 장치를 빈 방에 설치할 때 각 요소가 받는 방사선량은 전압과 마찬가지로 일정합니다.
  • 사람이 방에 나타나면 먼저 긍정적 인 전기 자극이 나타나는 첫 번째 요소의 시야 영역으로 들어갑니다.
  • 사람이 방을 돌아다닐 때 열 복사도 그 사람과 함께 이동하여 두 번째 센서에 닿습니다. 이 PIR 요소는 이미 음의 펄스를 생성합니다.
  • 다방향 펄스는 센서의 전자 회로에 의해 등록되며, 이는 Pir-센서 Arduino의 시야에 사람이 있다는 결론을 내립니다.

외부 소음, 온도 변화 및 습도로부터 안정적인 보호를 위해 Arduino의 Pir 센서 요소는 밀봉된 금속 케이스에 설치됩니다. 케이스 상단 중앙에는 적외선을 투과하는 소재(대부분 실리콘 기반)로 만들어진 직사각형이 있습니다. 감지 요소는 플레이트 뒤에 설치됩니다.

모션 센서와 Arduino의 배선 다이어그램

Pir 센서를 Arduino에 연결하는 것은 어렵지 않습니다. 대부분 모션 센서가 있는 모듈에는 뒷면에 3개의 커넥터가 장착되어 있습니다. 각 장치의 핀아웃은 제조업체에 따라 다르지만 대부분 출력 근처에 해당 비문이 있습니다. 따라서 센서를 Arduino에 연결하기 전에 표기법을 숙지해야 합니다. 한 출력은 접지(GND)로 연결되고, 두 번째 출력은 센서에서 필요한 신호(+5V)를 제공하며, 세 번째 출력은 데이터를 가져오는 디지털 출력입니다.

Pir 센서 연결:

  • "지구" - Arduino GND 커넥터 중 하나에 있습니다.
  • 디지털 출력 - Arduino의 모든 디지털 입력 또는 출력에 사용됩니다.
  • 전원 공급 장치 - Arduino의 + 5V.

적외선 센서를 Arduino에 연결하는 다이어그램이 그림에 나와 있습니다.

프로그램 예

스케치는 모션센서를 켠 후 동작을 확인하는데 도움을 주는 프로그램 코드입니다. 가장 간단한 예에는 다음과 같은 많은 단점이 있습니다.

  • 센서가 자체 초기화되는 데 1분이 걸리기 때문에 오탐 가능성이 있습니다.
  • 집행 유형의 출력 장치 부족 - 릴레이, 사이렌, 조명 표시;
  • 센서 출력 신호의 짧은 시간 간격으로, 이동 시 소프트웨어 수준에서 지연되어야 합니다.

이러한 단점은 센서의 기능을 확장함으로써 제거됩니다.

Arduino 모션 센서 작업의 예로 사용할 수 있는 가장 간단한 유형의 스케치는 다음과 같습니다.

#define PIN_PIR 2 #define PIN_LED 13 void setup() ( Serial.begin(9600); pinMode(PIN_PIR, INPUT); pinMode(PIN_LED, OUTPUT); ) void loop() ( int pirVal = digitalRead(PIN_PIR); Serial. println(digitalRead(PIN_PIR)); //모션이 감지된 경우 if (pirVal) ( digitalWrite(PIN_LED, HIGH); Serial.println("모션 감지됨"); Delay(2000); ) else ( //Serial.print(" 동작 없음"); digitalWrite(PIN_LED, LOW); ) )

센서를 사용하는 프로젝트에 가능한 옵션

PIR 센서는 신호의 주요 기능이 특정 작업 공간 내에 사람의 존재 여부를 확인하는 것인 프로젝트에 없어서는 안 될 요소입니다. 예를 들어 다음과 같은 장소나 상황에서

  • 사람이 들어오면 현관이나 현관문 앞의 조명을 자동으로 켜는 것
  • 욕실, 화장실, 복도의 조명을 켜십시오.
  • 실내와 주변에 사람이 나타나면 경보가 울립니다.
  • 보안 시스템이 장착되어 있는 경우가 많은 보안 카메라의 자동 연결입니다.

Pir 센서는 작동하기 쉽고 연결 시 어려움을 일으키지 않으며 감도 영역이 크며 Arduino 소프트웨어 프로젝트에 성공적으로 통합될 수도 있습니다. 그러나 커버리지 영역에 얼마나 많은 물체가 있는지, 센서에 얼마나 가까이 있는지에 대한 정보를 제공할 수 있는 기술적 능력이 없으며 애완동물에게도 작업할 수 있다는 점을 명심해야 합니다.

모션 및 재실 센서의 주요 민감한 요소는 초전형 적외선 센서입니다. 초전기는 생성된 전위입니다.
적외선(IR) 복사의 영향을 받는 물질.

이러한 특성을 지닌 소재를 이용한 센서는 인체에서 방출되는 열에 반응할 수 있습니다. PIR 센서(Pyroelectric InfraRed)는 회전 각도가 120°인 원형 패턴(360°)을 가지고 있습니다.

특수 회로 솔루션을 통해 조명을 켜는 다양한 적외선 동작 센서를 만들어 사람의 움직임을 고정할 수 있었습니다.

PIR 센서의 작동 영역

B.E.G.의 제품군 다양한 디자인과 목적의 동작 및 존재 감지 센서가 있습니다.

  • 외부 사용;
  • 내부용;
  • 벽 장착용;
  • 천장 장착용
  • 디자인 센서.

IR 모션 센서의 주요 매개변수 중 하나는 적용 범위입니다. 천장 센서는 일반적으로 원형 범위(360°)를 갖습니다. PIR 벽 모션 센서는 모델에 따라 120°~280°의 감지 영역을 갖습니다.

특정 조건에서는 표준이 아닌 시야각을 가진 센서를 사용해야 하는 경우가 있습니다.
이러한 경우에는 폐쇄판(커튼)이 사용됩니다. 열원(간섭)이나 실내 공간을 감지 영역에서 제외합니다.

센서의 범위는 센서를 기준으로 사람이 어떻게 움직이는지에 따라 달라집니다. 센서에 수직인 방향으로 움직이면 센서의 범위가 최대가 됩니다.

센서 방향(전면)으로 이동하면 적용 범위가 거의 절반으로 줄어듭니다. 센서 바로 아래에서 움직임이 발생하는 경우 센서에는 최소 범위가 있습니다.

B.E.G.의 PIR 존재 감지기 고감도 영역이며 사소한 움직임에도 반응합니다. 센서의 감도는 조정 가능합니다.

프로젝트를 실행할 때 센서 적용 범위가 모니터링할 전체 영역을 포함하는지 확인하는 것이 중요합니다. 이를 위해 "죽은" 영역을 피하면서 적용 범위가 겹치는 여러 센서를 사용합니다. 공백과 거짓 긍정을 제거하기 위해 시간 지연이 적용됩니다.

PIR 센서를 올바르게 배치하는 방법

건물 입구에는 옥외용 벽걸이 형 PIR 모션 센서가 설치되어 있습니다.
해당 작업 영역에는 입구로 가는 경로가 있어야 합니다. 센서가 방문객을 가장 먼저 맞이하여 기관의 이미지를 향상시킵니다.

복도에서는 입구에 특별한주의를 기울입니다. 사람이 어둠 속에 단시간이라도 있지 않도록 센서를 설치해야 합니다. 복도의 경우 감지 범위가 좁고 범위가 긴 특수 천장 장착 모션 센서가 개발되었습니다.

계단은 위험이 증가하는 영역으로 간주됩니다. 조명이 부족하여 사람이 넘어지는 것을 방지해야 합니다. 천장이나 층계참 벽에는 모션 센서가 벽 스위치로 설치됩니다.

사무실 조명의 특징은 한 방에서 작업장마다 다른 조명을 제공해야 한다는 것입니다. 자연광의 강도를 고려하고 빈 공간에서는 조명을 끌 수 있어야 합니다.

따라서 각 작업장에는 자체 조명 제어 체계가 필요합니다. 감지 범위를 확장할 수 있는 천장 PIR 감지 센서가 이 작업에 대처할 수 있습니다.

학교 수업이나 대학 청중에서는 일광을 고려하여 조명이 수행됩니다. 방은 조정 가능한 인공 조명을 사용하여 균일한 조명이 제공되는 방식으로 구역으로 나누어집니다.

보드 근처 영역에 특별한주의를 기울입니다. 참석한 사람들은 교사와 칠판을 잘 볼 수 있어야 하므로 여기에는 안정적인 조명과 가급적이면 추가 수동 제어가 필요합니다. 이러한 방에서는 천장 점유 센서가 사용됩니다.

회의실 및 회의실의 조명을 자동화할 때 위에서 설명한 것과 유사한 접근 방식이 사용됩니다. 상점, 약국, 서비스업 등 입구 근처에는 청각 신호가 있는 동작 센서가 설치되어 직원이 들어오는 방문객에게 주의를 기울입니다.

대형 체육관은 천장 센서를 통해 독립적으로 제어되는 구역으로 구분됩니다. 수동 제어를 제공하는 것이 중요합니다. 이렇게 하면 수업이 진행되는 곳에만 조명을 제공할 수 있습니다.

지하 차고에서는 출입구와 주요 통로에 대한 안정적인 제어가 필요합니다. 가능한 "데드" 구역은 시간 지연으로 보상됩니다. 여기서는 천장 센서만 사용됩니다.

PIR 센서 설치를 위한 일반 요구 사항

PIR 센서의 범위는 IR 소스의 이동 방향에 따라 달라집니다. 통신량이 많아 천장에 모션 센서를 설치할 수 없으면 기둥과 벽에 설치합니다.

센서의 범위는 나무, 가구, 칸막이(유리 포함)에 의해 제한되어서는 안 됩니다. 천장 센서의 최적 설치 높이는 2.5~3m이고 벽 스위치의 경우 1.1~2.2m입니다. 높은 천장용 센서는 최대 16m 높이에 배치됩니다.

PIR 센서의 범위는 넓습니다. 목적, 기술 매개변수 및 디자인이 다릅니다. 특정 시설에서 최대한의 효율성을 발휘하려면 전문가의 서비스를 이용하는 것이 좋습니다.

구걸하기. 우리 전문가들이 필요한 모든 조언을 드릴 것입니다. 그리고 모션 및 존재 센서에 대한 유용한 자료를 놓치지 않기 위해 블로그에 게시합니다.

안녕하세요 여러분, 오늘은 모션 센서라는 장치를 살펴보겠습니다. 우리 중 많은 사람들이 이에 대해 들어봤고 누군가는 이 장치를 다루기도 했습니다. 모션 센서란 무엇입니까? 그것을 알아 내려고 노력합시다.

모션 센서 또는 변위 센서 - 어떤 물체의 움직임을 감지하는 장치(장치). 이러한 장치는 보안, 경보 및 모니터링 시스템에 사용되는 경우가 많습니다. 이러한 센서에는 매우 많은 폼 팩터가 있지만 보드에 연결하기 위한 모션 센서 모듈을 고려해 보겠습니다. 아두이노,그리고 회사에서 RobotDyn. 왜 이 특정 회사인가? 나는 이 상점과 그 제품을 광고하고 싶지 않지만 최종 소비자에게 제품의 품질을 보여주기 때문에 실험실 샘플로 선택된 것은 이 상점의 제품이었습니다. 그럼 만나보세요 - 모션 센서(PIR 센서) RobotDyn에서:


이 센서는 크기가 작고 전력 소비가 적으며 사용하기 쉽습니다. 또한 RobotDyn 모션 센서에는 실크스크린 인쇄로 표시된 접점도 있습니다. 이는 물론 사소하지만 매우 즐겁습니다. 글쎄, 동일한 센서를 사용하지만 다른 회사에서만 사용하는 사람들은 걱정하지 마십시오. 모두 동일한 기능을 가지고 있으며 접점이 표시되지 않더라도 해당 센서의 핀아웃은 인터넷에서 쉽게 찾을 수 있습니다.

모션 센서(PIR 센서)의 주요 기술적 특성:

센서 작업 영역: 3~7미터

추적 각도: 최대 110o

작동 전압: 4.5...6V

전류 소비: 최대 50uA

메모:광 센서를 IN 및 GND 핀에 연결하여 센서의 표준 기능을 확장할 수 있으며, 모션 센서는 어둠 속에서만 작동합니다.

장치 초기화.

전원을 켜면 센서가 초기화되는 데 거의 1분 정도 걸립니다. 이 기간 동안 센서는 잘못된 신호를 제공할 수 있습니다. 센서가 연결된 마이크로컨트롤러를 프로그래밍할 때 또는 마이크로컨트롤러를 사용하지 않고 연결하는 경우 액추에이터 회로에서 이를 고려해야 합니다.

각도 및 감지 영역.

감지(추적) 각도는 110도이고 감지 거리 범위는 3~7미터이며 아래 그림은 모든 것을 보여줍니다.

감도(감지 거리) 및 시간 지연 조정.

아래 표는 모션 센서의 주요 조정을 보여줍니다. 왼쪽에는 각각 시간 지연 제어가 있고 왼쪽 열에는 가능한 설정에 대한 설명이 있습니다. 오른쪽 열에는 감지 거리 조정이 설명되어 있습니다.


센서 연결:

  • PIR 센서 - Arduino Nano
  • PIR 센서 - Arduino Nano
  • PIR 센서 - Arduino Nano
  • PIR 센서 - 조도 센서용
  • PIR 센서 - 조도 센서용

일반적인 연결 다이어그램은 아래 다이어그램에 나와 있습니다. 이 경우 센서는 조건에 따라 뒷면에서 표시되며 Arduino Nano 보드에 연결됩니다.

모션 센서의 작동을 보여주는 스케치(프로그램 사용):

/* * PIR 센서 -> Arduino Nano * PIR 센서 -> Arduino Nano * PIR 센서 -> Arduino Nano */ void setup() ( //포트 모니터에 대한 연결 설정 Serial.begin(9600); ) void loop () ( //포트 A0에서 임계값을 읽습니다. //신호가 있는 경우 일반적으로 500보다 높습니다. if(analogRead(A0) > 500) ( //모션 센서의 신호 Serial.println("움직임이 있습니다. !!!"); ) else ( / /신호 없음 Serial.println("모든 것이 조용합니다..."); ) )

스케치는 모션 센서의 일반적인 테스트이며 다음과 같은 많은 단점이 있습니다.

  1. 허위 경보가 발생할 수 있습니다. 센서는 1분 이내에 자체 초기화가 필요합니다.
  2. 포트 모니터에 대한 견고한 바인딩, 출력 액추에이터 없음(릴레이, 사이렌, LED)
  3. 센서 출력의 신호 시간이 너무 짧습니다. 동작이 감지되면 프로그래밍 방식으로 신호를 장기간 지연시켜야 합니다.

회로를 복잡하게 하고 센서의 기능을 확장함으로써 위의 단점을 피할 수 있습니다. 이렇게 하려면 릴레이 모듈로 회로를 보완하고 이 모듈을 통해 일반 220V 램프를 연결해야 합니다. 릴레이 모듈 자체는 Arduino Nano 보드의 핀 3에 연결됩니다. 따라서 개념은 다음과 같습니다.

이제 모션 센서를 테스트한 스케치를 약간 개선할 차례입니다. 모션 센서 자체가 트리거될 때 출력 신호 시간이 너무 짧기 때문에 릴레이 끄기 지연이 구현되는 것이 스케치에 있습니다. 프로그램은 센서가 트리거될 때 10초 지연을 구현합니다. 원하는 경우 변수 값을 변경하여 이 시간을 늘리거나 줄일 수 있습니다. 지연값. 아래는 전체 조립 회로의 스케치와 비디오입니다.

/* * PIR 센서 -> Arduino Nano * PIR 센서 -> Arduino Nano * PIR 센서 -> Arduino Nano * 릴레이 모듈 -> Arduino Nano */ //relout - 릴레이 모듈용 핀(출력 신호) const int relout = 3 ; //prevMillis - 이전 프로그램 스캔 주기의 시간을 저장하기 위한 변수 //interval - 릴레이가 꺼질 때까지 초를 계산하는 시간 간격 unsigned long prevMillis = 0; 정수 간격 = 1000; //DelayValue - 릴레이가 유지되는 기간 int DelayValue = 10; //initSecond - 초기화 루프의 반복 변수 int initSecond = 60; //countDelayOff - 시간 간격 카운터 static int countDelayOff = 0; //트리거 - 모션 센서 활성화 플래그 static bool Trigger = false; void setup() ( //릴레이 모듈이 연결된 포트를 초기화하기 위한 표준 절차 //중요!!! - 릴레이 모듈이 초기 꺼진 상태를 유지하고 //초기화 중에 작동하지 않게 하려면 다음이 필요합니다. 입력/출력 포트에 // HIGH 값을 쓰려면 잘못된 "클릭"을 방지하고 // 전체 회로가 작동하기 전의 릴레이 상태를 유지합니다 pinMode(reout, OUTPUT); digitalWrite(reout, HIGH); // 여기서는 모든 것이 간단합니다. 60사이클(변수 initSecond)이 끝날 때까지 기다립니다. //1초 동안 센서가 "자체 초기화"됩니다. for(int i = 0; 나< initSecond; i ++) { delay(1000); } } void loop() { //Считать значение с аналогового порта А0 //Если значение выше 500 if(analogRead(A0) >500) ( //모션 센서 트리거 플래그 설정 if(!trigger) (trigger = true; ) ) //모션 센서 트리거 플래그가 설정되는 동안 while(trigger) ( //다음 명령을 실행 //값을 저장 //프로그램 실행 시작 이후 경과된 currMillis 변수의 밀리초 unsigned long currMillis = millis(); //밀리초의 이전 값과 비교 //차이가 지정된 간격보다 큰 경우: if(currMillis - prevMillis > Interval) ( //밀리초의 현재 값을 변수에 저장 prevMillis prevMillis = currMillis; //지연 카운터를 //릴레이가 유지되어야 하는 기간의 값과 비교하여 확인합니다. if( countDelayOff >= DelayValue) ( ​​​​//값이 같을 경우: //센서 작동 플래그 재설정 Trigger = false; //지연 카운터 재설정 countDelayOff = 0; //릴레이 끄기 digitalWrite(reout, HIGH ); //루프 중단 중단; ) else ( //값이 여전히 작으면 //지연 카운터를 1씩 증가시킵니다. countDelayOff++; //릴레이를 digitalWrite(reout, LOW)로 유지합니다. ) ) ) )

프로그램에는 다음 구조가 포함됩니다.

부호 없는 긴 prevMillis = 0;

정수 간격 = 1000;

...

부호 없는 긴 currMillis = millis();

if(currMillis - prevMillis > 간격)

{

prevMillis = currMillis;

....

// 구문 본문에 포함된 작업

....

}

명확히 하기 위해 이 구성에 대해 별도로 논평하기로 결정했습니다. 따라서 이 구성을 통해 프로그램에서 병렬 작업을 수행할 수 있습니다. 구조물의 몸체는 대략 초당 한 번씩 발사되며, 이는 변수에 의해 촉진됩니다. 간격. 첫째, 변수 currMillis함수가 호출될 때 반환되는 값이 할당됩니다. 밀리초(). 기능 밀리초()프로그램 시작 이후 경과된 밀리초 수를 반환합니다. 차이점이 있다면 currMillis-prevMillis변수의 값보다 큼 간격이는 프로그램 실행 시작 후 이미 1초 이상이 지났으므로 변수 값을 저장해야 함을 의미합니다. currMillis변수로 이전Millis그런 다음 구조체 본문에 포함된 작업을 수행합니다. 차이점이 있다면 currMillis-prevMillis변수 값보다 작음 간격, 프로그램의 스캔 주기 사이에 아직 1초가 지나지 않았으며 구조 본문에 포함된 작업을 건너뜁니다.

기사 끝 부분에는 저자의 비디오가 있습니다.

댓글이 작동하려면 자바스크립트를 활성화하세요.

PIR(수동 적외선 센서) 센서를 사용하면 움직임을 포착할 수 있습니다.

경보 시스템에 매우 자주 사용됩니다. 이러한 센서는 크기가 작고, 저렴하며, 에너지 소비가 적고, 작동하기 쉽고, 실제로 마모되지 않습니다. PIR 외에도 이러한 센서를 초전기 및 적외선 모션 센서라고 합니다.

필로일렉트릭 모션 센서 - 일반 정보

PIR 모션 센서는 기본적으로 적외선 방사 수준을 감지하는 초전기 감지 요소(중앙에 직사각형 크리스탈이 있는 원통형 부분)로 구성됩니다. 주변의 모든 것은 작은 수준의 방사선을 방출합니다. 온도가 높을수록 방사선 수준도 높아집니다. 센서는 실제로 두 부분으로 나뉩니다. 이는 우리에게 중요한 방사선 수준이 아니라 민감도 영역 내에서 움직임의 존재가 직접적으로 발생하기 때문입니다. 센서의 두 부분은 한쪽이 다른 쪽보다 더 많은 방사선을 흡수하면 출력 신호가 높거나 낮은 값을 생성하도록 설정되어 있습니다.

모션 센서가 설치된 모듈 자체도 퓨즈, 저항기 및 커패시터와 같은 추가 전기 배관으로 구성됩니다. 가장 저렴한 PIR 센서는 저렴한 BISS0001("Micro Power PIR Motion Detector IC") 칩을 사용합니다. 이 칩은 외부 방사선원을 인식하고 최소한의 신호 처리를 수행하여 이를 아날로그 형식에서 디지털 형식으로 변환합니다.

이 클래스의 초전기 센서의 기본 모델 중 하나는 다음과 같습니다.

최신 PIR 센서 모델에는 추가 구성을 위한 추가 출력과 신호, 전원 및 접지용 커넥터가 사전 설치되어 있습니다.

PIR 센서는 특정 작업 공간 내에 사람의 유무를 감지해야 하는 프로젝트에 적합합니다. 위에 나열된 센서의 장점 외에도 민감도 영역이 넓습니다. 그러나 초전 센서는 주변에 얼마나 많은 사람이 있는지, 센서에 얼마나 가까이 있는지에 대한 정보를 제공하지 않는다는 점에 유의하십시오. 게다가, 그들은 애완동물을 대상으로 일할 수도 있습니다.

일반 기술 정보

이 사양은 Adafruit 매장에서 판매되는 PIR 센서에 적용됩니다. 유사한 센서의 작동 원리는 유사하지만 기술 사양은 다를 수 있습니다. 따라서 PIR 센서를 사용하기 전에 해당 데이터시트를 확인하십시오.

  • 모양: 직사각형;
  • 가격: Adafruit 매장에서 약 $10.00;
  • 출력 신호: 움직임이 있는 경우 디지털 펄스 하이(3V), 움직임이 없는 경우 디지털 신호가 로우입니다. 펄스 길이는 모듈 자체의 저항기와 커패시터에 따라 다르며 센서마다 다릅니다.
  • 감도 범위: 최대 6미터. 시야각 110° x 70°;
  • 전원 공급 장치: 3V - 9V, 그러나 가장 좋은 옵션은 5V입니다.

>Aliexpress에서 주문하려면:

초전성(PIR) 모션 센서의 작동 원리

PIR 센서는 언뜻 보이는 것처럼 간단하지 않습니다. 주된 이유는 입력 및 출력 신호에 영향을 미치는 변수가 많기 때문입니다. PIR 센서의 작동 방식에 대한 기본 사항을 설명하기 위해 아래 그림을 사용합니다.

초전 모션 센서는 두 가지 주요 부분으로 구성됩니다. 각 부품에는 적외선에 민감한 특수 소재가 포함되어 있습니다. 이 경우 렌즈는 센서 작동에 특별히 영향을 미치지 않으므로 전체 모듈의 두 가지 감도 영역을 볼 수 있습니다. 센서가 정지 상태일 때 두 센서 모두 동일한 양의 방사선을 감지합니다. 예를 들어, 실내 또는 실외 환경의 방사선이 될 수 있습니다. 온혈 물체(사람 또는 동물)가 지나갈 때 첫 번째 센서의 감도 영역을 통과하며 그 결과 PIR 센서 모듈에 두 가지 다른 방사선 값이 생성됩니다. 사람이 첫 번째 센서의 감도 영역을 벗어나면 값이 정렬됩니다. 기록되고 출력에서 ​​HIGH 또는 LOW 펄스를 생성하는 것은 두 센서의 판독값 변화입니다.

PIR 센서 설계

PIR 센서의 민감한 요소는 외부 소음, 온도 변화 및 습도로부터 보호하는 금속 밀폐 케이스에 설치됩니다. 중앙의 직사각형은 적외선을 투과하는 물질(보통 실리콘 기반 물질)로 만들어집니다. 이 플레이트 뒤에는 두 가지 민감한 요소가 있습니다.

Murata 데이터시트의 그림:

RE200B 데이터시트의 그림:

RE200B 데이터시트의 그림은 두 가지 민감한 요소를 보여줍니다.

위 그림은 내부 연결도를 보여줍니다.

렌즈

적외선 모션 센서는 구조가 거의 동일합니다. 주요 차이점은 감도이며 이는 민감한 요소의 품질에 따라 달라집니다. 이 경우 광학 장치가 중요한 역할을 합니다.

위 그림은 플라스틱 렌즈의 예를 보여줍니다. 이는 센서의 감도 범위가 두 개의 직사각형으로 구성됨을 의미합니다. 하지만 원칙적으로 넓은 시야각을 제공해야 합니다. 이를 위해 카메라에 사용되는 것과 유사한 렌즈를 사용할 수 있습니다. 이 경우 모션 센서용 렌즈는 측정에 노이즈가 추가되기는 하지만 작고 얇으며 플라스틱으로 만들어져야 합니다. 따라서 대부분의 PIR 센서는 프레넬 렌즈를 사용합니다(Sensors Magazine의 그림).

프레넬 렌즈는 방사선을 집중시켜 파이로 센서의 감도 범위를 크게 확장합니다(BHlens.com 그림).

Cypress appnote 2105의 그림:

이제 우리는 훨씬 더 넓은 감도 범위를 갖게 되었습니다. 동시에 우리는 두 개의 민감한 요소가 있으며 많은 수의 작은 감도 영역만큼 두 개의 큰 직사각형이 필요하지 않다는 것을 기억합니다. 이를 위해 렌즈는 여러 섹션으로 나뉘며 각 섹션은 별도의 프레넬 렌즈입니다.

아래 그림에서 개별 섹션을 볼 수 있습니다 - 프레넬 렌즈:


이 매크로 사진에서는 개별 렌즈의 질감이 다르다는 점에 유의하세요.

결과적으로 서로 상호 작용하는 민감한 영역 전체가 형성됩니다.

NL11NH 데이터시트의 사진:

아래는 또 다른 그림입니다. 더 밝지만 덜 유익합니다. 또한 대부분의 센서의 시야각은 90도가 아닌 110도입니다.

IR-TEC의 그림:

PIR 모션 센서 연결

대부분의 적외선 모션 센서 모듈 뒷면에는 3개의 커넥터가 있습니다. 핀아웃이 다를 수 있으니 연결 전 꼭 확인하세요! 일반적으로 해당 비문은 커넥터 옆에 표시됩니다. 하나의 커넥터는 접지로 연결되고, 두 번째 커넥터는 센서에서 관심 있는 신호를 제공하고, 세 번째 커넥터는 접지를 제공합니다. 공급 전압은 일반적으로 3~5V DC입니다. 그러나 공급 전압이 12V인 센서가 있는 경우도 있습니다. 일부 대형 센서에는 별도의 신호 핀이 없습니다. 대신 접지, 전원 및 2개의 스위치가 있는 릴레이가 사용됩니다.

적외선 동작 센서를 사용하는 장치의 프로토타입의 경우 회로 기판을 사용하는 것이 편리합니다. 대부분의 모듈에는 세 개의 커넥터가 있고 그 사이의 거리는 브레드보드 구멍에 대해 정확하게 계산되기 때문입니다.

우리의 경우 빨간색 케이블은 전원, 검정색은 접지, 노란색은 신호에 해당합니다. 케이블을 잘못 연결하면 센서가 고장나지는 않지만 작동하지 않습니다.

PIR 모션 센서 테스트

위 그림에 따라 회로를 조립하십시오. 결과적으로 PIR 센서가 움직임을 감지하면 출력에서 ​​3.3V에 해당하는 HIGH 신호가 생성되고 LED가 켜집니다.

초전 센서는 "안정화"되어야 합니다. 배터리를 장착하고 30~60초 정도 기다립니다. 이 시간 동안 LED가 깜박일 수 있습니다. 깜박임이 멈출 때까지 기다리면 팔을 흔들고 센서 주변을 돌아다니며 LED가 켜지는 것을 볼 수 있습니다!

센서 재시작 설정

초전 모션 센서에는 여러 가지 팅크가 있습니다. 먼저 "다시 시작"을 살펴보겠습니다.

연결 후 모듈 뒷면을 살펴보세요. 커넥터는 아래 그림과 같이 왼쪽 상단 모서리 L에 설치해야 합니다.

이 연결 옵션을 사용하면 LED가 지속적으로 켜지지 않지만 가까이 다가가면 켜지고 꺼집니다. 이것은 "재트리거링하지 않음" 옵션입니다.

이제 커넥터를 H 위치로 설정합니다. 테스트 후 누군가가 센서의 감도 영역 내에서 움직이면 LED가 계속 켜져 있는 것으로 나타났습니다. 재시작 모드입니다.

아래 그림은 BISS0001 센서의 데이터시트에서 가져온 것입니다.

대부분의 경우 "재시작" 모드(아래 그림에 표시된 대로 커넥터가 H 위치에 있음)가 더 좋습니다.

감도 설정

Adafruit의 센서를 포함한 많은 적외선 동작 센서에는 감도를 조정하기 위한 작은 전위차계가 있습니다. 전위차계를 시계 방향으로 돌리면 센서에 감도가 추가됩니다.

펄스 시간 및 펄스 간 시간 변경

PIR 센서를 고려할 때 두 가지 "지연" 시간이 중요합니다. 처음 -Tx: 움직임이 감지된 후 LED가 켜져 있는 시간입니다. 많은 초전 모듈에서 이 시간은 내장된 전위차계로 제어됩니다. 두 번째 시간 간격은 Ti입니다. 움직임이 없을 때 LED가 켜지지 않도록 보장되는 시간입니다. 이 매개변수를 변경하는 것은 그리 쉽지 않습니다. 이를 위해 납땜 인두가 필요할 수 있습니다.

BISS 데이터시트를 살펴보겠습니다.

Adafruit의 센서에는 TIME이라고 표시된 전위차계가 있습니다. 이것은 10킬로옴 저항에 추가된 1메가옴 저항의 가변 저항입니다. 커패시터 C6의 용량은 0.01 마이크로패럿이므로 다음과 같습니다.

Tx = 24576 x (10kOhm + Rtime) x 0.01uF

Rtime 전위차계가 "0"(완전히 시계 반대 방향) 위치(0메그옴)에 있는 경우:

Tx = 24576 x (10 kΩ) x 0.01 uF = 2.5초 (대략) Rtime 전위차계를 시계 방향으로 완전히 돌린 경우(1 MΩ):

Tx = 24576 x (1010 kΩ) x 0.01 uF = 250초 (대략)

RTime의 중간 위치에서는 시간이 약 120초(2분)가 됩니다. 즉, 분당 1회의 속도로 물체의 움직임을 추적하려면 전위차계를 1/4 바퀴 돌리십시오.

PIR 센서의 구형/기타 모델용

센서에 전위차계가 없으면 저항기를 사용하여 조정할 수 있습니다.

우리는 저항 R10과 R9에 관심이 있습니다. 불행히도 중국인은 많은 일을 하는 방법을 알고 있습니다. 혼란스러운 비문을 포함합니다. 위 그림은 R9가 R17과 혼동되는 예를 보여줍니다. 데이터시트에서 연결을 추적하세요. R10은 핀 3에 연결되고, R9는 핀 7에 연결됩니다.

예를 들어:

Tx = 24576 * R10 * C6 = ~1.2초

R10 = 4.7K 및 C6 = 10나노패럿

Ti = 24 * R9 * C7 = ~1.2초

R9 = 470K 및 C7 = 0.1 마이크로패럿

다른 저항기와 커패시터를 설치하여 지연 시간을 변경할 수 있습니다.

PIR 모션 센서를 Arduino에 연결하기

초전 모션 센서에서 값을 읽는 프로그램을 작성해 보겠습니다. PIR 센서를 마이크로 컨트롤러에 연결하는 것은 간단합니다. 센서는 디지털 신호를 출력하므로 Arduino 핀에서 HIGH(동작 감지) 또는 LOW(동작 없음) 신호를 읽기만 하면 됩니다.

이 때 커넥터를 H 위치로 설정하는 것을 잊지 마세요!

센서에 5V를 적용합니다. 지구는 지구와 연결되어 있습니다. 그런 다음 센서의 신호 핀을 Arduino의 디지털 핀에 연결하십시오. 이 예에서는 핀 2가 사용됩니다.

프로그램은 간단합니다. 실제로 핀 2의 상태를 모니터링합니다. 즉, LOW 또는 HIGH 신호가 무엇인지 모니터링합니다. 또한 핀 상태가 변경되면 움직임이 있거나 움직임이 없다는 메시지가 입력됩니다.

* PIR 모션 센서를 확인하세요

int ledPin = 13; // LED 핀 초기화

int inputPin = 2; // 초전 모션 센서로부터 신호를 수신하기 위해 핀을 초기화합니다.

int pirState = LOW; //움직임이 없다고 가정하고 프로그램을 시작합니다.

간격 = 0; // 핀 상태를 읽기 위한 변수

pinMode(led핀, OUTPUT); // LED를 OUTPUT으로 선언

pinMode(inputPin, INPUT); // 센서를 INPUT으로 선언

Serial.begin(9600);

val = digitalRead(inputPin); // 센서에서 값을 읽습니다.

if (val == HIGH) ( // 읽은 값이 HIGH인지 확인

digitalWrite(ledPin, HIGH); // LED를 켠다

if (pirState == LOW) (

// 방금 포함시켰습니다

Serial.println("모션이 감지되었습니다!");

pir상태=높음;

digitalWrite(ledPin, LOW); // LED 끄기

if (pirState == HIGH)(

// 방금 껐어요

Serial.println("모션이 종료되었습니다!");

// 상태가 아닌 변경 사항을 직렬 모니터에 표시합니다.

초전기 센서를 사용하는 데 마이크로컨트롤러가 항상 필요한 것은 아니라는 점을 잊지 마십시오. 때로는 간단한 릴레이로 성공할 수도 있습니다.

HC-SR501 공간 센서 개요

초전 효과를 기반으로 하는 HCSR501 모션(또는 존재) 센서 모듈은 BISS0001 칩에 추가 전기 절연이 있는 500BP PIR 센서(그림 1)와 시야 반경을 늘리고 적외선을 증폭하는 데 사용되는 프레넬 렌즈로 구성됩니다. 신호(그림 2). 이 모듈은 적외선을 방출하는 물체의 움직임을 감지하는 데 사용됩니다. 모듈의 감지 요소는 500BP PIR 센서입니다. 작동 원리는 초전기를 기반으로 합니다. 이것은 온도가 변할 때 결정에 전기장이 나타나는 현상입니다.

센서 작동은 BISS0001 칩에 의해 제어됩니다. 보드에는 2개의 전위차계가 있으며, 첫 번째 전위차계를 사용하여 물체 감지 거리를 설정하고(3~7m), 두 번째 전위차계를 사용하여 센서의 첫 번째 작동 후 지연(5~300m)을 설정합니다. 비서). 모듈에는 L과 H의 두 가지 모드가 있습니다. 작동 모드는 점퍼를 사용하여 설정됩니다. L 모드는 단일 작동 모드로, 움직이는 물체가 감지되면 두 번째 전위차계에 의해 설정된 지연 시간 동안 OUT 출력에 높은 신호 레벨이 설정됩니다. 이 시간 동안 센서는 움직이는 물체에 반응하지 않습니다. 이 모드는 보안 시스템에서 사이렌에 경보 신호를 보내는 데 사용할 수 있습니다. H 모드에서는 움직임이 감지될 때마다 센서가 작동됩니다. 이 모드는 조명을 켜는 데 사용할 수 있습니다. 모듈을 켜면 교정이 완료되고 교정 시간은 약 1분 정도 소요되며 그 후에는 모듈 작동 준비가 완료됩니다. 가급적 개방된 광원에서 멀리 떨어진 곳에 센서를 설치하십시오.

그림 1. PIR 센서 500BP

그림 2. 프레넬 렌즈

사양 HC-SR501

  • 공급 전압: 4.5-20V
  • 전류 소비: 50mA
  • 출력 전압 OUT: HIGH - 3.3V, LOW - 0V
  • 탐지 간격: 3-7m
  • 발사 후 지연 시간: 5 - 300초
  • 시야각 최대 120
  • 다음 측정까지의 차단 시간: 2.5초
  • 작동 모드: L - 단일 작동, H - 각 이벤트에 대한 작동
  • 작동 온도 -20 ~ +80C
  • 크기 32x24x18mm

Arduino에 적외선 동작 센서 연결

모듈에는 3개의 출력이 있습니다(그림 3).
  • VCC - 전원 공급 장치 5-20V;
  • GND - 접지;
  • OUT - 디지털 출력(0-3.3V).

그림 3. 핀 할당 및 HC-SR501 설정

HC-SR501 모듈을 Arduino 보드(그림 4의 연결도)에 연결하고 움직이는 물체가 감지되면 소리 신호와 메시지로 직렬 포트에 신호를 보내는 간단한 스케치를 작성해 보겠습니다. 마이크로컨트롤러에 의한 트리거를 수정하기 위해 입력 2에 외부 인터럽트를 사용합니다. 이는 int0 인터럽트입니다.

그림 4. HC-SR501 모듈을 Arduino 보드에 연결하기 위한 연결 다이어그램

목록 1의 스케치를 Arduino 보드에 업로드하고 센서가 장애물에 어떻게 반응하는지 살펴보겠습니다(그림 5 참조). 모듈을 작업 모드 L로 설정합니다. 목록 1 // 모션/존재 센서 HC-SR501 개요 스케치 // 사이트 // 센서 출력 연결을 위한 연락처 #define PIN_HCSR501 2 // 트리거 플래그 boolean flagHCSR501=false; // 스피커 연결 핀 int soundPin=9; // 소리 신호 주파수 int freq=587; void setup() ( // 직렬 포트 초기화 Serial.begin(9600); // 인터럽트 처리 시작 int0 attachmentInterrupt(0, intHCSR501,RISING); ) void loop() ( if (flagHCSR501 == true) ( ​​​​// 직렬 포트에 대한 메시지 Serial.println("Attention!!!"); // 5초 동안의 사운드 신호tone(soundPin,freq,5000); // 트리거 플래그를 재설정합니다. flagHCSR501 = false; ) ) // 인터럽트 무효 처리 intHCSR501() ( // 센서 트리거 플래그 설정 flagHCSR501 = true; )

그림 5 직렬 모니터 출력

전위차계를 사용하여 OUT 출력의 신호 지속 시간과 센서의 감도(물체를 고정하는 거리)를 실험합니다.

사용예

보호된 개체에서 모션/존재 센서가 트리거될 때 SMS를 보내는 예를 만들어 보겠습니다. 이를 위해 GPS / GPRS 쉴드를 사용합니다. 다음 세부정보가 필요합니다.
  • 아두이노 우노 보드
  • GSM/GPRS 쉴드
  • npn 트랜지스터(예: C945)
  • 저항 470옴
  • 스피커 8옴 1W
  • 전선
그림에 따라 연결 다이어그램을 조립해 보겠습니다. 6.

그림 6. 연결 다이어그램

센서가 작동되면 문자 메시지로 SMS를 보내는 절차를 호출합니다. Atten행동!!!전화번호로. 스케치 내용은 목록 2에 나와 있습니다. GSM/GPRS 쉴드는 SMS 전송 모드에서 최대 2A를 소비하므로 외부 12V 2A 전원 공급 장치를 사용합니다. 목록 2 // 모션/존재 센서 HC-SR501 개요에 대한 스케치 2 // 센서가 트리거될 때 SMS 보내기 // 사이트 // 센서 출력 연결을 위한 연락처 #define PIN_HCSR501 2 // 트리거 플래그 boolean flagHCSR501 false; // 스피커 연결 핀 int soundPin=9; // 소리 신호 주파수 int freq=587; // SoftwareSerial 라이브러리 #include // SMS를 보낼 전화번호 #define PHONE "+79034461752" // SoftwareSerial용 핀(2,3이 있을 수 있음) SoftwareSerial GPRS(7, 8); void setup() ( // 직렬 포트 초기화 Serial.begin(9600); // 인터럽트 처리 시작 int0 attachmentInterrupt(0, intHCSR501,RISING); // GPG/GPRS 쉴드 GPRS.begin(19200)과 통신 ); ) void loop() ( if (flagHCSR501 == true) ( ​​​​// 직렬 포트로 보내는 메시지 Serial.println("Attention!!!"); // 5초 동안 알람 소리 톤(soundPin, freq, 5000); // SMS 보내기 SendSMS(); // 트리거 플래그 재설정 flagHCSR501 = false; ) ) // 인터럽트 처리 void intHCSR501() ( // 센서 트리거 플래그 설정 flagHCSR501 = true; ) // SMS 전송을 위한 서브루틴 void SendSMS() ( // AT 명령 텍스트 모드 설정 GPRS.print("AT+CMGF=1\r"); Delay(100); // 전화번호 GPRS.print("AT + CMGS = \""); GPRS.print(PHONE); GPRS.println("\""); 지연(200); // GPRS 메시지. println("주의!!!"); 지연(200); // ASCII 코드 ctrl+z – GPRS 전송 종료 println((char) 26); 지연(200); GPRS.println(); )

자주 묻는 질문(FAQ)

1. 물체가 움직일 때 모듈이 작동하지 않습니다.
  • 모듈이 올바르게 연결되어 있는지 확인하세요.
  • 전위차계로 감지 거리를 설정합니다.
2. 센서가 너무 자주 트리거됩니다.
  • 전위차계를 사용하여 신호 지속 시간 지연을 조정합니다.
  • 점퍼를 단일 작동 모드 L로 설정합니다.
로드 중...로드 중...