Turinys:

DS1307 realaus laiko laikrodis RTC su „Arduino“: 4 žingsniai
DS1307 realaus laiko laikrodis RTC su „Arduino“: 4 žingsniai

Video: DS1307 realaus laiko laikrodis RTC su „Arduino“: 4 žingsniai

Video: DS1307 realaus laiko laikrodis RTC su „Arduino“: 4 žingsniai
Video: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, Lapkritis
Anonim
DS1307 realaus laiko laikrodis RTC su „Arduino“
DS1307 realaus laiko laikrodis RTC su „Arduino“

Šioje pamokoje sužinosime apie realaus laiko laikrodį (RTC) ir tai, kaip „Arduino“ir realaus laiko laikrodžio IC DS1307 yra sujungti kaip laiko nustatymo įrenginys.

„Real Time Clock“(RTC) naudojamas laikui stebėti ir kalendoriui tvarkyti. Norėdami naudoti RTC, pirmiausia turime jį užprogramuoti pagal dabartinę datą ir laiką. Kai tai bus padaryta, RTC registrus galima perskaityti bet kuriuo metu, kad būtų galima sužinoti laiką ir datą. DS1307 yra RTC, veikiantis pagal I2C protokolą. Duomenis iš įvairių registrų galima perskaityti pasiekus jų adresus skaitymui naudojant „I2C“ryšį.

1 žingsnis: reikalingi dalykai

Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia

Šiems nurodymams reikia šių dalykų:

Arduino uno

Ds1307 rtc modulis

Jumperio laidai

3,7 V monetos elementas

2 žingsnis: jungtys

Sujungimai
Sujungimai
Sujungimai
Sujungimai

Prašome sekti pridedamas schmatikas paveikslėlių skyriuje ir viską sujungti pagal schmatikus.

3 žingsnis: kodavimo dalis

Kodavimo dalis
Kodavimo dalis

„Arduino“programavimas tiekti RTC su dabartine data ir laiku; ir skaityti datą ir laiką iš RTC.

Čia mes naudosime „Watterott“biblioteką „DS1307“iš „GitHub“.

Atsisiųskite šią biblioteką iš čia.:

Ištraukite biblioteką ir pridėkite aplanką pavadinimu DS1307 prie bibliotekų aplanko „Arduino IDE“kelio.

Kai biblioteka bus pridėta prie „Arduino IDE“, atidarykite IDE ir atidarykite pavyzdinę eskizą pavadinimu Pavyzdys iš pridėtos DS1307 bibliotekos.

Įspėjimas: pavyzdiniame eskizo sąrankos cikle naudojama funkcija rtc.set (). Perduokite dabartinius datos ir laiko argumentus, kaip minėta šioje funkcijoje. Eskizo pavyzdyje šis teiginys bus pakomentuotas. Pašalinkite komentarą ir įkelkite eskizą. Įkėlus eskizą, dar kartą pašalinkite komentarą ir įkelkite eskizą. Jei to nepadarysite, kiekvieną kartą, kai „Arduino UNO“plokštė iš naujo nustatoma arba įjungiama išjungus maitinimą, jūsų nustatyta data ir laikas bus nustatomi vėl ir vėl ir jūs negalėsite nuskaityti tikslaus dabartinio laiko ir datos.

/* DS1307 RTC (realiojo laiko laikrodis) pavyzdys

Uno A4 (SDA), A5 (SCL) Mega 20 (SDA), 21 (SCL) Leonardo 2 (SDA), 3 (SCL) */

#įtraukti „Wire.h“

#įtraukti „DS1307.h“

DS1307 rtc;

void setup () { /*init Serijinis prievadas* / Serial.begin (9600); while (! Serial); /*palaukite, kol serijinis prievadas prisijungs - reikalingas tik „Leonardo“*/

/*init RTC*/ Serial.println („Pradinis RTC…“);

/*tik vieną kartą nustatykite datą+laiką*/ rtc.set (0, 0, 8, 24, 12, 2014); /*08: 00: 00 2014 12 24 // sek., Min., Valanda, diena, mėnuo, metai*/

/*stop/pause RTC*/// rtc.stop ();

/*pradėti RTC*/ rtc.start (); }

void loop () {uint8_t sek., min., valanda, diena, mėnuo; uint16_t metai;

/*gauti laiko iš RTC*/ rtc.get (& sek, & min, & valanda, & diena, & mėnuo, metai);

/*serijinė išvestis*/ Serial.print ("\ nLaikas:"); Serijinis atspaudas (valanda, DEC); Serial.print (":"); Serijinis atspaudas (min., DEC); Serial.print (":"); Serial.print (sek., DEC);

Serial.print ("\ nData:"); Serijinis atspaudas (diena, DEC); Serijinis atspaudas ("."); Serijinis atspaudas (mėnuo, DEC); Serijinis atspaudas ("."); Serijinis atspaudas (metai, DEC);

/*palaukite sekundę*/ uždelsite (1000); }

Nukopijuokite aukščiau esantį kodą ir įkelkite jį į savo arduino lentą

4 žingsnis: Gaukite laiko

Laiko gavimas
Laiko gavimas
Laiko gavimas
Laiko gavimas

Sujungę viską ir įkėlę kodą į savo arduino plokštę, atidarykite serijinį monitorių savo arduino ide ir tada galėsite matyti datą ir laiką kaip mano savo serijiniame monitoriuje, kaip matote, aš galiu matyti savo laiką ir data mano serijiniame monitoriuje, norėdami pamatyti demonstracinę išvestį, žiūrėkite aukščiau pateiktą vaizdo išvestį ir smagiai pridėkite RTC laikrodį prie savo projekto.

Rekomenduojamas: