Difference between revisions of "Arduino: RTC DS1302"
Jump to navigation
Jump to search
Onnowpurbo (talk | contribs) (→Code) |
Onnowpurbo (talk | contribs) (→Code) |
||
| Line 60: | Line 60: | ||
// DS1302 rtc([CE/RST], [I/O], [CLOCK]); | // DS1302 rtc([CE/RST], [I/O], [CLOCK]); | ||
DS1302 rtc(8, 7, 6); | DS1302 rtc(8, 7, 6); | ||
| + | Time waktu; | ||
void setup() { | void setup() { | ||
// Set the clock to run-mode, and disable the write protection | // Set the clock to run-mode, and disable the write protection | ||
rtc.halt(false); | rtc.halt(false); | ||
| − | rtc.writeProtect(false); | + | // rtc.writeProtect(false); |
| + | rtc.writeProtect(true); | ||
// Setup Serial connection | // Setup Serial connection | ||
| Line 70: | Line 72: | ||
// The following lines can be commented out to use the values already stored in the DS1302 | // The following lines can be commented out to use the values already stored in the DS1302 | ||
| − | rtc.setDOW(MONDAY); // Set Day-of-Week to MONDAY | + | // rtc.setDOW(MONDAY); // Set Day-of-Week to MONDAY |
| − | rtc.setTime(13, 0, 0); // Set the time to 12:00:00 (24hr format) | + | // rtc.setTime(13, 0, 0); // Set the time to 12:00:00 (24hr format) |
| − | rtc.setDate(29, 2, 2016); // Set the date to Feb 2, 2016 | + | // rtc.setDate(29, 2, 2016); // Set the date to Feb 2, 2016 |
} | } | ||
void loop() { | void loop() { | ||
| + | waktu = rtc.getTime(); | ||
| + | int dataJam = waktu.hour; | ||
| + | int dataMenit = waktu.min; | ||
| + | int dataDetik = waktu.sec; | ||
| + | |||
// Send Day-of-Week | // Send Day-of-Week | ||
Serial.print(rtc.getDOWStr()); | Serial.print(rtc.getDOWStr()); | ||
| Line 86: | Line 93: | ||
// Send time | // Send time | ||
Serial.println(rtc.getTimeStr()); | Serial.println(rtc.getTimeStr()); | ||
| − | + | ||
// Wait one second before repeating :) | // Wait one second before repeating :) | ||
delay (1000); | delay (1000); | ||
Revision as of 16:58, 30 May 2018
Sumber: http://domoticx.com/arduino-modules-rtc-tijdklok-ds1302/
Download Library
- http://domoticx.com/arduino-library-ds13xx-en-ds32xx-rtc-module/
- http://domoticx.phoenixinteractive.nl/arduino/libraries/ds13xx_ds32xx/DS1302%20v2.2.7z
- http://domoticx.phoenixinteractive.nl/arduino/libraries/ds13xx_ds32xx/DS1307%20v1.1.7z
- http://domoticx.phoenixinteractive.nl/arduino/libraries/ds13xx_ds32xx/DS3231%20v1.01.7z
- http://domoticx.phoenixinteractive.nl/arduino/libraries/ds13xx_ds32xx/DS3234%20v1.0.7z
Lakukan
cp *7z /usr/share/arduino/libraries/ cd /usr/share/arduino/libraries/ mkdir DS1302 mkdir DS1307 mkdir DS3231 mkdir DS3234
mv DS1302\ v2.2.7z DS1302/ cd DS1302 7z x DS1302\ v2.2.7z cd /usr/share/arduino/libraries/ mv DS1307* DS1307 cd DS1307 7z x DS1307\ v1.1.7z cd /usr/share/arduino/libraries/
mv DS3231* DS3231 cd DS3231 7z x DS3231\ v1.01.7z cd /usr/share/arduino/libraries/
mv DS3234* DS3234 cd DS3234 7z x DS3234\ v1.0.7z cd /usr/share/arduino/libraries/
Rangkaian
Pin
Arduino RTC +5v 01 - VCC1 (+5v) GND 02 - GND D6 03 - CLK (serial clock) D7 04 - DAT (data) D8 05 - RST (reset)
Code
#include <DS1302.h>
// Init the DS1302
// DS1302 rtc([CE/RST], [I/O], [CLOCK]);
DS1302 rtc(8, 7, 6);
Time waktu;
void setup() {
// Set the clock to run-mode, and disable the write protection
rtc.halt(false);
// rtc.writeProtect(false);
rtc.writeProtect(true);
// Setup Serial connection
Serial.begin(9600);
// The following lines can be commented out to use the values already stored in the DS1302
// rtc.setDOW(MONDAY); // Set Day-of-Week to MONDAY
// rtc.setTime(13, 0, 0); // Set the time to 12:00:00 (24hr format)
// rtc.setDate(29, 2, 2016); // Set the date to Feb 2, 2016
}
void loop() {
waktu = rtc.getTime();
int dataJam = waktu.hour;
int dataMenit = waktu.min;
int dataDetik = waktu.sec;
// Send Day-of-Week
Serial.print(rtc.getDOWStr());
Serial.print(" ");
// Send date
Serial.print(rtc.getDateStr());
Serial.print(" -- ");
// Send time
Serial.println(rtc.getTimeStr());
// Wait one second before repeating :)
delay (1000);
}