added arduino archive programs to /firmware/ref/archive-code/arduino
[athena:athena.git] / firmware / ref / archive-code / arduino / ds1307_rtc1 / ds1307_rtc1.pde
1 /*Reads the value from a Real Time Clock (RTC) DS1307 and displays it in the serial monitor
2  *
3  *Created by D. Sjunnesson 1scale1.com d.sjunnesson (at) 1scale1.com
4  *
5  *Created with combined information from 
6  *http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1180908809
7  *http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1191209057
8  *
9  *
10  *Big credit to  mattt (please contact me for a more correct name...) from the Arduino forum 
11  *which has written the main part of the library which I have modified
12  *
13  */
14
15 #include <WProgram.h>
16 #include <Wire.h>
17 #include <DS1307.h> // written by  mattt on the Arduino forum and modified by D. Sjunnesson
18
19 void setup()
20 {
21   Serial.begin(9600);
22
23   RTC.stop();
24   RTC.set(DS1307_SEC,1);        //set the seconds
25   RTC.set(DS1307_MIN,23);     //set the minutes
26   RTC.set(DS1307_HR,12);       //set the hours
27   RTC.set(DS1307_DOW,4);       //set the day of the week
28   RTC.set(DS1307_DATE,5);       //set the date
29   RTC.set(DS1307_MTH,3);        //set the month
30   RTC.set(DS1307_YR,9);         //set the year
31   RTC.start();
32
33   pinMode(11,OUTPUT);  
34   pinMode(12,OUTPUT);
35
36 }
37
38
39 // 0h68 ---->  unique id of RTC 
40 //cpp file gives more info
41 void loop()
42 {
43
44   Serial.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true
45   Serial.print(":");
46   Serial.print(RTC.get(DS1307_MIN,false));//read minutes without update (false)
47   Serial.print(":");
48   Serial.print(RTC.get(DS1307_SEC,false));//read seconds
49   Serial.print("      ");                 // some space for a more happy life
50   Serial.print(RTC.get(DS1307_DATE,false));//read date
51   Serial.print("/");
52   Serial.print(RTC.get(DS1307_MTH,false));//read month
53   Serial.print("/");
54   Serial.print(RTC.get(DS1307_YR,false)); //read year 
55   Serial.println();
56   
57   if(RTC.get(DS1307_SEC,false)%2==0)
58   {
59   digitalWrite(12,1);
60   digitalWrite(11,0);
61   }
62   
63   else
64   {
65   digitalWrite(11,1);
66   digitalWrite(12,0);
67 }
68
69   delay(1000);
70
71 }
72
73 \r