RedCrow + GreenBean

Feed Rss

Arduino와 RTC(DS1307)를 이용한 시계

09.26.2013, arduino, by .

만든지는 좀 되긴 했지만 이런저런 사정에 의해 이제서야 올리게 된다.

Arduino에 대해 재미를 붙이고 있고 또 이것저것 해보기 좋고해서…

점점 탄력이 붙는것 같은데… 시간이 잘 안난다.

앞서 Arduino와 RTC를 이용해서 시계 테스트를 해본것에 힘입어 실제 사용할 수 있을만한 시계를 만들기로 했다.

뭐 별다른 기능없이 그저 시계만 된다.

http://www.electroniccrafts.org/?n=Main.ClockDS1307

위 사이트가 원 제작자인데…

이제는 사이트가 열리질 않네요.

ds1307_3

위 회로도 역시 원 제작자의 회로도이다.

원제작자의 형태를 기본으로 하고 나름데로 좀 수정 하였다.

원제작자의 경우 FND를 5V에 동작하는걸 이용하다보니 저항이 따로 없지만 국내에서는 구하기가 어렵고 금액이 비싸서 일반 FND를 사용하였다.

또한 스위치중 다운 스위치를 삭제하였다.

일단 1차적으로 브레드보드에 작업해서 잘 동작하는지 확인하였다.

 

위는 원 제작자의 소스이다.

물론 이것 저것 수정해서 썼다.

해당 하드웨어와 소스만으로도 충분히 작동 가능하다.

때에 따라서 안되는 부분이 있다면 컴파일러 버젼이나 약간의 설정부분의 변경등이다.

만약 만들어 본다면 처음부터 다 할려는 것보다…

한개씩 조금씩 해보는게 좋을 듯 하다.

시간을 읽어오고 설정하는것부터 해보고…

그러면서 FND에 표현 해보고…

그리고 시간 설정하는 루틴도 짜보고…

등등…

 

예전에는 브레드보드가 있음에도 전혀 쓰질 않았는데…

이렇게 편리한걸 왜 안쓰고 일일이 납땜했는지 모르겠다. ^^;

SONY DSC

브레드보드를 잘 쓰는건 아니라서… ^^;

암튼…

생각해준데로 잘~ 동작한다.

Atmega8에 스케치가 업로드 될 수 있도록 스케치 역시 수정하여 용량을 낮추었다.

브레드보드에서 잘 동작했으니…

보드를 제작하였다.

그냥 보드단으로 끝을 낼게 아니라 케이스까지 생각해서 완성도를 높이기로 하였다.

적당한 싸이즈의 케이스를 찾다보니 6mm 비디오 테이프…

기본적으로 FND와 Atmega8, 저항등을 넣었을때 거의 딱 맞는 수준이였다.

케이스에 들어갈만한 크기를 찾아내서 해당 크기안에서 부품들을 배치하고 연결까지 가능한지 확인하였다.

SONY DSC

부품만 꽂아봐도 큰 무리없이 진행될 수 있어서 제작에 들어 갔다.

아래는 제작완료된 보드의 모습이다.

SONY DSC

처음 생각했던 형태로 진행되었다.

그리고 6mm 비디오 테이프 케이스 안에 넣고 동작시키는 모습이다.

SONY DSC

큰 어려움 없이 제작할 수 있었다.

물론 최소한의 기능으로만 제작하다보니 스케치도 간단하고… ^^;

부품은 아래와 같이 이용되었다.

IMG_2895

열심히 해봐야 겠다.

이런 저런 이유로 자세한 제작과정을 여기에는 담지 못하였다.

조만간에 담을 수 있도록 해야 겠다.





