ATmega2561과 3.2인치 TFT-LCD를 이용한 전자앨범 만들기..

글 내용

윤덕용 교수님의 졸업작품 만들기 시리즈 책중에 'TFT-LCD 모듈 활용 마스터'라는 책이 있다.
이 책엔 AVR과 TFT-LCD를 이용해서 그림판이나 MP3, 전자앨범, 게임등으로 활용할수 있게 해주는 책이다.
교육을 위한 키트인 OK-TFT 키트가 있는데 이 책에 나온 모든 소스를 테스트해볼수 있다.
그러나 나는 그 키트가 크고 못생겼고;; 필요없는 기능이 너무 많아서 간단하게 전자앨범으로 사용할수 있게 새로 제작했다.


SHW-M110S | Normal program | Spot | 1/8sec | Off Compulsory | 2011:04:29 04:41:02

위 그림이 OK-TFT키트이다. ATmega2561모듈 따로, TFT-LCD 따로 큰 PCB에 붙어있다.
그런데 다 필요없고 딱 LCD만 보이게 전자앨범으로 쓰일수 있게 새로 제작해본다.
 
먼저 회로도를 봐야 한다.
OK-TFT키트의 회로도는 [여기] 에서 다운로드 받을수 있다. 이 회로도에서 TFT-LCD, SD card, ATmega2561 등의 주요 부분만 추려서 새로 회로도를 작성한다. 필자가 구성한 회로는 아래와 같다.


회로도는 클릭해서 보거나, 다운받아 보세요.


필자가 구성한 회로는 위와 같다. ATmega2561을 사용했고, 16Mhz 크리스탈을 사용한다.
전원부는 LM1117-3.3을 사용해 전압을 다운시켯고, Micro USB 커넥터를 사용해 전원공급을 한다.
LCD는 3.2인치 TFT-LCD인 I3202-7HMT2432A-I (17) 을 사용한다.
이미지 저장용 메모리는 Micro SD카드를 사용하며, 부가적으로 온도센서인 TCN75와 시계센서인 DS1307을 추가하였다.
(참고로.. 위 회로도 조금 틀렸을수 있다. PCB 라우팅하면서 문제있는 부분은 PCB상에서 바로 수정했기 때문에 필자가 회로도에서 미처 수정못한 부분이 있을수 있다. )
 
회로도를 구성했으니 부품들의 패키지를 작성하고 PCB 라우팅을 한다. PCB 제작은 CSiEDA5.4 툴로 작성하였다.



전원 공급의 편의성을 위해 사방으로 Micro USB커넥터를 배치했고, 전원 확인을 위한 LED와 SD카드 동작 확인을 위한 LED를 배치하엿다.
그리고 PCB엔 터치센서를 그려놨는데 실제로 사용하진 않는다...(넣고나니 사용할일이 없다...저 쪼만한걸로 그림판 만들어 그림그리고 놀순 없잖는가..ㅎ)
 
일단 PCB 작업은 저렇게 하고 샘플 주문을 했다. 저정도 사이즈면 샘플가격은 약 10만원 전후일 것이다.
(다른 PCB랑 같이 작업을 해서 위 PCB만의 가격은 잘 모르겠다.ㅎㅎ)


SHW-M110S | Normal program | Spot | 1/15sec | Off Compulsory | 2011:04:29 05:20:50



제작된 PCB.. 지지대를 끼워놓기위해 사방에 3.1mm 지름의 구멍을 뚫어놓았다.
가로 69mm, 세로 89mm 사이즈로 아담한 사이즈이다. 이제 부품을 납땜해야 한다. 부품리스트는 아래와 같다. 
 
ATmega2561-16AU, TCN75, DS1307, 32.768khz Xtal, Micro USB Connector, Slide Switch, LM1117-3.3, Molex 5046-06, MicroSD Socket
16Mhz Xtal, 0.1uF, 4.7KR, 0R, 18pF, 10uF, blue chip LED 1608, TACT Switch, Battery Holder CR2032BH(Dip), I3202-7HMT2432A-I (17)
 
이정도면 대충 들어가는 부품은 다 적은것 같다. 규격이 애매한것들은 URL을 링크해 놓았으니 확인해보면 되겠다.
위 부품을 모두 납땜하면 아래와 같은 모습이 된다.


SHW-M110S | Normal program | Spot | 1/13sec | Off Compulsory | 2011:04:29 05:38:32



