Arduino

[아두이노] DS1307 RTC I2C Module 모듈 사용 방법

high-schoool 2024. 12. 19. 23:32
반응형

이번에는 RTC 모듈 사용방법에 대해 알아보겠습니다.


준비물

- Arduino

- RTC 모듈

- 빵판 (선택)


배선 방법

 

Arduino RTC
3.3V VCC
GND GND
SCL A5
SDA A4

https://arduinogetstarted.com/images/tutorial/arduino-ds1307-real-time-clock-wiring-diagram.jpg

 


RTC 모듈 코드 작성, 라이브러리 설치

 

 

 

- 라이브러리 설치

RTCLib

 

- 아두이노 코드 업로드

#include <Wire.h>
#include <RTClib.h>

RTC_DS3231 rtc;

void setup() {
  Serial.begin(9600);

  // RTC 모듈 초기화
  if (!rtc.begin()) {
    Serial.println("RTC를 찾을 수 없습니다!");
    while (1);
  }

  // 시간을 설정 (초기 실행 후 주석 처리)
  // rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));

  // 특정 날짜/시간 설정
  // rtc.adjust(DateTime(2024, 12, 19, 15, 30, 0)); // 2024년 12월 19일 15:30:00
}

void loop() {
  // 현재 시간 읽기
  DateTime now = rtc.now();

  // 시간 출력
  Serial.print(now.year(), DEC);
  Serial.print('/');
  Serial.print(now.month(), DEC);
  Serial.print('/');
  Serial.print(now.day(), DEC);
  Serial.print(" ");
  Serial.print(now.hour(), DEC);
  Serial.print(':');
  Serial.print(now.minute(), DEC);
  Serial.print(':');
  Serial.print(now.second(), DEC);
  Serial.println();

  delay(1000); // 1초 간격으로 출력
}

 

- 코드 업로드가 완료된 후 시리얼 모니터를 열어보면, 코드 업로드 시점의 시간부터 현재 시간까지의 데이터가 계속 출력되는 것을 확인할 수 있습니다.

 

 

※ RTC 모듈에 배터리를 연결하면 전원이 꺼져도 시간을 유지할 수 있습니다.

 

반응형