20 Responses to Arduino와 RTC(DS1307)를 이용한 시계

  1. 2014-06-09 at 20:40 지나가다가...

    아두이노 시작   D-2  인 초보입니다.

    잘 읽고  많은 정보 얻어 갑니다.

    비디오 케이스가 대박 입니다.~~

    응답
    • 2014-06-11 at 13:27 redcrow

      D-2 이라 함은 아직 시작 안하신건가요?
      이틀뒤에 아두이노가 도착?
      아니면 이틀 되신건가요? ^^;
      열심히 하시길 바래요.
      많은 도움 드릴 수 있으면 드리도록 할께요.
      ^^;
      비디오 테이프 케이스 말고도 다양한거 많아요.
      다이소 같은데서 파는 저렴한 반찬통도 있어요. ^^;
      감사합니다.

      응답
  2. 2014-10-02 at 11:12 조은호

    혹시 부품 재료 이름들 알수있을까요??ㅜ

    응답
    • 2014-10-02 at 12:23 redcrow

      우선 제가 비디오 테이프에 담은 시계 기준으로 말씀드릴께요~
      아두이노 클론 타입이라 보시면 되구요.
      아두이노에 사용되는 동일한 MCU를 사용하였습니다.
      그리고 아두이노를 통해 부트로드를 업로드 하였구요.

      Atmega328
      DS1307
      7-Segments
      Crystal 32.768KHz
      Crystal 16MHz
      저항 330옴 – 9개
      저항 10k옴 – 5개
      저항 0옴 – 1개
      콘덴서 22pF – 2개
      콘덴서 0.1uF – 1개
      Switch – 3개
      전지홀더
      CR2032
      IC소켓 28pin
      IC소켓 8pin
      핀헤더
      Micro USB (시계 전원용)
      만능기판
      USB to UART (스케치 업로드용, 아두이노 우노로 대체 가능)

      위와 같이 사용하였습니다.
      수량이 안적힌것은 1개 입니다.
      뭐 여러가지 기능을 위해 다른 부품들도 가능하구요.
      도움이 되었으면 하네요~
      혹시라도 제작을 하심에 있어 궁금한게 있으시면 언제든지 물어보세요~ ^^;
      가까우면 오프라인으로 만나서라도… ^^;

      응답
  3. 2014-12-17 at 16:58 조동원

    시계형 세그먼트를 s-5462asr2/c 로 사용하려고 하는데요 핀을 어떻게 연결시켜야 할지 잘 모르겠어요

    ds1307과 다른건가요?

    s-5462asr2/c로 사용할 땐 어떻게 연결해야하나요?

    응답
    • 2014-12-19 at 15:36 redcrow

      해당 세그먼트의 데이터쉬트를 참고해보셔야 할것 같네요~
      http://www.ds-parts.co.kr/goods_detail.php?goodsIdx=5815
      사실 세그먼트는 데이터쉬트가 잘 나와있는게 잘 없습니다.
      보통은 제가 적어드린 정도?
      해당 데이터쉬트를 보면 알수도(?) 있지만… 어느쪽이 1번으로 칭해야 할지 많이 헷갈립니다.
      그럴땐 5V에 330옴 정도 저항 하나 연결해서 하나씩 찍어보는게 좋습니다.
      아주 잠깐 찍어 보았을때 불이 들어오는지 안오는지…
      그렇게 해서 1번과 14번의 위치를 찾으면 나머지는 데이터쉬트에 나와있는 형태로 연결하시면 됩니다.
      제 소스에 앞쪽에 Assign Arduino Pins에 나와 있듯이 해당 핀과 연결 해주시면 되구요
      혹시 하시다가 잘 안되는 부분이 있다면 언제든지 글 달아주세요~
      감사합니다.

      응답
  4. 2014-12-17 at 17:10 조동원

    맨 위 첨부된 사진에 세그먼트 핀을 보면 핀이 16개인데 4digit세그먼트는 핀이 14개 아닌가요?

    응답
    • 2014-12-19 at 15:31 redcrow

      세그먼트에 따라 조금씩 다릅니다.
      제일 상단의 회로도의 경우는 원제작자가 올린 회로도 입니다.
      그래서 조금 다른 세그먼트를 사용한것 같네요~
      세그먼트에 표시되는 내용이 많으면 많을 수록 핀이 더 들어갑니다. ^^;
      자세한것은 구매하신 세그먼트의 데이터쉬트를 살펴보셔야 할것 같습니다.

      응답
  5. 2015-07-23 at 00:22 맨도

    잘 보고 많이 배워 갑니다.

    응답
    • 2015-07-27 at 11:33 redcrow

      많은 정보도 못드렸는데 죄송합니다.
      그리 배울게… ㅠㅜ
      응원에 힘입어 좀더 열심히 활동 해야 겠습니다.
      바쁘다는 핑계로 너무 소홀히 하는 것 같네요~
      감사합니다.

      응답
  6. 2015-10-02 at 04:12 임영빈

    http://m.kin.naver.com/mobile/qna/detail.nhn?d1Id=11&dirId=1118&docId=235531771

    제가지식인에 올린 글 입니다. ..제발 도와주세요
    숙제도 아니고 필요하기에 만들고 싶은건데 도와주질 않아요…막막해요 아두이노 시작하지 2개월이 지나가고 있는데…막히네요…

    응답
  7. 2015-10-06 at 19:21 임영빈

    RTC(DS1307)+아두이노(UNO-3)+1602 CLCD +

    설정스위치1개+시간UP스위치 1개로

    위에 UP스위치로 알람도 끄게 할수 있게

    알람시계를 만드려고 하는데요 소스는 어떻게 짜야할까요??

    소스좀 알려주세요~

    imho002@naver.com

    응답
    • 2015-10-06 at 23:34 redcrow

      소스는 제가 짜놓은거랑 큰 차이는 없습니다
      RTC를 이용함으로써 시간 계산하는 부분이 없으니 편합니다
      무엇보다 LCD로 출력하니 FND보다 간단 하구요
      LCD는 사용 가능 하시지요?
      제 소스 보시면 사용한 변수 이름들이 대충 보면 뭘 뜻하는지 아실겁니다
      시(10) 시(1) 분(10) 분(1) 이렇게 나옵니다
      이를 LCD에 뿌려 주기만 하면 됩니다
      설정 버튼으로 상태를 변화시키면서

      현재시간 표시
      현재시간 시 설정
      현재시간 분 설정
      알람시간 시 설정
      알람시간 분 설정
      알람 여부 설정

      이런식으로 변화시키면 될듯 하네요
      알람 울리는건
      알람여부에 따라서
      알람을 사용 한다면
      지금 시간과 알람 시간을 비교해보는 거죠
      맞다면 알람을 울리면 되구요
      알림끄기 버튼으로 알람이 울릴때 알람끄기 버튼이 들어오면 알람을 끄면 될듯 합니다
      한번에 다 하려고 하지 마시고
      하나씩 해보세요

      1. 그저 LCD 자유롭게 다루기
      2. RTC값 받아오기
      3. 받아온 RTC값 표현하기
      4. 버튼입력을 받아서 LCD에 표시하기
      5. 버튼입력으로 RTC로 받아온값 다르게 표시하기
      6. 시간 설정 해보기
      7. 알람 시간만 설정 해보기
      8. 알람 시간에 LED로 표시 해보기
      9. 알람 시간에 알람 울리기
      10. 알람 울릴때 버튼 입력으로 꺼보기

      등으로 진행 해보면 될것 같네요
      하나씩 성공해서 넘어가면 쉽게 하실 수 있을 겁니다
      저도 한번 만들어 봐야겠네요 ^^

      응답
  8. 2015-10-07 at 20:50 임영빈

    친절하신 답변 감사합니다.

    제가 5번까지는 해보구요 6번두 해보긴 해밨는데…알람은 예제랑 소스를 잘못찾겟어서…못해밨거든요…알람시간을 설정해서 설정한값이 LCD화면에 현재시간이랑 같이 나오도록 하려고 하거든요…

    어렵네요…한번 참고해서 해보겠습니다… 감사합니다.

    응답
    • 2015-10-08 at 10:30 redcrow

      예제를 찾아서 하기에는 쉽지 않을 수 있습니다.
      내 입맛에 맞는것도 잘 없고…
      그렇다 치면 직접 만드는 수 밖에 없어요.
      LCD가 두줄 이상 짜리라면…
      윗줄 아랫줄 분리해서 현재시간과 알람시간을 표시하면 될것 같습니다.
      처음에는 현재시간과 내가 출력하고 싶은 글(시간으로 표현하면 되겠죠?)을 해보시고…
      그리고 알람 시간을 변수화 해서 표현 해보세요~
      그 변수화한 알람 시간을 설정해서 바꿀 수 있도록 하구요~
      그러면서 하나씩 진행하시면 됩니다.
      한방에 되는건 잘 없습니다.
      대부분의 실력자 역시 하나하나 차근차근 진행합니다.
      그래야 혹시 문제가 있더라도 어디서 문제가 되는지 확인이 쉬우니깐 말이죠~
      알람 시간은 또다른 변수이고 그저 이 변수값을 바꾼다 라고만 생각하세요~
      실제 알람 기능은 아직 생각지 마시구요~
      이상없이 값이 바뀌고 표현이 되고나면 그때서야 실제 알람 기능을 생각하시면 됩니다.

      응답
  9. 2015-11-14 at 22:27 배지수

    제가 이번에 과제로 아두이노를 활용해서 해볼려고 알려주신 부품을 구입해서

    사진에서 보여준대로 납땜도 하고 프로그램으로 소스를 컴파일 해봤는데

    오류가 많이 나오더라구요… 좀 도와주세요!!!

    그리고 뒷면 사진이 없어서 어떻게 해야할지를 모르겠어요… 아두이노를 배워본적이

    한번도 없는 초짜입니다ㅠㅠ

    응답
    • 2015-11-15 at 09:41 redcrow

      안녕하세요
      우선은 하드웨어 결선과 소프트웨어를 확실히 알아야 할것 같네요
      그래야 제가 도와주실 수 있을것 같습니다
      실제 결선한 사진 등이 있으면 좋군요
      실제 업로드한 프로그램 코드도 있으면 좋구요
      납땜 보다는 빵판에 먼저 작업을 하시는게 편리하긴합니다
      답글 달아주신 곳으로 메일 보내겠습니다
      감사합니다

      응답
  10. Hi. I see that you don’t update your site too often. I know that writing articles is boring
    and time consuming. But did you know that there is a tool that allows you to create new posts using existing
    content (from article directories or other websites from your niche)?
    And it does it very well. The new articles are high
    quality and pass the copyscape test. You should try miftolo’s tools

    응답

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.