아두이노 시계

 

DS1302 모듈과 LCD 디스플레이를 조합하여 독자적으로 작동되는 시계를 만들어 보려고 합니다.
시리얼 모니터가 필요 없기 때문에 PC는 개발 과정에서만 필요하며, 프로그래밍이 완료된 후에는 아두이노를 아무 USB 포트에 꽂기만 하면 시계가 작동됩니다.

DS1302 모듈을 사용하였기 때문에 전원이 차단되어도 시계 데이터는 초기화되지 않습니다.
아두이노는 매초마다 DS1302 모듈에서 시간 데이터를 받아온 다음, 해당 데이터를 LCD 모듈에 출력하게 됩니다.

모듈 연결은 아래와 같습니다.
회로가 많이 복잡합니다.

 

라이브러리 설치

DS1302 모듈을 쉽게 제어하기 위한 라이브러리를 추가합니다. (이미 설치된 경우 건너뜁니다.)

  1. https://github.com/msparks/arduino-ds1302에 접속하여 라이브러리 zip 파일을 다운로드 합니다.
  2. arduino-ds1302-master.zip 라이브러리 파일을 아두이노에 추가합니다.
    아두이노 > 스케치 > 라이브러리 포함하기 > .ZIP 라이브러리 추가…

 

소스 파일

 

현재 시각이 맞지 않는 경우

  1. 아래와 같이 소스 파일 54 ~ 57 라인의 주석(//)을 해제하고, 현재 시각을 입력합니다.

    요일은 다음 중 하나를 입력합니다.
    Time::kSunday
    Time::kMonday
    Time::kTuesday
    Time::kWednesday
    Time::kThursday
    Time::kFriday
    Time::kSaturday

  2. 시리얼 모니터를 열어서 시각이 제대로 세팅되었는지 확인합니다.
  3. 아래와 같이 소스 파일 54 ~ 57 라인을 주석(//) 처리하고 다시 한번 업로드 합니다. (무한 세팅 방지)