Obsah:

Hodiny reálného času DS1307 RTC s Arduino: 4 kroky
Hodiny reálného času DS1307 RTC s Arduino: 4 kroky

Video: Hodiny reálného času DS1307 RTC s Arduino: 4 kroky

Video: Hodiny reálného času DS1307 RTC s Arduino: 4 kroky
Video: Arduino clock, based on ArduinoMini Pro and d1307 RTC. LED driver is TM1637. 2024, Listopad
Anonim
Hodiny reálného času DS1307 RTC s Arduino
Hodiny reálného času DS1307 RTC s Arduino

V tomto tutoriálu se seznámíme s hodinami v reálném čase (RTC) a s tím, jak jsou Arduino a hodiny v reálném čase IC DS1307 sestaveny jako časovací zařízení.

Hodiny reálného času (RTC) slouží k monitorování času a údržbě kalendáře. Abychom mohli používat RTC, musíme ho nejprve naprogramovat s aktuálním datem a časem. Jakmile je toto provedeno, registry RTC lze kdykoli přečíst, abyste věděli čas a datum. DS1307 je RTC, který pracuje na protokolu I2C. Data z různých registrů lze číst přístupem k jejich adresám pro čtení pomocí komunikace I2C.

Krok 1: Věci, které potřebujete

Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete

Toto jsou následující věci, které potřebujete pro tento návod:

Arduino uno

Modul DS1307 RTC

Propojovací vodiče

3.7v knoflíková buňka

Krok 2: Připojení

Připojení
Připojení
Připojení
Připojení

Postupujte podle přiložených schémat v sekci obrázku a připojte vše podle schémat.

Krok 3: Část kódování

Kódovací část
Kódovací část

Programování Arduina pro podávání RTC s aktuálním datem a časem; a čtení data a času z RTC.

Zde budeme používat knihovnu DS1307 od Watterott z GitHub.

Stáhněte si tuto knihovnu odtud.:

Extrahujte knihovnu a přidejte složku s názvem DS1307 do cesty ke složce knihoven Arduino IDE.

Jakmile byla knihovna přidána do IDE Arduino, otevřete IDE a otevřete ukázkový náčrtek pojmenovaný Příklad z přidané knihovny DS1307.

Slovo upozornění: V ukázkovém náčrtu je v instalační smyčce použita funkce rtc.set (). Předejte aktuální argumenty data a času, jak je uvedeno u této funkce. V ukázkové skice bude toto tvrzení komentováno. Odkomentujte to a nahrajte skicu. Jakmile je skica nahrána, odkomentujte prohlášení znovu a nahrajte skicu. Pokud to neuděláte, pokaždé, když se deska Arduino UNO resetuje nebo se zapne po vypnutí, nastaví se datum a čas, které jste nastavili, znovu a znovu a nebudete moci přečíst přesný aktuální čas a datum.

/* Příklad DS1307 RTC (hodiny v reálném čase)

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

#include "Wire.h"

#include "DS1307.h"

DS1307 rtc;

neplatné nastavení () { /*init Sériový port* / Serial.begin (9600); while (! Serial); /*počkejte, až se připojí sériový port - pouze pro Leonardo*/

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

/*nastavit datum+čas pouze jednou*/ rtc.set (0, 0, 8, 24, 12, 2014); /*08: 00: 00 24. 12. 2014 // s, min, hodina, den, měsíc, rok*/

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

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

void loop () {uint8_t s, min, hodina, den, měsíc; uint16_t rok;

/*získat čas z RTC*/ rtc.get (& sec, & min, & hodina, & den, & měsíc, & rok);

/*sériový výstup*/ Serial.print ("\ nČas:"); Serial.print (hodina, DEC); Serial.print (":"); Sériový tisk (min., DEC); Serial.print (":"); Serial.print (sec, DEC);

Serial.print ("\ nDatum:"); Serial.print (den, DEC); Serial.print ("."); Serial.print (měsíc, DEC); Serial.print ("."); Serial.print (rok, DEC);

/*počkejte sekundu*/ zpoždění (1000); }

Zkopírujte výše uvedený kód a nahrajte jej na svůj Arduino Board

Krok 4: Získání času

Získání času
Získání času
Získání času
Získání času

Po propojení všeho dohromady a nahrání kódu na vaši desku arduino otevřete sériový monitor ve vašem arduino ideu a pak budete moci na svém sériovém monitoru získat datum a čas jako já, jak vidíte, jsem schopen vidět svůj čas a datum na mém sériovém monitoru, pro ukázkový výstup si prosím prohlédněte výše uvedený obrazový výstup a pobavte se přidáním hodin RTC do svého projektu.

Doporučuje: