Kompletan vodič za DS1307 RTC modul

  • RTC DS1307 omogućuje vam točno snimanje vremena i datuma.
  • Uključuje napredne značajke kao što su korekcija prijestupne godine i rezervna baterija.
  • Jednostavna komunikacija s Arduinom putem I2C protokola.
  • Idealan je za bilježenje podataka i projekte automatizacije.

rtc ds1307

DS1307 sat stvarnog vremena jedna je od najčešće korištenih komponenti u elektroničkim i Arduino projektima za točno praćenje vremena. Ovaj uređaj omogućuje ne samo dobivanje točnog vremena, već i bilježenje datuma i dana u tjednu na jednostavan i pouzdan način. U ovom ćemo članku detaljno istražiti njegove značajke, prednosti i kako ga integrirati u svoje projekte, uključujući praktične primjere kako izvući maksimum iz njega.

U području elektronike, posebice u DIY projektima, postizanje točnosti mjerenja vremena može biti izazov. Mikrokontroleri poput Arduina imaju unutarnje brojače, ali oni imaju tendenciju zaostajanja ili povećanja tijekom vremena. Ovdje dolazi DS1307, sat/kalendar s naprednim značajkama za točno praćenje vremena do 2100. godine, čak i u prijestupnim godinama. Osim toga, ovaj modul može raditi na pomoćnoj bateriji, osiguravajući da ne izgubite podatke o vremenu kada se isključite iz glavnog napajanja.

Što je RTC DS1307?

DS1307 je integrirani krug sata stvarnog vremena koji je dizajnirao Maxim Integrated. Ovaj uređaj koristi I2C komunikacijsko sučelje, što olakšava integraciju s mikrokontrolerima kao što je Arduino. Osim mjerenja vremena u sekundama, minutama i satima, bilježi i datum s danima, mjesecima i godinama, uzimajući u obzir prijestupne godine.

Jedna od njegovih najistaknutijih značajki je njegova sposobnost rada na pomoćnoj bateriji CR2032, omogućujući satu da nastavi s radom čak i kada je glavno napajanje prekinuto. To ga čini idealnim rješenjem za ugrađeni sustavi, projekti zapisivanja podataka ili bilo koja aplikacija u kojoj je vremenska preciznost biti bitan.

Glavne funkcije DS1307

  • Mjerenje vremena: Bilježi sekunde, minute i sate u formatu od 12 ili 24 sata.
  • Cijeli kalendar: Prati dane, tjedne, mjesece i godine, uzimajući u obzir prijestupne godine.
  • Pohrana podataka: Uključuje 56 bajtova trajnog RAM-a (NVRAM) za korisničke podatke.
  • Rezervna baterija: Omogućuje vam praćenje vremena čak i bez glavnog napajanja godinama.

Prednosti DS1307 RTC modula

1. Niska potrošnja: Ovaj modul je vrlo učinkovit i može godinama raditi na jednoj CR2032 bateriji.

2. Jednostavno sučelje: Koristi I2C protokol, smanjujući broj pinova potrebnih za komunikaciju.

3. Poboljšana točnost: Iako nije tako točan kao njegova evolucija, DS3231, DS1307 još uvijek je pouzdaniji od interni brojači standardnog mikrokontrolera.

4. Kompletan i svestran: Uključuje značajke poput automatske prilagodbe za kratke mjesece i dodatne dane u prijestupnim godinama.

Alternative: DS3231

Dok je DS1307 popularan modul, DS3231 je njegova evolucija i ima nekoliko značajnih poboljšanja. Potonji ima a Veća preciznost zahvaljujući temperaturnoj kompenzaciji, koja smanjuje pomak na samo 2 ppm (dijelova na milijun), tj. grešku od samo jedne sekunde svakih 6 dana. Osim toga, DS3231 ima širi raspon radnog napona i slične ili čak niže cijene, zbog čega je često preferirana opcija za nove projekte.

Kako spojiti DS1307 na Arduino

ARDUINO s RTC-om

Integracija DS1307 s Arduinom prilično je jednostavna, budući da oba koriste I2C sučelje. Ovo su osnovni koraci:

  • hrana: Spojite pinove VCC i GND modula DS1307 na odgovarajuće pinove na vašem Arduinu.
  • I2C komunikacija: Spojite SDA i SCL pinove na modulu s odgovarajućim pinovima na vašem Arduinu. Na većini Arduino modela, SDA odgovara pinu A4, a SCL pinu A5.
  • Rezervna baterija: Umetnite bateriju CR2032 u modul kako biste bili sigurni da će pratiti vrijeme čak i bez glavnog napajanja.

Obavezno instalirajte biblioteku RTClib koju je razvio Adafruit iz upravitelja biblioteke Arduino IDE kako biste olakšali komunikaciju s modulom.

Uzorak koda: Osnovno postavljanje

Sljedeći kod pokazuje kako inicijalizirati DS1307 i postaviti trenutno vrijeme na temelju datuma izrade:

#uključi #include "RTClib.h" RTC_DS1307 rtc; void setup() { Serial.begin(9600); if (!rtc.begin()) { Serial.println("Ne mogu pronaći RTC modul"); dok (1); } if (!rtc.isrunning()) { Serial.println("Sat ne radi, datum i vrijeme izgradnje bit će postavljeni."); rtc.adjust(DatumVrijeme(F(__DATUM__), F(__TIME__))); } } void loop() { DateTime now = rtc.now(); Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(" "); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.println(); kašnjenje (1000); }

Primjene DS1307 modula

DS1307 idealan je za širok raspon vremenski osjetljivih projekata:

  • Registar podataka: U projektima kao što su dataloggeri, gdje je bilježenje mjerenja s točnom vremenskom oznakom bitno.
  • automatizacija: Planirana kontrola rasvjete, sustava za navodnjavanje ili uređaja.
  • Ugrađeni sustavi: Satovi i kalendari na samostalnim uređajima.

DS1307 je pouzdana i isplativa opcija za integraciju funkcionalnosti sata u stvarnom vremenu u vaše elektroničke projekte. Iako ga ograničenja u točnosti ostavljaju iza DS3231, ostaje popularan izbor zahvaljujući jednostavnost uporabe i dostupnost. Bilo da ste novi u svijetu Arduina ili ste iskusni entuzijast, ovaj modul može biti izvrstan izbor za poboljšanje funkcionalnosti vaših projekata.


Budite prvi koji će komentirati

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.