ዝርዝር ሁኔታ:

DS1307 የእውነተኛ ሰዓት ሰዓት RTC ከአርዱዲኖ ጋር 4 ደረጃዎች
DS1307 የእውነተኛ ሰዓት ሰዓት RTC ከአርዱዲኖ ጋር 4 ደረጃዎች

ቪዲዮ: DS1307 የእውነተኛ ሰዓት ሰዓት RTC ከአርዱዲኖ ጋር 4 ደረጃዎች

ቪዲዮ: DS1307 የእውነተኛ ሰዓት ሰዓት RTC ከአርዱዲኖ ጋር 4 ደረጃዎች
ቪዲዮ: Ардуино и часы реального времени (RTC) DS1307 2024, ህዳር
Anonim
DS1307 የእውነተኛ ሰዓት ሰዓት አርቲሲ ከአርዲኖ ጋር
DS1307 የእውነተኛ ሰዓት ሰዓት አርቲሲ ከአርዲኖ ጋር

በዚህ መማሪያ ውስጥ ስለ ሪል ሰዓት ሰዓት (RTC) እና አርዱዲኖ እና ሪል ታይም ሰዓት IC DS1307 እንደ የጊዜ መሣሪያ እንዴት በአንድ ላይ እንደተጣመሩ እንማራለን።

ሪል ታይም ሰዓት (RTC) ጊዜን ለመከታተል እና የቀን መቁጠሪያን ለማቆየት ጥቅም ላይ ይውላል። RTC ን ለመጠቀም በመጀመሪያ ከአሁኑ ቀን እና ሰዓት ጋር መርሃግብር ማድረግ አለብን። አንዴ ይህ ከተደረገ ፣ የ RTC መመዝገቢያ ጊዜውን እና ቀኑን ለማወቅ በማንኛውም ጊዜ ሊነበብ ይችላል። DS1307 በ I2C ፕሮቶኮል ላይ የሚሠራ RTC ነው። የ I2C ግንኙነትን በመጠቀም ለንባብ አድራሻዎቻቸውን በመድረስ ከተለያዩ መዝገቦች የተገኙ መረጃዎች ሊነበቡ ይችላሉ።

ደረጃ 1: የሚያስፈልጉዎት ነገሮች

የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች

ለዚህ አስተማሪዎች የሚከተሉትን ነገሮች ያስፈልጉዎታል-

አርዱinoኖ አንድ

Ds1307 rtc ሞዱል

ዝላይ ሽቦዎች

3.7v ሳንቲም ሴል

ደረጃ 2 - ግንኙነቶች

ግንኙነቶች
ግንኙነቶች
ግንኙነቶች
ግንኙነቶች

እባክዎ በምስሉ ክፍል ውስጥ የተያያዘውን ስክሜቲክስ ይከተሉ እና ሁሉንም ነገር ያገናኙ በ schmatics መሠረት።

ደረጃ 3: ኮድ መስጫ ክፍል

ኮድ መስጫ ክፍል
ኮድ መስጫ ክፍል

አርዲኖን በአሁኑ ቀን እና ሰዓት RTC ለመመገብ ፕሮግራሚንግ ማድረግ ፤ እና ከ RTC ቀን እና ሰዓት ማንበብ።

እዚህ ፣ DS1307 ቤተ -መጽሐፍት በ Watterott ከ GitHub እንጠቀማለን።

ይህንን ቤተ -መጽሐፍት ከዚህ ያውርዱ።:

ቤተ -መጽሐፍቱን ያውጡ እና DS1307 የተባለውን አቃፊ ወደ አርዱዲኖ አይዲኢ የቤተ -መጻህፍት አቃፊ መንገድ ያክሉ።

ቤተ -መጽሐፍቱ ወደ አርዱዲኖ አይዲኢ ከተጨመረ በኋላ አይዲኢውን ይክፈቱ እና ከ DS1307 ቤተ -መጽሐፍት ውስጥ ምሳሌ ተብሎ የተሰየመውን ምሳሌ ንድፍ ይክፈቱ።

የማስጠንቀቂያ ቃል - በምሳሌው ንድፍ ውስጥ ፣ በማዋቀሪያ ዑደት ውስጥ ፣ rtc.set () ተግባር ጥቅም ላይ ይውላል። ለዚህ ተግባር በተጠቀሰው መሠረት የአሁኑን ቀን እና የጊዜ ክርክሮች ይለፉ። በምሳሌው ንድፍ ውስጥ ይህ መግለጫ አስተያየት ይሰጣል። አይስማሙ እና ንድፉን ይስቀሉ። አንዴ ንድፉ ከተሰቀለ ፣ መግለጫውን እንደገና አይስማሙ እና ንድፉን ይስቀሉ። ይህ ካልተደረገ ፣ የአርዱዲኖ UNO ቦርድ እንደገና ከጀመረ በኋላ ወይም ኃይል ባበራ ቁጥር ያዋቀሩት ቀን እና ሰዓት በተደጋጋሚ ይዘጋጃል እና ትክክለኛውን የአሁኑን ሰዓት እና ቀን ማንበብ አይችሉም።

/* DS1307 RTC (ሪል-ታይም-ሰዓት) ምሳሌ

Uno A4 (SDA) ፣ A5 (SCL) Mega 20 (SDA) ፣ 21 (SCL) ሊዮናርዶ 2 (ኤስዲኤ) ፣ 3 (SCL) */

#"Wire.h" ን ያካትቱ

#DS1307.h ን ያካትቱ።

DS1307 rtc;

ባዶነት ማዋቀር () { /*init Serial port* / Serial.begin (9600); ሳለ (! ተከታታይ); /*ተከታታይ ወደብ እስኪገናኝ ይጠብቁ - ለሊዮናርዶ ብቻ ያስፈልጋል*/

/*init RTC*/ Serial.println ("Init RTC …");

/*ቀኑን+ጊዜን አንድ ጊዜ ብቻ ያዘጋጁ// rtc.set (0 ፣ 0 ፣ 8 ፣ 24 ፣ 12 ፣ 2014) ፤ /*08: 00: 00 24.12.2014 // ሰከንድ ፣ ደቂቃ ፣ ሰዓት ፣ ቀን ፣ ወር ፣ ዓመት*/

/*አቁም/ለአፍታ አቁም RTC*/// rtc.stop ();

/*ጀምር RTC*/ rtc.start (); }

ባዶነት loop () {uint8_t ሰከንድ ፣ ደቂቃ ፣ ሰዓት ፣ ቀን ፣ ወር ፤ uint16_t ዓመት;

/*ከ RTC*/ rtc.get (& ሰከንድ ፣ እና ደቂቃ ፣ እና ሰዓት ፣ እና ቀን ፣ እና ወር ፣ እና ዓመት) ጊዜ ያግኙ።

/*ተከታታይ ውጤት*/ Serial.print ("\ nTime:"); Serial.print (ሰዓት ፣ DEC); Serial.print (":"); Serial.print (ደቂቃ ፣ DEC); Serial.print (":"); Serial.print (ሰከንድ ፣ DEC);

Serial.print ("\ n ቀን:"); Serial.print (ቀን ፣ DEC); Serial.print ("."); Serial.print (ወር ፣ DEC); Serial.print ("."); Serial.print (ዓመት ፣ DEC);

/*ሰከንድ ይጠብቁ*/ መዘግየት (1000); }

ከላይ ያለውን ኮድ ይቅዱ እና ወደ አርዱዲኖ ቦርድዎ ይስቀሉት

ደረጃ 4 ፦ ጊዜ ማግኘት

ጊዜ ማግኘት
ጊዜ ማግኘት
ጊዜ ማግኘት
ጊዜ ማግኘት

ሁሉንም ነገር አንድ ላይ ካገናኙ በኋላ እና ኮዱን ወደ አርዱዲኖ ቦርድዎ ከሰቀሉ በኋላ በአርዲኖ ሀሳብዎ ውስጥ ተከታታይ መከታተያውን ይክፈቱ እና ከዚያ እርስዎ የእኔን ጊዜ እና ጊዜዬን ማየት እንደምችል በተከታታይ ማሳያዎ ውስጥ የእኔን ቀን እና ጊዜ እንደኔ ማግኘት ይችላሉ። በተከታታይ ማሳያዬ ውስጥ ቀን ፣ ለሙከራ ውፅዓት እባክዎን ከላይ ያለውን የምስል ውፅዓት ይመልከቱ እና የ RTC ሰዓት ወደ ፕሮጀክትዎ በማከል ይደሰቱ።

የሚመከር: