정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

라즈베리파이3, PIR 센서 관련 질문입니다.
레제느님 | 2018-05-23

1. 프로젝트 사용한 보드 종류

  (EX : 오렌지보드, 오렌지 BLE보드, 아두이노 UNO 등)

 - 라즈베리파이3

 

2. 사용한 개발 프로그램명

  (EX : 아두이노 IDE, 스크래치, mBlock 등)

 - Python

 

3. 사용한 센서 모델명

  (센서 모델명을 자세하게 적어 주실 경우 더 정확하게 확인할 수 있습니다.)

 - PIR 센서

 

 

4. 연결한 회로 설명 (또는 이미지)

 

 (이 사진에서 LED 부분만 제외하고 회로구성을 똑같이 하였습니다.)

 

5. 소스코드 (주석 필수)

  (원하는 기능의 코드를 전부 작성해 드리긴 어렵습니다. 기초부터 차근차근 공부해보면서 코드를 만들어 보세요.)

 

import RPi.GPIO as GPIO
 import time

 GPIO.setmode(GPIO.BCM)
 GPIO.setup(21,GPIO.IN)

 while True:
     input_state = GPIO.input(21)
     if input_state == True:
        print("Motion Detected")
        time.sleep(2)

 

(대부분의 PIR 센서 예제와 비슷한 코드입니다.) 

 

6. 문제점 및 에러 내용

  (소스코드 문제일 경우 에러 내용도 같이 올려주세요.)

 

PIR 센서 사용중 위의 회로 사진에서 LED 부분만 제외하고 회로를 구성하였습니다.

그리고 라즈베리파이3에서 Python Shell (Version 3)에 위와 같은 예제 코드를 따라서 작성하였습니다.

그리고 실행하였을때 GPIO 21번 핀에 아무것도 꽂지 않았을 때 0이 출력이되는데 전선을 (PIR 센서에서 딸려온 전선이 아닙니다.) 핀에 대기만해도 1이 출력이됩니다. 이 부분에 대해서 검색을 많이 해봤는데 해결이 되지 않습니다.

그래서 PIR 센서의 목적 (동작 감지시에만 1 출력)에 맞는 실험을 진행할수가 없어서 질문을 남깁니다.

코드나 해결방법이 있으면 답변 부탁드립니다.

이전글   |    입력받은 모스부호를 텍스트로 변환해주는 방법?... 2018-05-23
다음글   |    아스키코드로 받은 데이터를 시리얼모니터에 글자로 변환해 표시하고 싶습니다... 2018-05-24