라즈베리파이의 카메라를 심플하게 설치한 이야기[바로가기]와 그 카메라를 Python으로 정말 초~ 심플하게 구동해본 이야기[바로가기]를 했구요... 그 후에 푸시 버튼과 LED를 GPIO In/Out에 연결해서 Python으로 심플하게 테스트하는 이야기[바로가기]를 했습니다. 이번에는 그 버튼을 이용해서 버튼을 누르면 카메라의 영상을 캡쳐하는 기능을 구현할까 합니다. 사실 이 기능은 Raspberry Pi Python Camera 요 단어들만 가지고 구글링을 하면 수두룩~~~하게 뜨는 예제입니다. 쉽게 말하면 언제나 그렇듯 별거 아닌 예제라는 뜻이지요^^
일단 구성은 위 그림과 같이 했습니다. 그냥 버튼의 한쪽은 GND에.. 다른쪽은 GPIO.21번에 연결했습니다.
흠.. 저는 확장보드를 사용하고 있으니 구성은 저렇게 되겠네요^^
저 GPIO 확장보드랑 연결선(점프선)은 참 잘 산것 같아요 ㅎㅎㅎ....
from picamera import PiCamera from time import sleep from gpiozero import Button button = Button(21) with PiCamera() as camera: camera.rotation = 180 camera.start_preview(fullscreen=False, window=(100,20,640,480)) button.wait_for_press() camera.capture('image.jpg') camera.stop_preview()
코드는 저렇게 심플합니다.^^. 먼저 지난번 GPIO 테스트와 달리 이번에는 gpiozero를 import했습니다. 지난번 코드에서 있던 각 종 설정없이 Button / LED 등으로 선언하면 되도록 편하게 되어 있습니다^^. 그리고, 또 지난번과 달리 이번에는 camera.rotation 으로 화면 각도를 조절해서 카메라를 뒤집지 않도록 했습니다.(^^) 그리고, button.wait_for_press()명령으로 푸시버튼이 눌러질때까지 기다렸다가 capture하도록 해 두었습니다. 지금이야 심플한 코드니까요.. 나중에는 인터럽트 방식을 써야하지 않을까합니다만^^... 아무튼 그렇게 해서 위 코드를 실행하면 라즈베리파이 화면에는..
흠... picamera의 preview화면은 라즈비안에서 화면 캡쳐를 해도 나타나지 않는다.. 그래서 이렇게 폰으로 찍어야한다.. 뭔가 방법이 없을까???
위 그림처럼 나타납니다. 저상태에서 버튼을 누르면...
얻은 사진입니다. 생각보다 괜찮죠?^^...
'Hardware > SBC (rasp, jetson, latte panda)' 카테고리의 다른 글
라즈베리파이에서 초간편 카메라 Python으로 구현하기 (10) | 2016.05.06 |
---|---|
라즈베리파이에서 Python 이용하여 GPIO 인터럽트 사용하기 (24) | 2016.04.18 |
Python을 이용하여 라즈베리파이 카메라 영상에 오버레이(Overlay) 테스트해보기 (16) | 2016.03.16 |
라즈베리파이에서 Python을 이용하여 GPIO 테스트 -버튼과 LED- (25) | 2016.02.26 |
라즈베리파이에서 Python으로 PiCamera 카메라 심플하게 시작하기 (15) | 2016.02.24 |
라즈베리파이 RPi Camera 카메라 설치 (18) | 2016.02.19 |
라즈베리파이2 무선 인터넷 연결 및 한글 설정하기 (16) | 2016.02.12 |