이제 뭔가 좀 있어보이는 작품이 완성됐다.  그런데 문제는 이제부터이다. 그냥 켠다고 작동되는건 아니잖는가..ㅎㅎ
윤덕용 교수님의 책에 실려있는 소스를 그대로 올려도 작동은 된다. 하지만 내가 원한대로의 작동은 바랄수 없다. 
 
원래 소스의 작동은 LCD에 사진이 출력되고 그 사진 맨 위에 파일 이름과 SD카드에 수록된 사진이 몇개인지, 몇장째를 보여주는지를 나타내준다.
이런거 필요없고 필자가 원하는것은 TCN75로 온도를 읽어 LCD에 출력한다, 동시에 DS1307을 이용해 시간도 표시한다.
파일이름, 수록된 사진의 갯수등은 필요없어 삭제했다. 

수정된 소스는 아래와 같다.
(원본 소스와 헤더파일등은 [여기]에서 다운받을수 있다. 압축파일 내에 Exp3_5_1.c 파일이 원본이다.)



AVR Studio 4.18 을 사용했고, Winavr 컴파일러를 사용했다.
이제 이 소스를 컴파일한 hex 파일을 전자앨범에 Write한다. 용량이 꽤 되서 Write하는데 시간이 좀 걸린다.
모든 과정이 끝났다. 그럼 작동하는 모습을 보자.


 


꽤 괜찮은 전자앨범이 완성되었습니다.
근데 시간을 잘못 입력해놓았군요.. 오전6시인데, 오후 6시로 설정해놨군요..ㅎㅎ;;;
아무튼 이렇게 길고긴 전자앨범 제작이 마무리 되었습니다.
PCB도 한번에 제작이 완료된게 아니고 총 4번의 시행착오 끝에 완성이 되었지요..

다음엔 Cortex-M3인 STM32를 이용해 전자앨범을 만들어 보겠습니다.  Cortex-M3를 이용하면 동영상처럼 그림이 천천히 로드되지 않고 한번에 확! 바뀌는 모습을 보여줄수 있습니다. 이것도 윤교수님의 책에 있던데.. 아직 보진 못했습니다.  암튼 담엔 그걸 만들어보겠습니다.
아무튼 끝~!!

  1. user picture
    이거 sd카드에 있는 사진을 출력한거죠??

    sd카드엔 사진 어떻게 넣었어요?

    일반 사진이 들어있는 sd카드를 꼽고

    저 소스대로 하면 동작되는가요
    • user picture
      MicroSD 카드에 있는 사진을 출력한것입니다.
      MicroSD카드를 리더기에 꽂은다음 컴퓨터와 연결해서.... 이걸 질문하신거같진 않구요..ㅎㅎ
      사진을 320X240 사이즈로 맞춘 후 BMP 파일로 변환하여 넣었습니다.
      이렇게 SD카드에 사진을 넣고 전자앨범의 전원을 켜면 파일 이름 순서대로 사진이 출력되게 됩니다.

      하드웨어도 똑같이 해야 저 소스로 동작이 됩니다.
  2. user picture
    감사합니다 아직 미숙한지라 한번 따라 해보려 하는데 제대로 될지 모르겠네요 ㅎㅎ

    맨밑에 동영상에 보면 왼쪽 하단에 튀어나와있는건 뭐에요?? 그리고 위쪽으로 연결된 까만선은 뭐인지 궁금합니다 ㅠㅠ 죄송합니다
    • user picture
      왼쪽에 튀어나와있는것은 MicroUSB 커넥터 입니다.
      전원 공급을 위해 사용되었습니다.

      위쪽으로 연결된 까만 선도 마찬가지로 MicroUSB에 연결되어있는 전원 공급용 케이블입니다.
  3. user picture
    죄송 한국어 어머니 언어는 아니지만 난 여기서이 게시물에 대한 큰 감사를 떠나고 싶어!
  4. user picture
    비밀댓글입니다
  5. user picture
    사진이 많이 익숙하네요 아주 익숙함^^
  6. user picture
    비밀댓글입니다
  7. user picture
    공부좀할껄그랬어.... 2013.03.25 22:03 신고
    감사합니다. 많이 배우고갑니당...
    지금 블로그를 정탐(?)하고있는데...
    네 대단하신거같으세요. 감탄하고갑니다.

티스토리 툴바