라즈베리 파이 rip 센서 - lajeubeli pai rip senseo

안녕하세요 나도메이커의 나도비입니다

오늘은 라즈베리파이에서 인체 감지센서를 이용하여

LED를 ON/OFF 해보겠습니다!

인체 감지 센서에 대해 아시나요?

아래 링크를 가셔서 쉽게 확인 하실수 있습니다!

빨강색은 VCC

검은색은 GND

노랑색은 Signal

보라색은 LED +

입니다.

sudo nano pir.py 명령어로 파일을 열어줍니다!

import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) PIR_PIN = 7 LED = 13 // LED GPIO 13번 GPIO.setup(PIR_PIN, GPIO.IN) GPIO.setup(LED,GPIO.OUT) // LED GPIO setup try: print "PIR module test (CTRL+C to exit)" time.sleep(2) print "ready" while True: if GPIO.input(PIR_PIN) == GPIO.HIGH: GPIO.output(LED,GPIO.HIGH) //LED ON t = time.localtime() print " %d:%d:%d motion detected!" % (t.tm_hour, t.tm_min, t.tm_sec) time.sleep(0.5) else : // 추가 GPIO.output(LED,GPIO.LOW) // LED OFF except KeyboardInterrupt: print " quit" GPIO.cleanup()

소스코드를 작성해 주세요!

소스코드에 기본 PIR센서의 값을 출력 하는것 말고

파이썬의 IF 문과 else문을 사용한 것을 볼수 있습니다!

모션 감지센서가 감지하면 LED가 켜지는 것을 볼 수 있습니다!

오늘은 PIR센서와 LED 와 연동한 실습이였는데요

간단한 구현이였습니다.

다음시간에는 자동문 예제를 가져오도록 하겠습니다!

그럼 안녕~

Python-센서/GPIO

라즈베리파이로 모션감지 (PIR센서 + 파이카메라)

1. 라즈베리파이와 모션센서 연결하기

PIR 모션센서는 가정의 현관 및 공용 화장실에 많이 설치되어 있는 센서로, 사람의 움직임에 반응하여 조명을 켜거나 끌 수 있습니다. 

라즈베리파이에 연결하여, 사람의 움직임이 발생했을 때, 사진을 찍거나 영상을 전송하는 예제를 구현해보도록 하겠습니다.

필요한 준비물

PIR 모션센서

//mechasolution.com/shop/goods/goods_view.php?goodsno=88&category=

라즈베리파이

만약, 라즈베리파이를 처음 사용하신다면, 교재와 함께 학습할 수 있는 키트를 소개해드립니다. 

스타터키트

파이카메라

■ 하드웨어 연결 (라즈베리파이와 모션센서)

■ 프로그래밍

먼저 위와 같이 nano 에디터를 이용하여 pir01.py라는 파이썬 파일을 만듭니다.

그리고, 다음의 소스코드를 붙여넣습니다.

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BCM)

pirPin = 7

GPIO.setup(pirPin, GPIO.IN, GPIO.PUD_UP)

while True:

    if GPIO.input(pirPin) == GPIO.LOW:

        print "Motion detected!"

    else:

        print "No motion"

    time.sleep(0.2)

위의 파일을 작성한 후에는 Ctrl + X , Y, 엔터 순으로 저장하고, 파이썬 코드를 실행합니다. 

실행하기 위해서는 다음의 명령어를 입력합니다. 

PIR 센서 위로 움직이는 것에 센서가 반응하는 것을 확인할 수 있습니다. 

2. 움직임이 있을 때, 사진 찍기

■ 프로그래밍

먼저, 모션감지 코드가 포함될 것이기 때문에, cp라는 명령어를 이용하여 pir01.py를 pir02.py로 복사하겠습니다. 

import RPi.GPIO as GPIO

import time

from picamera import PiCamera

GPIO.setmode(GPIO.BCM)

pirPin = 7

GPIO.setup(pirPin, GPIO.IN, GPIO.PUD_UP)

camera = PiCamera()

counter = 1

while True:

    if GPIO.input(pirPin) == GPIO.LOW:

        try:

             camera.start_preview()

             time.sleep(1)

             camera.capture('/home/pi/image%s.jpg' % counter)

             counter = counter + 1

             camera.stop_preview()

        except:

             camera.stop_preview()

    time.sleep(3)

3. 움직임이 있을 때, 동영상 찍기

■ 프로그래밍

마찬가지로 pir03.py를 복사를 통해서 생성해보겠습니다.

import RPi.GPIO as GPIO

import time

from picamera import PiCamera

GPIO.setmode(GPIO.BCM)

pirPin = 7

GPIO.setup(pirPin, GPIO.IN, GPIO.PUD_UP)

camera = PiCamera()

counter = 1

while True:

    if GPIO.input(pirPin) == GPIO.LOW:

        try: 

            camera.start_preview()

            camera.start_recording('/home/pi/video%s.h264' % counter)

            counter = counter + 1

            time.sleep(5)

            camera.stop_recording()

            camera.stop_preview()

        except:

            camera.stop_preview()

    time.sleep(3)

출처: //www.meccanismocomplesso.org/en/picamera-pir-movement-detector-un-sistema-di-sorveglianza/

Toplist

최신 우편물

태그