كاربردDS1307 محصول dallas محاسبه و نگهداري زمان واقعي real time clock ميباشد. اين ماژول ميتواند ساعت ، دقيقه ، ثانيه ، روز ، ماه ، سال و ايام هفته را نگهداري و پردازش كند. باطري ليتيومي اين ماژول امكان تغذيه و نگهداري زمان ds1307 را به مدت چندين سال فراهم ميكند. اين ماژول از طريق ارتباط 2 سيمه I2C به آردوينو متصل ميشود. بر روي اين ماژول علاوه بر RTC ، يك EEPROM سريال به شماره 24C32 با حافظه 32 كيلوبيت تعبيه شده كه از طريق رابط I2C مشترك ميتوان به آن دسترسي داشت. همچنين امكان نصب سنسور دماي ديجيتال DS18B20 نيز بر روي ماژول وجود دارد. در صورت نصب سنسور دما ، پين DS ، اين سنسور را به آردوينو متصل ميكند.
مشخصات:
رابط 2 سيمه I2C
نگهداري ساعت ، دقيقه ، ثانيه
نگهداري روز ، ماه ، سال
تصحيح تقويم بر اساس سالهاي كبيسه
محاسبه تقويم تا سال 2100 ميلادي
محاسبه خودكار ماههاي كمتر از 31 روز
56 بايت حافظه غير فرار در دسترس
جريان مصرفي باطري backup كمتر از 500nA
امكان دسترسي به EEPROM سريال .
امكان نصب سنسور دما.
كافي است تنها براي يك بار ساعت و تاريخ را بر روي ماژول SET كنيد. اين اطلاعات براي چندين سال و تا زماني كه باطري backup توان لازم جهت تامين نيروي مورد نياز ds1307 را داشته باشد ، در دسترس شما قرار دارد.
کد:/* # Example code for DS1307 RTC MODULE # Company : AftabRayaneh # Website : http://shop.aftabrayaneh.com # Editor : mohammad omidvar -max # Date : 14.10.2013 # Version : 1.0 */ #include <DS1307RTC.h> #include <Time.h> #include <Wire.h> const char *monthName[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; tmElements_t tm; void setup() { bool parse=false; bool config=false; // get the date and time the compiler was run if (getDate(__DATE__) && getTime(__TIME__)) { parse = true; // and configure the RTC with this info if (RTC.write(tm)) { config = true; } } Serial.begin(9600); while (!Serial) ; // wait for Arduino Serial Monitor delay(200); if (parse && config) { Serial.print("DS1307 configured Time="); Serial.print(__TIME__); Serial.print(", Date="); Serial.println(__DATE__); } else if (parse) { Serial.println("DS1307 Communication Error :-{"); Serial.println("Please check your circuitry"); } else { Serial.print("Could not parse info from the compiler, Time=\""); Serial.print(__TIME__); Serial.print("\", Date=\""); Serial.print(__DATE__); Serial.println("\""); } } void loop() { } bool getTime(const char *str) { int Hour, Min, Sec; if (sscanf(str, "%d:%d:%d", &Hour, &Min, &Sec) != 3) return false; tm.Hour = Hour; tm.Minute = Min; tm.Second = Sec; return true; } bool getDate(const char *str) { char Month[12]; int Day, Year; uint8_t monthIndex; if (sscanf(str, "%s %d %d", Month, &Day, &Year) != 3) return false; for (monthIndex = 0; monthIndex < 12; monthIndex++) { if (strcmp(Month, monthName[monthIndex]) == 0) break; } if (monthIndex >= 12) return false; tm.Day = Day; tm.Month = monthIndex + 1; tm.Year = CalendarYrToTm(Year); return true; }
براي دريافت اطلاعات ساعت و تاريخ از كد زير استفاده نماييد.
کد:/* # # Example code for DS1307 RTC MODULE # Company : AftabRayaneh # Website : http://shop.aftabrayaneh.com # Editor : mohammad omidvar -max # Date : 14.10.2013 # Version : 1.0 */ #include <DS1307RTC.h> #include <Time.h> #include <Wire.h> void setup() { Serial.begin(9600); while (!Serial) ; // wait for serial delay(200); Serial.println("DS1307RTC Read Test"); Serial.println("-------------------"); } void loop() { tmElements_t tm; if (RTC.read(tm)) { Serial.print("Ok, Time = "); print2digits(tm.Hour); Serial.write(':'); print2digits(tm.Minute); Serial.write(':'); print2digits(tm.Second); Serial.print(", Date (D/M/Y) = "); Serial.print(tm.Day); Serial.write('/'); Serial.print(tm.Month); Serial.write('/'); Serial.print(tmYearToCalendar(tm.Year)); Serial.println(); } else { if (RTC.chipPresent()) { Serial.println("The DS1307 is stopped. Please run the SetTime"); Serial.println("example to initialize the time and begin running."); Serial.println(); } else { Serial.println("DS1307 read error! Please check the circuitry."); Serial.println(); } delay(9000); } delay(1000); } void print2digits(int number) { if (number >= 0 && number < 10) { Serial.write('0'); } Serial.print(number); }
جهت سفارش این کالا، به این بخش در فروشگاه آفتاب رایانه مراجعه نمایید.