Arduino Uno에 DS1302 RTC 모듈을 연결하는 방법과 RTC에 현재 시간 설정 한 후,
다시 저장된 시간을 가져와 출력하는 방법을 설명합니다.
1. Arduino Uno와 DS1302 RTC 모듈 연결
2. 라이브러리 준비
3. 테스트에 사용한 코드
4. 참고
1. Arduino Uno와 DS1302 RTC 모듈 연결
Arduino Uno와 DS1302 RTC 모듈을 다음처럼 연결해줍니다.
Arduino Uno D2 → DS1302 RTC RST Arduino Uno D3 → DS1302 RTC DAT Arduino Uno D4 → DS1302 RTC CLK Arduino Uno D5 → DS1302 RTC GND Arduino Uno D6 → DS1302 RTC VCC |
암수 점퍼 케이블를 이용하면 편합니다.
2. 라이브러리 준비
아래 주소에서 DS1302RTC 라이브러리를 다운로드 받아 압축을 풀어서
http://playground.arduino.cc/uploads/Main/DS1302RTC.zip
압축을 풀어서 Arduino IDE 라이브러리 폴더에 복사해줍니다.
아래 주소에서 Time 라이브러리를 다운로드 받을 수 있습니다.
https://github.com/PaulStoffregen/Time
오른쪽에 보이는 초록색 버튼을 클릭하고
Download ZIP을 클릭하면 다운로드가 시작됩니다.
압축을 풀어서 Arduino IDE 라이브러리 폴더에 복사해줍니다.
Arduino IDE 메뉴의 파일 > 예제 > DS1302RTC > SetSerial에서 불러올 수 있는 예제를 수정해서 사용했습니다.
전체 코드는 포스팅 끝에 추가되어 있습니다.
오래 전에 맞추어 놓은게 아직 유효했는지 날짜가 정확합니다.
하지만 현재 시간이 맞지 않습니다.
1시간 반정도 오차가 나네요.
현재 시간을 입력해줍니다.
2017-06-06 01:02:00을 콤마를 구분기호로해서 다음처럼 입력합니다..
시간이 업데이트 되었습니다.
다시 시간을 정확하게 맞춘다음 아두이노 전원 공급을 차단하고 10분정도 기다려 봅니다.
DS1302 RTC 모듈에 전지가 들어있어 아두이노를 꺼두어도 동작합니다.
10분 정도 지난 후, Arduino Uno에 다시 전원을 공급하고 시리얼 모니터 결과와 컴퓨터의 시간을 비교해보았습니다.
DS1302 RTC 모듈이 전지로부터 전원공급받은지 10분정도 경과했는데도 시간이 정확합니다.
좀더 긴 시간을 두고 테스트해볼 필요가 있을 듯합니다.
3. 테스트에 사용한 코드
#include <DS1302RTC.h> |
4. 참고
http://playground.arduino.cc/Main/DS1302RTC
https://www.pjrc.com/teensy/td_libs_Time.html
'Arduino Uno' 카테고리의 다른 글
Arduino UNO에서 캐릭터 LCD 사용하는 방법 (0) | 2019.01.16 |
---|---|
Arduino에서 TFT LCD 사용하기 (0) | 2018.12.16 |
Ubuntu 16.04 /14.04에서 Arduino UNO 보드 사용하기 (1) | 2016.11.29 |
Arduino - 시리얼 통신으로 실수(double)를 전송하기 (0) | 2016.08.30 |
Arduino UNO를 브레드보드로 제작하기(DIY) (0) | 2016.08.27 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!