CAFE

한국직업능력교육원

[스크랩] [Arduino 실습 44] RTC DS1302

작성자송명규|작성시간26.06.22|조회수38 목록 댓글 0

 

 

1. DS1302 LIb

2. 소스코드



#include <virtuabotixRTC.h>

 

enum _RTC_

{

  CLK = 14, //A0

  DATA = 15, //A1

  RST = 16   // A2

}rtc_1302;

 

virtuabotixRTC RTC(CLK, DATA, RST);



void setup() {

  // put your setup code here, to run once:

  pinMode(RST, OUTPUT);

  digitalWrite(RST, 0);

  delay(20);

  digitalWrite(RST, 1);

 

  Serial.begin(115200);

 

  // timer Set = 최초 함번만하고 설정한 후 주석 처리후 다시 라이트 할 것

  // 시간 설정시에만 적용하시고 시간 설정 후에는 반드시 주석 처리 후 빌드하여 재 라이트 합니다.

  // 그렇지 않느면 계속 지속적으로 시간이 reset 또는 전원 인가시마다 시간이 다시 설정됩니다.

  // 요일설정 : 1: 일, 2: 월, 3: 화, 4: 수, 5: 목, 6: 금, 7: 토

  // 시간 설정순서 : 초, 분, 시, 요일, 일, 월, 년 순서로 설정하면 됩니다.

 

  // RTC.setDS1302Time(00, 29, 16, 6, 3, 1, 2025);

}

 

void loop() {

  // put your main code here, to run repeatedly:

  RTC.updateTime(); // 시간 업데이트

 

  Serial.print("Now Time : ");

  Serial.print(RTC.year); //년

  Serial.print("-");

 

  Serial.print(RTC.month); // 월

  Serial.print("-");

 

  Serial.print(RTC.dayofmonth); //일

  Serial.print("-");

 

  //요일정보, 1-일, 2-월, 3-화, 4-수, 5-목, 6-금, 7-토

  switch(RTC.dayofweek) // 요일정보얻기

   {

     case 1: Serial.print("Sun = 일요일"); break;

     case 2: Serial.print("Mon = 월요일"); break;

     case 3: Serial.print("TUE = 화요일"); break;

     case 4: Serial.print("WED = 수요일"); break;

     case 5: Serial.print("THU = 목요일"); break;

     case 6: Serial.print("FRI = 금요일"); break;

     case 7: Serial.print("SAT = 토요일"); break;

   }

  Serial.print("-");

  Serial.print(RTC.hours); // 시간

  Serial.print("-");

  Serial.print(RTC.minutes); //분

  Serial.print("-");

  Serial.print(RTC.seconds); //초

  Serial.println("입니다.");

  delay(1000);

}

 

 

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