INHOUDSOPGAWE:

DS1307 Real -time klok RTC met Arduino: 4 stappe
DS1307 Real -time klok RTC met Arduino: 4 stappe

Video: DS1307 Real -time klok RTC met Arduino: 4 stappe

Video: DS1307 Real -time klok RTC met Arduino: 4 stappe
Video: DS1307 Arduino based Digital Clock in Proteus 2024, September
Anonim
DS1307 Real -time klok RTC met Arduino
DS1307 Real -time klok RTC met Arduino

In hierdie handleiding leer ons meer oor Real Time Clock (RTC) en hoe Arduino en Real Time Clock IC DS1307 saamgestel is as 'n tydsberekening.

Real Time Clock (RTC) word gebruik om tyd te monitor en 'n kalender te onderhou. Om 'n RTC te kan gebruik, moet ons dit eers met die huidige datum en tyd programmeer. Sodra dit gedoen is, kan die RTC -registers te eniger tyd gelees word om die tyd en datum te weet. DS1307 is 'n RTC wat werk op I2C -protokol. Data uit verskillende registers kan gelees word deur toegang tot hul adresse vir lees met behulp van I2C -kommunikasie.

Stap 1: Dinge wat u nodig het

Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het

Dit is die volgende dinge wat u nodig het vir hierdie instruksies:

Arduino uno

DS1307 RTK -module

Springdrade

3.7v muntsel

Stap 2: Verbindings

Verbindings
Verbindings
Verbindings
Verbindings

Volg die aangehegte skematika in die beeldafdeling en verbind alles volgens die skematika.

Stap 3: Koderingsdeel

Kodering Deel
Kodering Deel

Programmering van Arduino om RTC te voed met die huidige datum en tyd; en die lees van die datum en tyd van die RTC.

Hier gebruik ons die DS1307 -biblioteek deur Watterott van GitHub.

Laai hierdie biblioteek hier af.:

Pak die biblioteek uit en voeg die gids met die naam DS1307 by die pad van die biblioteekmap van Arduino IDE.

Sodra die biblioteek by die Arduino IDE gevoeg is, maak die IDE oop en maak die voorbeeldskets met die naam Voorbeeld uit die bygevoegde DS1307 -biblioteek oop.

Word of Caution: In die voorbeeldskets, in die opstellus, word die funksie rtc.set () gebruik. Slaag die huidige datum- en tydargumente soos genoem na hierdie funksie. In die voorbeeldskets sal hierdie stelling kommentaar lewer. Los dit op en laai die skets op. Sodra die skets opgelaai is, los die stelling weer uit en laai die skets op. As dit nie gedoen word nie, sal die datum en tyd wat u ingestel het, telkens herhaal word, en u kan nie die presiese huidige tyd en datum telkens as die Arduino UNO -bord herstel of aangeskakel word nadat dit uitgeskakel is nie.

/* DS1307 RTC (Real-Time-Clock) Voorbeeld

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

#sluit "Wire.h" in

#sluit "DS1307.h" in

DS1307 rtc;

ongeldige opstelling () { /*init Serial -poort* / Serial.begin (9600); terwyl (! Serial); /*wag totdat die seriële poort verbind is - slegs nodig vir Leonardo*/

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

/*stel slegs die datum+tyd een keer*/ rtc.set in (0, 0, 8, 24, 12, 2014); /*08: 00: 00 24.12.2014 // sek, min, uur, dag, maand, jaar*/

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

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

leemte -lus () {uint8_t sek, min, uur, dag, maand; uint16_t jaar;

/*kry tyd van RTC*/ rtc.get (& sek, & min, & uur, & dag, & maand, & jaar);

/*reeksuitset*/ Serial.print ("\ nTyd:"); Serial.print (uur, DEC); Serial.print (":"); Serial.print (min, DEC); Serial.print (":"); Serial.print (sek, DEC);

Serial.print ("\ nDatum:"); Serial.print (dag, DEC); Serial.print ("."); Serial.print (maand, DEC); Serial.print ("."); Serial.print (jaar, DEC);

/*wag 'n tweede*/ vertraging (1000); }

Kopieer bogenoemde kode en laai dit op na u arduino -bord

Stap 4: Kry tyd

Kry tyd
Kry tyd
Kry tyd
Kry tyd

Nadat u alles aanmekaar gekoppel het en die kode na u arduino -bord opgelaai het, maak u die seriële monitor in u arduino -idee oop, en dan kan u datum en tyd as myne in u seriële monitor kry, soos u kan sien, en ek kan my tyd sien & datum in my seriële monitor, verwys na die bogenoemde beelduitset vir demo -uitvoer en geniet dit om RTC -horlosies by u projek te voeg.

Aanbeveel: