Innholdsfortegnelse:

DS1307 sanntidsklokke RTC med Arduino: 4 trinn
DS1307 sanntidsklokke RTC med Arduino: 4 trinn

Video: DS1307 sanntidsklokke RTC med Arduino: 4 trinn

Video: DS1307 sanntidsklokke RTC med Arduino: 4 trinn
Video: DS1307 Real Time Clock RTC, Arduino Nano and the Recycled DVD 7 Segment LED Display 2024, Juni
Anonim
DS1307 sanntidsklokke RTC med Arduino
DS1307 sanntidsklokke RTC med Arduino

I denne opplæringen lærer vi om sanntidsklokke (RTC) og hvordan Arduino og sanntidsklokke IC DS1307 er satt sammen som en tidsenhet.

Real Time Clock (RTC) brukes til å overvåke tid og vedlikeholde en kalender. For å bruke en RTC må vi først programmere den med gjeldende dato og klokkeslett. Når dette er gjort, kan RTC -registerene leses når som helst for å vite tid og dato. DS1307 er en RTC som fungerer på I2C -protokollen. Data fra forskjellige registre kan leses ved å få tilgang til adressene deres for lesing ved hjelp av I2C -kommunikasjon.

Trinn 1: Ting du trenger

Ting du trenger
Ting du trenger
Ting du trenger
Ting du trenger
Ting du trenger
Ting du trenger

Dette er følgende ting du trenger for denne instruksen:

Arduino uno

DS1307 rtc -modul

Jumper ledninger

3,7v myntcelle

Trinn 2: Tilkoblinger

Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger

Følg vedlagte schmatikk i bildedelen og koble til alt i henhold til schmatics.

Trinn 3: Kodingsdel

Kodingsdel
Kodingsdel

Programmering av Arduino til å mate RTC med gjeldende dato og klokkeslett; og lese dato og klokkeslett fra RTC.

Her bruker vi DS1307 bibliotek av Watterott fra GitHub.

Last ned dette biblioteket herfra.:

Pakk ut biblioteket og legg til mappen DS1307 i bibliotekets mappebane til Arduino IDE.

Når biblioteket er lagt til i Arduino IDE, åpner du IDE og åpner eksempelskissen som heter Eksempel fra DS1307 -biblioteket som er lagt til.

Word Of Caution: I eksempelskissen, i oppsettsløyfen, brukes rtc.set () -funksjonen. Passér gjeldende dato og klokkeslett -argumenter som nevnt til denne funksjonen. I eksempelskissen vil denne uttalelsen bli kommentert. Ikke kommenter det og last opp skissen. Når skissen er lastet opp, må du kommentere utsagnet igjen og laste opp skissen. Hvis dette ikke er gjort, hver gang Arduino UNO -kortet tilbakestilles eller slås på etter at strømmen er slått av, vil datoen og klokkeslettet du angir bli angitt om og om igjen, og du vil ikke kunne lese nøyaktig gjeldende klokkeslett og dato.

/* DS1307 RTC (sanntidsklokke) Eksempel

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

#inkludere "Wire.h"

#inkludere "DS1307.h"

DS1307 rtc;

ugyldig oppsett () { /*init Seriell port* / Serial.begin (9600); mens (! Seriell); /*vent på at seriell port kobles til - bare nødvendig for Leonardo*/

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

/*bare angi dato+tid én gang*/ rtc.set (0, 0, 8, 24, 12, 2014); /*08: 00: 00 24.12.2014 // sek, min, time, dag, måned, år*/

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

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

void loop () {uint8_t sek, min, time, dag, måned; uint16_t år;

/*få tid fra RTC*/ rtc.get (& sek, & min, & time, & dag, & måned, & år);

/*seriell utgang*/ Serial.print ("\ nTid:"); Serial.print (time, DEC); Serial.print (":"); Serial.print (min, DEC); Serial.print (":"); Serial.print (sek, DEC);

Serial.print ("\ nDato:"); Serial.print (dag, DEC); Serial.print ("."); Serial.print (måned, DEC); Serial.print ("."); Serial.print (år, DEC);

/*vent et sekund*/ forsinkelse (1000); }

Kopier koden ovenfor og last den opp til arduino -kortet

Trinn 4: Få tid

Få tid
Få tid
Få tid
Få tid

Etter å ha koblet alt sammen og lastet opp koden til arduino -kortet, åpner du den serielle skjermen i arduino -ideen din, og så kan du få dato og klokkeslett som min i din serielle skjerm som du kan se, jeg kan se min tid og dato i min serielle skjerm, for demoutgang, vennligst se bildet ovenfor og ha det gøy med å legge til RTC -klokke i prosjektet ditt.

Anbefalt: