Skip to content

doyn511/PhotoBooth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PhotoBooth

프로젝트 주제: 라즈베리파이 3대를 이용한 포토부스 구현
프로젝트 기간: 2022.11.13 ~ 2022.12.23
프로젝트 인원: 3명

1. 프로젝트 개요

주제 : 라즈베리파이를 이용한 포토부스 제작
개발 목표 : 결혼식, 졸업식 등의 이벤트가 있는 하루의 추억을 기록해주는 아날로그 감성의 포토부스를 제작한다. 포토부스를 이용해 사진을 촬영하고 출력물의 형태로 사용자들에게 전달한다.
요구 조건 : 포토부스의 기본적인 기능인 사진 촬영의 기능이 포함되어야 하며, 이 기능을 뒷받침 하기위한 촬영 환경 설정 및 안내의 기능이 부가적으로 요구된다. 더불어 사진을 출력하는 기능 또한 필요하다.

2. 프로젝트 설계

라즈베리파이 별 기능 및 연결 센서/장치

  • 라즈베리파이 1: 촬영 기능 수행 / 카메라, 버튼, 프린터
    라즈베리파이에서 프린터를 활용하기 위해 CUPS를 이용해 해당 라즈베리파이를 무선 프린트 서버로 만든다. 버튼은 input장치로 사용자가 포토부스를 사용하고자 하는 메시지를 라즈베리파이로 전달하는 역할을 한다. GPIO를 이용해 라즈베리파이로 신호를 보낸 뒤, 조도센서와 초음파센서의 값을 읽어 들일 수 있게 한다. 카메라 활성화 및 프린트의 과정은 system함수를 이용해 shell에서 진행하며, 촬영한 사진을 합치는 과정은 opencv를 활용하였다.

  • 라즈베리파이 2: 촬영 환경 설정(밝기 설정) / 조도센서, LED, ADC
    촬영환경 중 간이 조명을 구현하기 위해 2개의 조도센서와 10개의 LED를 활용한다. 조도센서는 아날로그 값을 받아와 디지털로 전환해야 하기때문에 ADC컨버터와 SPI를 활용해 input값을 읽어들인다. 조도센서에서 감지한 값이 미리 정해둔 기준 값보다 낮으면 LED의 밝기를 높여주고, 기준 값보다 높으면 LED의 밝기를 낮추거나 아예 끄는 방식으로 촬영 환경을 세팅한다. LED의 조명 밝기를 제어하기 위해서는 PWM의 방법을 활용한다.

  • 라즈베리파이 3: 촬영 환경 설정(거리 안내) / LCD, 초음파 센서
    해당 라즈베리파이는 촬영환경 세팅 중 거리에 관련된 안내를 진행하는 역할을 한다. 버튼을 통해 사진을 촬영하겠다는 사용자의 입력이 있으면 초음파 센서를 활용해 초음파를 발생하여 음파를 쏘아올리고, 반사되어 오는 음파까지의 시간차를 거리로 계산해 카메라와 인물 간의 거리를 측정한다. 기준 거리보다 인물/사물이 멀리 있으면 가까이 오라는 메시지를 LDD에 나타낸다. 특정 시간동안 기준 거리에 존재하면 적당한 시간이 지난 뒤 사진 촬영이 시작되도록 만든다. LCD는 I2C와 GPIO, 초음파 센서는 GPIO를 활용해 구현한다.

3. 목표 서비스 구현을 위한 도전적 이슈 및 제한사항 분석

  • 도전적 이슈
  1. 조도 센서 및 초음파센서의 오차 줄이기
  2. 한번의 프로그램 실행으로 촬영부터 프린트까지 자동으로 이루어지도록 구현하기
  3. 초음파 센서를 이용해 거리 측정 시 사용자가 갑자기 기준 거리를 벗어나는 경우 고려하기
  4. 조도센서 2개 이용 시 서로 값을 나누어 갖는 현상 해결하기
  • 제한사항
  1. 다수의 인물이 아닌 한 명 혹은 사물 하나를 대상으로 촬영하는 것을 기본 전제로 한다.
  2. 제한된 수의 LED를 사용해 완벽한 조명의 기능을 구현하기 어렵다.
  3. 프린터, 카메라 등 장치의 문제로 제대로 된 결과물을 얻지 못할 수 있다.

About

Systemprogramming_RaspberryPi

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published