1. DS1302 RTC 모듈 실습
페이지 정보
작성자 관리자 댓글 0건 조회 3,077회 작성일 18-11-21 11:27본문
1. DS1302 RTC 모듈 실습
DS1302 RTC 모듈을 이용해 요일/날짜/시간을 사용해보자.
(1) 회로도 구성
DS1302 RTC 모듈은 VCC에 5V 전원을, GND에 아두이노 보드의 GND에, CLK를 아두이노 4핀, DAT을 아두이노 3핀, RST를 아두이노 2핀에 연결한다.
(2) RTC 모듈 라이브러리 설치
http://www.rinkydinkelectronics.com/library.php?id=5
압축을 풀어서 아두이노 라이브러리 폴더에 복사합니다.
아두이노 스케치를 다시 시작합니다.
아래 부분에 DS1302가 추가되었다.
(3) 소스코딩
#include <DS1302.h> // DS1302 RTC 라이브러리
DS1302 rtc(2,3,4); // RTC 객체(RST_PIN, IO_PIN, SCK_PIN)
void setup(){
//시간을 run-mode로 설정
rtc.halt(false);
// 쓰는 것을 방지하는 비활성화 역할
rtc.writeProtect(false);
Serial.begin(9600);
/* Set the time and date */
//처음 실행시 한번만 설정
rtc.setDOW(WEDNESDAY); // 요일 설정
rtc.setTime(11, 30, 0); // 시간설정, 순서대로 (시,분,초)
rtc.setDate(21,11,2018); // 날짜 설정, 순서대로 (일, 월, 년)
}
void loop(){
Serial.print(rtc.getDOWStr()); // 요일을 시리얼 모니터에 출력
Serial.print(rtc.getDateStr()); // 날짜를 시리얼 모니터에 출력
Serial.print(" -- ");
Serial.println(rtc.getTimeStr()); // 시간를 시리얼 모니터에 출력
delay(1000); // 1초 딜레이
}
Set the time and date 부분의 시간은 자신의 현재시간으로 수정해 주어야 한다.
Set the time and date 부분은 한 번 업로드 후 주석 처리 후 재업로드 해야한다.
요일/날짜/시간 설정 코드에는 현재 시각을 정확히 넣으면 되고, 넣은 코드는 RTC 모듈에 저장이 되므로 아두이노에 전원 공급이 않되어도 시간이 초기화 되지 않는다.
시간설정 후, 아래와 같이 수정후 다시 업로드 한다.
//시간을 run-mode로 설정
rtc.halt(true);
/* And disable write protection */
// 쓰는 것을 방지하는 비활성화 역할
rtc.writeProtect(true);
/* Set the time and date
//처음 실행시 한번만 설정
rtc.setDOW(WEDNESDAY); // 요일 설정
rtc.setTime(11, 30, 0); // 시간설정, 순서대로 (시,분,초)
rtc.setDate(21,11,2018); // 날짜 설정, 순서대로 (일, 월, 년)
*/
(4) 실행 결과
실행 후, 시리얼 모니터를 통해 결과를 확인한다.
댓글목록
등록된 댓글이 없습니다.