Satura rādītājs:

DS1307 reālā laika pulkstenis RTC ar Arduino: 4 soļi
DS1307 reālā laika pulkstenis RTC ar Arduino: 4 soļi

Video: DS1307 reālā laika pulkstenis RTC ar Arduino: 4 soļi

Video: DS1307 reālā laika pulkstenis RTC ar Arduino: 4 soļi
Video: 7 проектов. Сборка светодиодного ЖК-будильника с использованием DS1307 и Arduino | Урок 105 2024, Jūnijs
Anonim
DS1307 reālā laika pulkstenis RTC ar Arduino
DS1307 reālā laika pulkstenis RTC ar Arduino

Šajā apmācībā mēs uzzināsim par reālā laika pulksteni (RTC) un to, kā Arduino un reālā laika pulkstenis IC DS1307 ir salikti kopā kā laika ierīce.

Reālā laika pulksteni (RTC) izmanto, lai uzraudzītu laiku un uzturētu kalendāru. Lai izmantotu RTC, mums tas vispirms jāprogrammē ar pašreizējo datumu un laiku. Kad tas ir izdarīts, RTC reģistrus var lasīt jebkurā laikā, lai uzzinātu laiku un datumu. DS1307 ir RTC, kas darbojas pēc I2C protokola. Dažādu reģistru datus var nolasīt, piekļūstot to adresēm lasīšanai, izmantojot I2C sakarus.

1. darbība. Nepieciešamās lietas

Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas

Šīs instrukcijas ir nepieciešamas šādām lietām:

Arduino uno

Ds1307 rtc modulis

Jumper vadi

3.7v monētu šūna

2. darbība. Savienojumi

Savienojumi
Savienojumi
Savienojumi
Savienojumi

Lūdzu, ievērojiet pievienotos schmatics attēlu sadaļā un savienojiet visu saskaņā ar schmatics.

3. darbība: kodēšanas daļa

Kodēšanas daļa
Kodēšanas daļa

Arduino programmēšana, lai barotu RTC ar pašreizējo datumu un laiku; un nolasot datumu un laiku no RTC.

Šeit mēs izmantosim Watterott DS1307 bibliotēku no GitHub.

Lejupielādējiet šo bibliotēku no šejienes.:

Izvelciet bibliotēku un pievienojiet mapi ar nosaukumu DS1307 Arduino IDE bibliotēku mapes ceļam.

Kad bibliotēka ir pievienota Arduino IDE, atveriet IDE un atveriet piemēra skici ar nosaukumu Piemērs no pievienotās DS1307 bibliotēkas.

Uzmanības vārds: skices piemērā iestatīšanas cilpā tiek izmantota funkcija rtc.set (). Nododiet šai funkcijai minētos pašreizējā datuma un laika argumentus. Skices piemērā šis apgalvojums tiks komentēts. Noņemiet komentāru un augšupielādējiet skici. Kad skice ir augšupielādēta, noņemiet komentāru vēlreiz un augšupielādējiet skici. Ja tas netiek darīts, katru reizi, kad Arduino UNO plate tiek atiestatīta vai ieslēgta pēc izslēgšanas, jūsu iestatītais datums un laiks tiks iestatīts atkal un atkal, un jūs nevarēsit nolasīt precīzu pašreizējo laiku un datumu.

/* DS1307 RTC (reālā laika pulkstenis) piemērs

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

#ietver "Wire.h"

#include "DS1307.h"

DS1307 rtc;

void setup () { /*init Sērijas ports* / Serial.begin (9600); kamēr (! Seriāls); /*pagaidiet, līdz tiek izveidots seriālais ports - nepieciešams tikai Leonardo*/

/*init RTC*/ Serial.println ("Sākotnējā RTC …");

/*tikai vienu reizi iestatiet datumu+laiku*/ rtc.set (0, 0, 8, 24, 12, 2014); /*08: 00: 00 24.12.2014 // sek, min, stunda, diena, mēnesis, gads*/

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

/*start RTC*/ rtc.start (); }

void loop () {uint8_t sek, min, stunda, diena, mēnesis; uint16_t gads;

/*iegūt laiku no RTC*/ rtc.get (& sec, & min, & hour, & day, & month, & year);

/*sērijas izeja*/ Serial.print ("\ nLaiks:"); Sērijas nospiedums (stunda, DEC); Serial.print (":"); Sērijas nospiedums (min, DEC); Serial.print (":"); Sērijas nospiedums (sek, DEC);

Serial.print ("\ nDatums:"); Sērijas nospiedums (diena, DEC); Sērijas nospiedums ("."); Sērijas nospiedums (mēnesis, DEC); Sērijas nospiedums ("."); Sērijas nospiedums (gads, DEC);

/*pagaidiet sekundi*/ kavēšanās (1000); }

Kopējiet iepriekš minēto kodu un augšupielādējiet to savā arduino panelī

4. solis: laika iegūšana

Laika iegūšana
Laika iegūšana
Laika iegūšana
Laika iegūšana

Pēc visu savienošanas un koda augšupielādes arduino panelī atveriet arduino ide sērijas monitoru, un tad sērijveida monitorā varēsiet iegūt datumu un laiku kā manējo, kā redzat, ka varu redzēt savu laiku un datums manā seriālajā monitorā, lai demonstrētu demonstrāciju, lūdzu, skatiet iepriekš redzamo attēla izvadi un izklaidējieties, pievienojot savam projektam RTC pulksteni.

Ieteicams: