보안 시스템은 일상 생활에서 중요한 역할을하며, 여기에서 다양한 종류의 기술과 다양한 가격대의 다양한 보안 시스템을 찾을 수 있습니다. 전자 애호가이기 때문에 몇 달러와 여가 시간을 소비하여 간단한 보안 시스템을 만들 수 있습니다. 이 기사에서는 PIR 센서 가 해당 지역에서 사람의 움직임을 감지하면 버저를 켤 수있는 간단한 Raspberry pi 및 PIR 센서 기반 동작 감지기 경보 를 만드는 DIY 가이드를 공유 하고 있습니다. 또한 PIR 센서의 작동을 자세히 다룬 이전 기사 중 하나에서 간단한 PIR 센서 기반 동작 감지기 회로를 다뤘습니다.
필요한 구성 요소
- Raspberry Pi 3 (모든 모델)
- PIR 센서
- 부저
- 브레드 보드
- 전선 연결
PIR 센서의 작동
패시브 적외선 (PIR) 센서는 적외선을 방출하지 않고 수신하기 때문에 패시브라고합니다. 기본적으로 열의 변화를 감지하고 변화를 감지 할 때마다 출력 PIN이 HIGH가됩니다. Pyroelectric 또는 IR 모션 센서라고도합니다.
여기서 우리는 모든 물체가 가열 될 때 어느 정도의 적외선을 방출한다는 점에 유의해야합니다. 인간은 또한 체온 때문에 적외선을 방출합니다. PIR 센서 는 적외선의 미세한 변화를 감지 할 수 있습니다. 물체가 센서 범위를 통과 할 때마다 공기와 물체 사이의 마찰로 인해 적외선을 생성하고 PIR에 잡 힙니다.
PIR 센서의 주요 구성 요소는 그림에 표시된 초전 센서 입니다 (플라스틱 캡 뒤의 직사각형 크리스탈). 이와 함께 BISS0001 ("Micro Power PIR Motion Detector IC"), 일부 저항기, 커패시터 및 PIR 센서를 구축하는 데 사용되는 기타 구성 요소가 있습니다. BISS0001 IC는 센서에서 입력을 받아 그에 따라 출력 핀을 HIGH 또는 LOW로 만드는 처리를합니다.
초 전형 센서는 움직임이 없을 때 두 부분으로 나뉘며, 두 부분 모두 동일한 상태를 유지하므로 두 부분 모두 동일한 수준의 적외선을 감지합니다. 누군가가 전반부에 들어가 자마자 절반의 적외선 레벨이 다른 절반보다 커져 PIR이 반응하여 출력 핀을 높게 만듭니다.
초전 센서는 내부에 많은 프레 넬 렌즈가 배열 된 플라스틱 캡으로 덮여 있습니다. 이러한 렌즈는 센서가 넓은 범위를 커버 할 수 있도록 구부러져 있습니다.
Raspberry Pi 및 PIR 센서 기반 동작 감지기의 회로도
위의 Raspberry Pi 및 PIR 센서 기반 동작 감지기의 회로도에서 보듯이 PIR 센서의 양극 핀은 핀 4 (5v)에 연결되고 PIR 센서의 접지 핀은 라즈베리 파이의 핀 6 (Ground)에 연결됩니다. 여기에서 Raspberry Pi의 핀 다이어그램을 찾을 수 있습니다). PIR 센서의 출력 핀은 Raspberry Pi에 입력을 제공하는 데 사용되는 Raspberry pi의 GPIO 23과 연결됩니다. 여기서 출력을 위해 선언 된 GPIO 핀 24는 부저의 양극과 연결되고, 부저의 접지는 라즈베리 파이의 접지 (핀 6)와 연결됩니다.
Raspberry Pi 용 Python 코드:
이 라즈베리 파이 및 PIR 센서 기반 동작 감지기에 대한 Python 코드는 매우 간단하며 아래 코드 섹션의 주석 인라인으로 쉽게 이해할 수 있습니다. GPIO 핀 23과 24를 입력 및 출력 핀으로 선언했습니다.
while True: GPIO.input (23): # 움직임이 있으면 PIR 센서가 GPIO23에 입력을줍니다. GPIO.output (24, True) # GPIO24를 통해 Buzzer에 출력을줍니다. sleep (1) #Buzzer가 켜집니다. 1 초 GPIO.output (24, False)
'동안' 루프 내부의 내용이 항상 실행할 수 있도록 루프가 '사실'로 사용됩니다. if GPIO.input (23): 문은 GPIO 핀 23이 하이인지 감지하고 동일한 경우 출력 PIN 24를 하이로 만듭니다. time.sleep (secs) 함수는 'secs'가 초 단위 시간 인 특정 시간 동안 파이썬에서 프로그램을 일시 중지하는 데 사용됩니다. 그래서 여기서 우리는 1 초 동안 그것을 멈췄습니다. 다음 줄에서는 24의 출력을 false로 만들었으므로 While 루프는 사전 조건없이 항상 true로 설정 되어 있으므로 루프가 다음 반복을 시작할 때까지 버저가 중지됩니다.