Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: DS1307 OLED160G1 mbed uOLED
Fork of Astromed by
Revision 4:d352ae75fe0b, committed 2012-11-23
- Comitter:
- Renato
- Date:
- Fri Nov 23 14:24:58 2012 +0000
- Parent:
- 3:603f315daf7b
- Commit message:
- Astromed with Temperature, Voltage & RTC via SMS
Changed in this revision
| DS1307.lib | Show annotated file Show diff for this revision Revisions of this file |
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DS1307.lib Fri Nov 23 14:24:58 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/harrypowers/code/DS1307/#c3e4da8feb10
--- a/main.cpp Tue Nov 06 10:19:38 2012 +0000
+++ b/main.cpp Fri Nov 23 14:24:58 2012 +0000
@@ -3,10 +3,10 @@
#include "DS18B20.h"
#include "OLED160G1.h"
#include "uOLED.h"
-
+#include "ds1307.h"
DigitalInOut sensor(p23); //DS18b20 connected on pin 23
-
+DS1307 my1307(p9,p10); // start DS1307 class and give it pins for connections of the DS1307 device
OLED160G1 oled(p28, p27, p8);
AnalogIn input(p20); //Voltage meter
@@ -24,23 +24,53 @@
unsigned char CtrlZ = 0x1A;
float volt=0;
+
+int sec = 0; // Values to set time with
+int min = 32;
+int hours = 13;
+int day = 6;
+int date = 23;
+int month = 11;
+int year = 12;
+int loop = 10; // Non zero value for the while loop
+
+ void test_rw(int test) {
+ if (test == 0) pc.printf("Last R/W operation passed!\n\r");
+ else pc.printf("Last R/W operation failed!\n\r");
+ }
+
+
int main() {
GSM.baud(9600);
GSM.format(8,Serial::None,1);
+test_rw(my1307.settime( sec, min, hours, day, date, month, year)); // Set the time on the DS1307
+
+
oled.init();
oled.eraseScreen();
oled.setTextBackgroundType(OLED_SET_TEXT_OPAQUE);
oled.setFontSize(0);
-
+ wait(.3);
sensor.mode(PullUp);
ROM_Code_t ROM_Code = ReadROM();
+ test_rw(my1307.gettime( &sec, &min, &hours, &day, &date, &month, &year)); // Read the time and display on screen
+ pc.printf("seconds read are %.2D \n\r",sec);
+ pc.printf("min read are %.2D \n\r",min);
+ pc.printf("hour read are %.2D \n\r",hours);
+ pc.printf("day read are %.2D \n\r",day);
+ pc.printf("date read are %.2D \n\r",date);
+ pc.printf("month read are %.2D \n\r",month);
+ pc.printf("year read are %.2D \n\r",year);
+
oled.locate(0,1);
+ oled.eraseScreen();
oled.printf("Temp Actual..\n");
+ pc.printf("Temp Actual..\n");
while (1) {
volt = input.read()*3.3;
@@ -48,21 +78,67 @@
oled.locate(2,3);
oled.setFontSize(2);
oled.printf("%.2f C",temp);
- wait(600);
+ wait(3600);
GSM.printf("AT+CMGF=1\r\n");
+pc.printf("AT+CMGF=1\r\n");
wait(1);
GSM.printf("AT+CMGS=937831063\r\n");
+pc.printf("AT+CMGS=937831063\r\n");
wait(1);
GSM.printf("%.2f C\r\n",temp);
GSM.printf("%.2f V\r\n", volt);
-GSM.printf("%c",CtrlZ);
+//GSM.printf("%c",CtrlZ);
+pc.printf("%.2f C\r\n",temp);
+pc.printf("%.2f V\r\n", volt);
-
-
+test_rw(my1307.gettime( &sec, &min, &hours, &day, &date, &month, &year));
+ oled.locate(0,1); // Print and refresh data on line 2 of the oled display
+ oled.setFontSize(0);
+ oled.printf("\r%.2D",hours);
+ GSM.printf("%.2D",hours);
+ oled.printf(":%.2D",min);
+ GSM.printf(":%.2D",min);
+ oled.printf(":%.2D\r\n",sec);
+ GSM.printf(":%.2D",sec);
+ oled.printf(" %.2D",date);
+ GSM.printf(" %.2D",date);
+ oled.printf("/%.2D",month);
+ GSM.printf("/%.2D",month);
+ oled.printf("/%.2D\r\n",year);
+ GSM.printf("/%.2D",year);
+ if (day == 1){
+ oled.printf(" Domingo \n");
+ GSM.printf(" Domingo \n");
+ }
+ if (day == 2){
+ oled.printf(" Segunda \n");
+ GSM.printf(" Segunda-Feira \n");
+ }
+ if (day == 3){
+ oled.printf(" Terca \n");
+ GSM.printf(" Terca-Feira \n");
+ }
+ if (day == 4){
+ oled.printf(" Quarta \n");
+ GSM.printf(" Quarta-Feira \n");
+ }
+ if (day == 5){
+ oled.printf(" Quinta \n");
+ GSM.printf(" Quinta-Feira \n");
+ }
+ if (day == 6){
+ oled.printf(" Sexta \n");
+ GSM.printf(" Sexta-Feira \n");
+ }
+ if (day == 7){
+ oled.printf(" Sabado \n");
+ GSM.printf(" Sabado \n");
+ }
+GSM.printf("%c",CtrlZ);
}
}
