Spisu treści:

DS1307 Zegar czasu rzeczywistego RTC z Arduino: 4 kroki
DS1307 Zegar czasu rzeczywistego RTC z Arduino: 4 kroki

Wideo: DS1307 Zegar czasu rzeczywistego RTC z Arduino: 4 kroki

Wideo: DS1307 Zegar czasu rzeczywistego RTC z Arduino: 4 kroki
Wideo: DS1307 Real Time Clock RTC, Arduino Nano and the Recycled DVD 7 Segment LED Display 2024, Wrzesień
Anonim
DS1307 Zegar czasu rzeczywistego RTC z Arduino
DS1307 Zegar czasu rzeczywistego RTC z Arduino

W tym samouczku dowiemy się o zegarze czasu rzeczywistego (RTC) oraz o tym, jak Arduino i układ scalony zegara czasu rzeczywistego DS1307 są połączone jako urządzenie do pomiaru czasu.

Zegar czasu rzeczywistego (RTC) służy do monitorowania czasu i utrzymywania kalendarza. Aby korzystać z zegara czasu rzeczywistego, należy go najpierw zaprogramować aktualną datą i godziną. Po wykonaniu tej czynności rejestry RTC można odczytać w dowolnym momencie, aby poznać godzinę i datę. DS1307 to RTC, który pracuje na protokole I2C. Dane z różnych rejestrów można odczytać poprzez dostęp do ich adresów do odczytu za pomocą komunikacji I2C.

Krok 1: Rzeczy, których potrzebujesz

Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz

Oto następujące rzeczy, których potrzebujesz do tej instrukcji:

Arduino

Moduł RTC Ds1307

Przewody połączeniowe

3,7 V ogniwo na monety

Krok 2: Połączenia

Znajomości
Znajomości
Znajomości
Znajomości

Proszę postępować zgodnie z załączonymi schmatics w sekcji image i połączyć wszystko Zgodnie ze schmatics.

Krok 3: Część kodowania

Część kodująca
Część kodująca

Programowanie Arduino do zasilania RTC bieżącą datą i godziną; oraz odczytanie daty i czasu z RTC.

Tutaj będziemy korzystać z biblioteki DS1307 autorstwa Watterotta z GitHub.

Pobierz tę bibliotekę stąd.:

Wyodrębnij bibliotekę i dodaj folder o nazwie DS1307 do ścieżki folderu bibliotek Arduino IDE.

Po dodaniu biblioteki do Arduino IDE otwórz IDE i otwórz przykładowy szkic o nazwie Przykład z dodanej biblioteki DS1307.

Uwaga: W przykładowym szkicu, w pętli konfiguracji, używana jest funkcja rtc.set(). Przekaż bieżące argumenty daty i godziny, jak wspomniano, do tej funkcji. W przykładowym szkicu to stwierdzenie zostanie skomentowane. Odkomentuj i prześlij szkic. Po przesłaniu szkicu ponownie odkomentuj oświadczenie i prześlij szkic. Jeśli nie zostanie to zrobione, za każdym razem, gdy płyta Arduino UNO zresetuje się lub zostanie włączona po wyłączeniu zasilania, ustawiona data i godzina będą ustawiane w kółko i nie będzie można odczytać dokładnego aktualnego czasu i daty.

/* DS1307 RTC (zegar czasu rzeczywistego) Przykład

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

#include "Drut.h"

#zawiera "DS1307.h"

DS1307 RTC;

void setup() { /*init Port szeregowy*/ Serial.begin(9600); while(!Serial); /*czekaj na połączenie portu szeregowego - potrzebne tylko dla Leonardo*/

/*Rozpocznij RTC*/ Serial.println("Rozpocznij RTC…");

/*ustaw datę+godzinę tylko raz*/ rtc.set(0, 0, 8, 24, 12, 2014); /*08:00:00 24.12.2014 //sek, min, godzina, dzień, miesiąc, rok*/

/*zatrzymaj/wstrzymaj RTC*/ // rtc.stop();

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

void loop() { uint8_t sek, min, godzina, dzień, miesiąc; uint16_t rok;

/*pobierz czas z RTC*/ rtc.get(&sec, &min, &godzina, &dzień, &miesiąc, &rok);

/*wyjście szeregowe*/ Serial.print("\nCzas: "); Serial.print(godzina, DEC); Serial.print(":"); Serial.print(min, DEC); Serial.print(":"); Serial.print(s, DEC);

Serial.print("\nData: "); Serial.print(dzień, grudzień); Serial.print("."); Serial.print(miesiąc, grudzień); Serial.print("."); Serial.print(rok, grudzień);

/*czekaj sekundę*/ delay(1000); }

Skopiuj powyższy kod i prześlij go na swoją tablicę arduino

Krok 4: Zdobywanie czasu

Zdobywanie czasu
Zdobywanie czasu
Zdobywanie czasu
Zdobywanie czasu

Po połączeniu wszystkiego i przesłaniu kodu na płytę arduino, otwórz monitor szeregowy w ide arduino, a następnie będziesz mógł uzyskać datę i godzinę jako moje na monitorze szeregowym, jak widzisz, mogę zobaczyć mój czas i data w moim monitorze szeregowym, aby uzyskać wyjście demonstracyjne, zapoznaj się z powyższym obrazem i baw się dobrze, dodając zegar RTC do swojego projektu.

Zalecana: