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); }