Sisällysluettelo:

DS1307 Reaaliaikainen kello RTC Arduinolla: 4 vaihetta
DS1307 Reaaliaikainen kello RTC Arduinolla: 4 vaihetta

Video: DS1307 Reaaliaikainen kello RTC Arduinolla: 4 vaihetta

Video: DS1307 Reaaliaikainen kello RTC Arduinolla: 4 vaihetta
Video: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, Marraskuu
Anonim
DS1307 Reaaliaikainen kello RTC Arduinolla
DS1307 Reaaliaikainen kello RTC Arduinolla

Tässä opetusohjelmassa opimme reaaliaikaisesta kellosta (RTC) ja siitä, miten Arduino ja reaaliaikainen kello IC DS1307 on koottu ajoituslaitteeksi.

Reaaliaikakelloa (RTC) käytetään ajan seurantaan ja kalenterin ylläpitoon. Jotta voimme käyttää RTC: tä, meidän on ensin ohjelmoitava se nykyisen päivämäärän ja kellonajan kanssa. Kun tämä on tehty, RTC -rekisterit voidaan lukea milloin tahansa tietääkseen kellonajan ja päivämäärän. DS1307 on RTC, joka toimii I2C -protokollalla. Tietoja eri rekistereistä voidaan lukea käyttämällä niiden osoitteita luettavaksi I2C -tiedonsiirron avulla.

Vaihe 1: Tarvitsemasi asiat

Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat

Näitä ohjeita varten tarvitset seuraavat asiat:

Arduino uno

Ds1307 rtc -moduuli

Hyppyjohdot

3.7v nappiparisto

Vaihe 2: Liitännät

Liitännät
Liitännät
Liitännät
Liitännät

Noudata liitteenä olevia skemaatioita kuvaosassa ja yhdistä kaikki skmaattien mukaan.

Vaihe 3: Koodausosa

Koodausosa
Koodausosa

Arduinon ohjelmointi syöttämään RTC nykyisen päivämäärän ja kellonajan kanssa; ja päivämäärän ja kellonajan lukeminen RTC: stä.

Tässä käytämme GitHubin Watterottin DS1307 -kirjastoa.

Lataa tämä kirjasto täältä.:

Pura kirjasto ja lisää DS1307 -niminen kansio Arduino IDE: n kirjastojen kansion polkuun.

Kun kirjasto on lisätty Arduino IDE: hen, avaa IDE ja avaa esimerkkiluonnos nimeltä Esimerkki lisätystä DS1307 -kirjastosta.

Varoituksen sana: Esimerkkiluonnoksen asetussilmukassa käytetään rtc.set () -toimintoa. Välitä nykyiset päivämäärä- ja aika -argumentit tämän toiminnon mukaisesti. Esimerkkiluonnoksessa tämä lausunto kommentoidaan. Poista kommentti ja lähetä luonnos. Kun luonnos on ladattu, poista kommentti uudelleen ja lähetä luonnos. Jos tätä ei tehdä, joka kerta, kun Arduino UNO -levy nollataan tai kytketään päälle virran katkaisun jälkeen, asettamasi päivämäärä ja kellonaika asetetaan uudestaan ja uudestaan, etkä voi lukea tarkkaa kellonaikaa ja päivämäärää.

/* Esimerkki DS1307 RTC (reaaliaikainen kello)

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

#sisältää "Wire.h"

#include "DS1307.h"

DS1307 rtc;

void setup () { /*init Sarjaportti* / Serial.begin (9600); while (! Sarja); /*odota sarjaportin yhdistämistä - tarvitaan vain Leonardolle*/

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

/*aseta päivämäärä+aika vain kerran*/ rtc.set (0, 0, 8, 24, 12, 2014); /*08: 00: 00 24.12.2014 // sek, min, tunti, päivä, kuukausi, vuosi*/

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

/*käynnistä RTC*/ rtc.start (); }

void loop () {uint8_t sek, min, tunti, päivä, kuukausi; uint16_t vuosi;

/*hae aikaa RTC: ltä*/ rtc.get (& sek, & min, & tunti, & päivä, & kuukausi ja vuosi);

/*sarjalähtö*/ Serial.print ("\ nAika:"); Sarjajälki (tunti, DEC); Serial.print (":"); Sarjanjälki (min, DEC); Serial.print (":"); Serial.print (sek, DEC);

Serial.print ("\ nPäivämäärä:"); Sarjajälki (päivä, DEC); Serial.print ("."); Sarjanjälki (kuukausi, DEC); Serial.print ("."); Sarjanjälki (vuosi, DEC);

/*odota sekunti*/ viive (1000); }

Kopioi yllä oleva koodi ja lataa se arduino -taulullesi

Vaihe 4: Ajan saaminen

Ajan saaminen
Ajan saaminen
Ajan saaminen
Ajan saaminen

Kun olet yhdistänyt kaiken yhteen ja ladannut koodin arduino -kortillesi, avaa sarjamonitori arduino ide -laitteessasi ja voit saada päivämäärän ja kellonajan sarjamonitoristani, kuten näet, että näen aikani ja aikani päivämäärä sarjamittarissani, katso demoulostulo yllä olevasta kuvan ulostulosta ja pidä hauskaa lisäämällä RTC -kello projektiin.

Suositeltava: