안녕하세요.
대학교 건강검진 받고와서 이제 주문한 택배를 받았습니다.
(드디어 개발을 이어갈 수 있어!!)
오늘은 메인인 RTC(real time clock)를 두 제품을 주문했습니다.
이 모델명은 다르지면 기본 제품은 DS1302으로 같습니다.
2개의 RTC!!
이 두 제품입니다.
위의 제품은 확장핀 납땜을 본인이 해주셔야 되고, 코인건전지를 따로 사셔야 됩니다.
밑의 제품은 확장핀 납땜이 되어있는 상태이고, 코인전지가 장착되어 옵니다.
그 중 저는 밑 제품의 RTC를 사용할 것입니다.
사진의 초점이 흔들렸네요.
이렇게 연결합니다.
RST -> 7
DAT -> 6
CLK -> 5
이렇게 핀을 꼽았습니다.
전원은 3.3V로 연결하셔야 됩니다.
이 다음 프로그래밍 코딩을 해야되는데
코딩하기에 앞써
http://www.rinkydinkelectronics.com/library.php?id=5 <- 들어가셔서 라이브러리를 받아주세요.
이번 코딩에서는 DS1302.h라는 헤더파일을 사용하게 됩니다.
스케치에는 기본적으로 DS1302.h라는 헤더파일이 없으므로 라이브러리를 받아서 적용해야 됩니다.
(DS1302 라이브러리는 여러개가 존재합니다)
라이브러리 적용방법 <- 링크
라이브러리를 적용하였으면
예제로 소스를 여실 수 있습니다.
파일->예제->DS1302->DS1302_Serial_Hard 를 열어주세요.
또는 아래의 소스를 복붙하셔도 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include <DS1302.h> DS1302 rtc(7, 6, 5); //CE pin, I/O pin, SCLK pin Time t; void setup() { //RTC 동작설정 rtc.halt(false); rtc.writeProtect(false); Serial.begin(9600); rtc.setDOW(WEDNESDAY); // Set Day-of-Week to WEDNESDAY rtc.setTime(21, 54, 0); // Set the time to 21:45:00 (24hr format) rtc.setDate(20, 1, 2016); // Set the date to January 20th, 2016 } void loop() { t = rtc.getTime(); //RTC에 저장된 시간을 들고옴 Serial.print(t.date, DEC); Serial.print("."); Serial.print(rtc.getMonthStr()); Serial.print("."); Serial.print(t.year, DEC); Serial.println("."); Serial.print(t.dow, DEC); Serial.println(". week "); Serial.print(t.hour, DEC); Serial.print(" : "); Serial.print(t.min, DEC); Serial.print(" : "); Serial.println(t.sec, DEC); delay (1000); } |
여기서 DS1302 rtc(7, 6, 5); 이 부분을 제대로 확인해 주세요~~~
그리고 포팅하면 끝입니다.
소스코드를 복사하신 분들은 저처럼 나올겁니다.
만약 시간이 이상하게 나오시는 분들이 있을 수도 있습니다.
바로 아래화면 처럼이죠.
이 방법의 경우에는 좀 위험한 방법입니다.
처음 VCC를 연결할 때 3.3V로 연결했습니다. 이 연결을 5V로 바꾸어주세요.
그리고 포팅 후 1~3초 있다가 그대로 전원을 3.3V로 연결 해주시면 시간을 제대로 나오는걸 볼 수 있습니다.
작동 영상
이것으로 이번 포스팅을 마치도록 하겠습니다.
p.s) 오타지적 좀 해주세요~
p.s2) 잘못된 정보가 있으면 알려주세요~
'Arduino > Project : 알림등' 카테고리의 다른 글
시간에 따른 알림등 만들기 - 3 (0) | 2016.01.23 |
---|---|
시간에 따른 알림등 만들기 - 1 (0) | 2016.01.08 |