Course Content
코딩소스
0/1
[아두이노 키트] RTC 모듈
About Lesson

기본설정

  1. 아두이노 설치 및 환경설정이 완료된 상태여야 합니다.

2. 라이브러리는 하기 버튼을 눌러 다운로드하고 설치하세요

3. 아래 소스코드를 보드설정-컴파일-업로드 과정을 진행 후 실행하세요

소스 코드

– 코드설명 :

  1. 시간설정(최초1회)
  • 아두이노에 시간 설정 코드를 업로드합니다.
     : 처음 사용하거나 시간이 틀어진 경우에 진행합니다.
  • 설정된 시간과 날짜가 RTC 모듈에 저장됩니다.
  • 이 작업은 한 번만 하면 됩니다. 
				
					#include <DS1302.h>

// RTC 핀 정의
const int CLK = 4;
const int DAT = 3;
const int RST = 2;

DS1302 rtc(RST, DAT, CLK);

void setup() {
  Serial.begin(9600);
  rtc.halt(false);         
  rtc.writeProtect(false); 

  //  현재 시간 설정 (원하는 값으로 수정하세요)
  rtc.setDOW(TUESDAY);      // 요일 설정: SUNDAY ~ SATURDAY
  rtc.setTime(15, 45, 0);   // 시, 분, 초 설정 (24시간제)
  rtc.setDate(25, 6, 2025); // 일, 월, 년 설정

  Serial.println("RTC 현재 시간 설정 완료");
}

void loop() {
  // loop는 비워둬도 됨
}
				
			

– 코드설명 :

2. 상시실행

  • 초기 설정이 끝난 후, 상시 실행 코드를 업로드합니다.
  • 아두이노가 RTC 모듈로부터 실시간으로 현재 시간과 날짜를 계속 읽어옵니다.
  • 읽어온 값은 시리얼 모니터에 1초 단위로 출력됩니다.
  • RTC 모듈은 배터리가 연결되어 있으면 전원이 꺼져도 시간이 유지되며, 상시 실행 코드를 통해 언제든 실시간 시간 정보를 확인할 수 있습니다.
				
					#include <DS1302.h>

const int CLK = 4;
const int DAT = 3;
const int RST = 2;

DS1302 rtc(RST, DAT, CLK);

void setup() {
  Serial.begin(9600);
  rtc.halt(false);         
  rtc.writeProtect(false); 
}

void loop() {
  Serial.print(rtc.getDOWStr());
  Serial.print(" ");
  Serial.print(rtc.getDateStr());
  Serial.print(" ");
  Serial.println(rtc.getTimeStr());

  delay(1000);
}
				
			

작동영상