Sadržaj:

DS1307 Sat u realnom vremenu RTC sa Arduinom: 4 koraka
DS1307 Sat u realnom vremenu RTC sa Arduinom: 4 koraka

Video: DS1307 Sat u realnom vremenu RTC sa Arduinom: 4 koraka

Video: DS1307 Sat u realnom vremenu RTC sa Arduinom: 4 koraka
Video: Lesson 99: Building Arduino Digital Clock using DS3231 LCD and Seven Segment Display 2024, Jun
Anonim
DS1307 Sat u realnom vremenu RTC sa Arduinom
DS1307 Sat u realnom vremenu RTC sa Arduinom

U ovom vodiču ćemo naučiti o satu realnog vremena (RTC) i kako su Arduino i sat za realno vrijeme IC DS1307 sastavljeni kao vremenski uređaj.

Sat u realnom vremenu (RTC) koristi se za praćenje vremena i održavanje kalendara. Da bismo koristili RTC, moramo ga prvo programirati s trenutnim datumom i vremenom. Kada se to učini, RTC registri mogu se čitati u bilo koje vrijeme kako bi se znalo vrijeme i datum. DS1307 je RTC koji radi na I2C protokolu. Podaci iz različitih registara mogu se čitati pristupom njihovim adresama za čitanje pomoću I2C komunikacije.

Korak 1: Stvari koje trebate

Stvari koje trebate
Stvari koje trebate
Stvari koje trebate
Stvari koje trebate
Stvari koje trebate
Stvari koje trebate

Ovo su sljedeće stvari koje su vam potrebne za ove instrukcije:

Arduino uno

Ds1307 RTC modul

Žice za kratkospojnike

3.7v novčanica

Korak 2: Veze

Connections
Connections
Connections
Connections

Molimo vas da slijedite priložene sheme u odjeljku slika i sve povežete prema shemi.

Korak 3: Kodiranje dijela

Kodiranje
Kodiranje

Programiranje Arduina za napajanje RTC -a s trenutnim datumom i vremenom; i čitanje datuma i vremena sa RTC -a.

Ovdje ćemo koristiti biblioteku DS1307 Watterotta sa GitHub -a.

Preuzmite ovu biblioteku odavde.:

Raspakujte biblioteku i dodajte fasciklu pod imenom DS1307 u putanju do fascikle biblioteka u Arduino IDE -u.

Nakon što je biblioteka dodana u Arduino IDE, otvorite IDE i otvorite primjer skice pod nazivom Primjer iz dodane biblioteke DS1307.

Riječ upozorenja: U primjeru skice, u petlji za postavljanje, koristi se funkcija rtc.set (). Ovoj funkciji proslijedite argumente trenutnog datuma i vremena kako je spomenuto. U primjeru skice, ova izjava će biti komentirana. Raskomentirajte ga i postavite skicu. Kada se skica učita, ponovo dekomentirajte izjavu i otpremite skicu. Ako to ne učinite, svaki put kada se Arduino UNO ploča resetira ili uključi nakon isključivanja, datum i vrijeme koje ste postavili bit će postavljeni uvijek iznova i nećete moći pročitati točno vrijeme i datum.

/* Primjer DS1307 RTC (sat u stvarnom vremenu)

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

#include "Wire.h"

#include "DS1307.h"

DS1307 rtc;

void setup () { /*init Serijski port* / Serial.begin (9600); while (! Serijski); /*sačekajte da se serijski port poveže - potrebno samo za Leonarda*/

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

/*samo jednom postavite datum+vreme*/ rtc.set (0, 0, 8, 24, 12, 2014); /*08: 00: 00 24.12.2014 // sek, min, sat, dan, mjesec, godina*/

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

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

void loop () {uint8_t sec, min, sat, dan, mjesec; uint16_t godina;

/*dobijte vrijeme iz RTC -a*/ rtc.get (& sec, & min, & hour, & day, & month, & year);

/*serijski izlaz*/ Serial.print ("\ nTime:"); Serial.print (sat, DEC); Serial.print (":"); Serial.print (min, DEC); Serial.print (":"); Serial.print (sec, DEC);

Serial.print ("\ nDatum:"); Serial.print (dan, DEC); Serial.print ("."); Serial.print (mjesec, DEC); Serial.print ("."); Serial.print (godina, DEC);

/*pričekajte sekundu*/ odgoda (1000); }

Kopirajte gornji kôd i postavite ga na svoju arduino ploču

Korak 4: Dobijte vrijeme

Getting Time
Getting Time
Getting Time
Getting Time

Nakon što sve povežete i otpremite kôd na svoju arduino ploču, otvorite serijski monitor u svom arduino ideju i tada ćete na svom serijskom monitoru moći vidjeti datum i vrijeme kao što vidite, a ja vidim svoje vrijeme i vrijeme datum na mom serijskom monitoru, za demo izlaz molimo pogledajte gornji izlaz slike i zabavite se dodajući RTC sat svom projektu.

Preporučuje se: