Obsah:

Hodiny DS1307 v reálnom čase RTC s Arduino: 4 kroky
Hodiny DS1307 v reálnom čase RTC s Arduino: 4 kroky

Video: Hodiny DS1307 v reálnom čase RTC s Arduino: 4 kroky

Video: Hodiny DS1307 v reálnom čase RTC s Arduino: 4 kroky
Video: FLProg7: часы реального времени и температура | ESP32 NodeMCU | Визуальное программирование для 2024, Septembra
Anonim
Hodiny DS1307 v reálnom čase RTC s Arduino
Hodiny DS1307 v reálnom čase RTC s Arduino

V tomto návode sa dozvieme o hodinách v reálnom čase (RTC) a o tom, ako sú Arduino a hodiny v reálnom čase IC DS1307 zostavené ako časovacie zariadenie.

Hodiny v reálnom čase (RTC) sa používajú na monitorovanie času a údržbu kalendára. Aby sme mohli používať RTC, musíme ho najskôr naprogramovať s aktuálnym dátumom a časom. Akonáhle je to hotové, registre RTC je možné kedykoľvek prečítať, aby ste poznali čas a dátum. DS1307 je RTC, ktorý pracuje na protokole I2C. Údaje z rôznych registrov je možné čítať pomocou prístupu na ich adresy na čítanie pomocou komunikácie I2C.

Krok 1: Veci, ktoré potrebujete

Veci, ktoré potrebujete
Veci, ktoré potrebujete
Veci, ktoré potrebujete
Veci, ktoré potrebujete
Veci, ktoré potrebujete
Veci, ktoré potrebujete

Nasledujú tieto veci, ktoré potrebujete pre tento návod:

Arduino uno

Modul DS1307 RTC

Prepojovacie vodiče

3,7v mincová bunka

Krok 2: Pripojenia

Pripojenia
Pripojenia
Pripojenia
Pripojenia

Postupujte podľa priložených schematík v časti s obrázkami a všetko prepojte podľa schémy.

Krok 3: Časť kódovania

Kódovacia časť
Kódovacia časť

Programovanie Arduina tak, aby napájalo RTC s aktuálnym dátumom a časom; a prečítanie dátumu a času z RTC.

Tu budeme používať knižnicu DS1307 od Watterotta z GitHub.

Stiahnite si túto knižnicu odtiaľto.:

Rozbaľte knižnicu a pridajte priečinok s názvom DS1307 do cesty k priečinku s knižnicami Arduino IDE.

Po pridaní knižnice do Arduino IDE otvorte IDE a otvorte ukážkový náčrt s názvom Príklad z pridanej knižnice DS1307.

Upozornenie: V ukážkovom náčrte je v slučke nastavenia použitá funkcia rtc.set (). Odošlite argumenty aktuálneho dátumu a času, ako je uvedené pre túto funkciu. V príklade náčrtu bude toto tvrdenie komentované. Odkomentujte to a nahrajte skicu. Po nahraní náčrtu znova odkomentujte vyhlásenie a nahrajte náčrt. Ak sa tak nestane, zakaždým, keď sa doska Arduino UNO resetuje alebo sa zapne po vypnutí, nastavený dátum a čas sa bude nastavovať znova a znova a nebudete môcť prečítať presný aktuálny čas a dátum.

/* Príklad DS1307 RTC (hodiny v reálnom č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é nastavenie () { /*init Sériový port* / Serial.begin (9600); while (! Serial); /*počkajte na pripojenie sériového portu - potrebné iba pre Leonarda*/

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

/*nastavte dátum a čas iba raz*/ rtc.set (0, 0, 8, 24, 12, 2014); /*08: 00: 00 24.12.2014 // s, min, hodina, deň, mesiac, rok*/

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

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

void loop () {uint8_t s, min, hodina, deň, mesiac; uint16_t rok;

/*získať čas z RTC*/ rtc.get (& sec, & min, & hodina, & deň, & mesiac, & rok);

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

Serial.print ("\ nDatum:"); Serial.print (deň, DEC); Serial.print ("."); Serial.print (mesiac, DEC); Serial.print ("."); Serial.print (rok, DEC);

/*počkajte chvíľu*/ oneskorenie (1000); }

Skopírujte vyššie uvedený kód a nahrajte ho na arduino board

Krok 4: Získanie času

Získanie času
Získanie času
Získanie času
Získanie času

Po prepojení všetkého a nahraní kódu na dosku arduino otvorte sériový monitor vo svojom arduino ide a potom budete môcť vo svojom sériovom monitore získať dátum a čas ako ja, ako vidíte, môžem vidieť svoj čas a dátum na mojom sériovom monitore, pre ukážkový výstup si pozrite vyššie uvedený obrazový výstup a zabavte sa pridaním hodín RTC do svojho projektu.

Odporúča: