3dprintingkorea
제목 없음
제목 없음
 
 
 
발행구분
[2017년 04월호]     제조회사 : []     브랜드 : []
기사제목
[TECHNOLOGY] 3D Printing Korea DIY Project  #2 디지털 사진 액자

Application Review

3D Printing Korea DIY Project  #2 디지털 사진 액자

3D Printing Korea DIY Project의 두 번째 순서는 TFT LCD를 활용한 ‘디지털 사진 액자’ 제작이다. 일상생활에서 지치고 힘들 때, 책상위의 사랑하는 가족, 연인의 사진은 우리에게 새로운 활력소를 주곤 하는데, 액자 크기에 맞춰 사진을 출력하고 넣는 것은 제법 번거로운 과정이다. ‘디지털 사진 액자’는 이러한 수고 없이 원하는 사진을 마음대로 바꿀 수 있으며, 더하여 직접 제작한 케이스를 선물한다면 그 소중함이 더욱 깊어질 것이다.
글과 사진 / 이노성 기자  제작지원 / 325# 곽용욱 대표


STEP 1.
준비물은 간단하다. 아두이노 우노 보드와 2.4inchTFTLCD모듈, 마이크로 SD카드, 9v 배터리 그리고 연결선만 있으면 되며, 보드 및 배터리는 상황에 따라 적절히 사용하면 된다. 처음에는 1.5vAA 건전지 6개를 연결하여 사용하려고 했으나, 부피가 너무 커 9v 건전지로 교체하였다.

아두이노 보드를 활용한 DIY에 관심이 있는 분들이라면, 개별적으로 구매하는 것도 좋지만 기본적인 센서, 전선, 보드 등을 모아놓은 키트를 사
면 번거로움을 줄일 수 있다. 2.4 인치 TFT LCD의 경우 인터넷에서 1~3만 원 정도에 구매할 수 있다. 이러한 가격 차이에 대해 판매처에 문의한 결과, 제조국 및 제조사에 따라 상이한 것으로 규격 및 형식은 동일하다는 답을 받았다. (단, 저렴한 것은 그만큼 불량률이 높을 수 있다는 점도 참고)

STEP 2.
이번 과정은 보드에 LCD 모듈과 전원만 연결하면 되며, 케이스 모델링이 품질을 좌우하는 결정적인 요소라고 할 수도 있다. 본 과정에서는 Autodesk의 Fusion 360을 사용하였으며 미적인 요소라고는 찾아보기 힘든 형태이지만, 초보자의 입장에서 직접 만들었다는 것 자체에 의미를 두었다.

모델링 출력은 FDM 방식 3D프린터를 사용하였으며, 3D프린터를 보유하지 않더라도 가까운 무한상상실, K-ICT 3D 프린팅 지역센터 등을 방문
하면 무료 또는 저렴한 가격으로 출력할 수 있으니 참고 바란다.

3D Printing Korea DIY Project의 모델링 및 코드 등 모든 과정은 오픈소스로 공개할 예정이며, 보다 유익한 자료를 보내드리기 위해 수정기간
이 소요되는 것에 대해 미리 양해의 말씀을 드린다. 관심 있는 독자분들은 Arduinons@gmail.com으로 연락주시면 된다.

STEP 3.
이제 LCD에 출력할 사진과 코드만 업로드하면 된다. 이미지는 24bit 240x320 bmp 이미지로 변환시킨 후 마이크로 SD카드에 저장 TFT LCD 모듈 뒷면 소켓에 꽂아주면 된다. 이미지 변환은 그림판 또는 포토샵을 이용하면 된다.


STEP 4.
TFT LCD를 이용하기 위해서는 우선 라이브러리를 다운받아 추가해야 한다. 총 3개(TFTLCD, GFX, Touch Screen)가 있으며 GitHub에서 검색 또는 아래 주소에서 다운받을 수 있다.

1. https://github.com/samuraijap/TFTLCD-Library
2. https://github.com/adafruit/Adafruit-GFX-Library
3. https://github.com/adafruit/Touch-Screen-Library

https://github.com/
라이브러리 추가 후 예제에서 ‘tftpaint’를 불러오면 터치펜으로 그림이나 글씨를 입력할 수 있다.

 
라이브러리 추가 후, TFT LCD 예제에서 ‘tftbmp’를 불러온 다음 몇 가지만 수정하면 디지털 사진 액자를 구현할 수 있다.

(단, 그림을 그리는데 순서가 없듯이 프로그램 코드 또한 무수히 많은 방법과 변수가 있다. 본 과정에서 모든 것을 설명하기에는 한계가 있으며,
사용한 일부 방법을 소개한 것이니 참고하시길 바란다.)

1. tft.reset(); 아래에 delay(500);을 추가한다.
(‘Ctrl + F’ 찾기 명령을 통해 검색하면 수월하다.)

. 처음 코드를 수정하고 실행하였을 때, 이미지 출력이 안 되고 백색 화면만 나타나는 오류가 발생하였다. 이후 인터넷 검색을 통해 이 방법을
알게 되었으나 정확한 이유는 찾지 못하였다. 차후 전문가의 조언을 구해 딜레이 값을 설정해야 하는 정확한 이유를 안내하겠다. 

2. bmpDraw(“woof.bmp”, 0, 0);
bmpDraw는 SD카드에 저장된 bmp 이미지를 불러오는 것으로 초기 화면에 한번 나타나고 이후 하단의 vo id loop() 구문이 반복 실행된다.
“woof.bmp”는 자신이 저장한 이미지의 이름으로 수정하면 된다. (ex, 이미지 이름을 ‘1’로 저장한 경우 “1.bmp”로 수정)
‘0, 0’ 은 LCD 화면 좌표값을 의미하는 것으로 지정한 좌표값에서 이미지가 출력된다. 화면에 여백 없이 채우기 위해서는 0, 0을 입력하면 된다.

3. void loop() 구문 수정
- void loop()는 설정한 값을 반복하는 코드이다.
for(int i = 0; i<4; i++) {
tft.setRotation(i);
이는 i 값에 따라 출력이 시작되는 방향을 설정하는 것으로 0~3 값에 따라 사방위가 정해진다.
tft.fillScreen(0);
for(int j=0; j <= 200; j += 50) {
bmpDraw("miniwoof.bmp", j, j);
순차적으로 설정된 좌표값으로 이동하며 출력하는 것으로 이번 과정에서는 이 기능을 사용하지 않음으로 전체를 삭제하고 다음 구문을 입력한다.

tft.setRotation(0);
bmpDraw("1.bmp",0.0);
delay(2000);
bmpDraw("2.bmp",0.0);
delay(2000);
bmpDraw("3.bmp",0.0);
delay(2000);


1.bmp, 2.bmp, 3.bmp는 앞서 설명한대로 자신이 저장한 이미지 이름을 입력하면 된다. tft.setRotation(0);는 이미지 출력이 시작되는 사방위를 설정하는 것으로 가로·세로 또는 좌우반전 등 원하는 효과나 사진 방향에 따라 설정해 주면 된다.
delay(2000);은 해당 이미지 로딩 후 지속시간을 나타내는 것으로 밀리 초 단위로 입력하면 된다. (1 밀리 초 = 1/1000 초)

실행을 해보면 처음 로고화면이 출력된 후 void loop() 구문에서 지정한 사진들이 반복되며 출력된다. 지속시간을 길게 하고 싶으면 딜레이 값
을 늘리면 되고, 한 개의 이미지만 출력하고 싶으면 추가적인 사진 설정을 삭제하면 된다. 만약 업로딩 오류가 발생했다면, 툴 메뉴에서 포트와
보드 설정을 확인한다.

출력한 케이스와 부품을 결합하면 ‘디지털 사진 액자’가 완성된다. TFT LCD는 시야각이 좁아 정면이 아닌 경우 화면이 잘 보이지 않기에 거
치대로 각도를 설정하였다. 아쉬움이 많은 모델링은 차후 보다 세련된 디자인으로 완성된 모습을 공개할 예정이며, 3D Printing Korea DIY Project

- #2 ‘디지털 사진 액자’에 관심 있는 분들은 arduinons@gmail.com으로 연락주시면 된다.

 

이전글 다음글 리스트

메인페이지 | 회사소개 | 정기구독 | 전체기사 | 커뮤니티 | 이용약관 | 개인정보처리방침 | 이메일주소무단수집거부