Inhoudsopgave:

DS1307 Realtimeklok RTC met Arduino - Ajarnpa
DS1307 Realtimeklok RTC met Arduino - Ajarnpa

Video: DS1307 Realtimeklok RTC met Arduino - Ajarnpa

Video: DS1307 Realtimeklok RTC met Arduino - Ajarnpa
Video: DS1307 Real Time Clock RTC, Arduino Nano and the Recycled DVD 7 Segment LED Display 2024, Juni-
Anonim
DS1307 Realtime klok RTC met Arduino
DS1307 Realtime klok RTC met Arduino

In deze zelfstudie leren we over Real Time Clock (RTC) en hoe Arduino & Real Time Clock IC DS1307 in elkaar zitten als een timingapparaat.

Real Time Clock (RTC) wordt gebruikt voor het bewaken van de tijd en het bijhouden van een kalender. Om een RTC te gebruiken, moeten we deze eerst programmeren met de huidige datum en tijd. Zodra dit is gebeurd, kunnen de RTC-registers op elk moment worden uitgelezen om de tijd en datum te weten. DS1307 is een RTC die werkt op het I2C-protocol. Gegevens uit verschillende registers kunnen worden gelezen door toegang te krijgen tot hun adressen om te lezen met behulp van I2C-communicatie.

Stap 1: Dingen die je nodig hebt

Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt

Dit zijn de volgende dingen die je nodig hebt voor deze instructables:

Arduino uno

Ds1307 rtc-module

Doorverbindingsdraden

3.7v knoopcel

Stap 2: Aansluitingen

Verbindingen
Verbindingen
Verbindingen
Verbindingen

Volg de bijgevoegde schmatics in de afbeeldingssectie en sluit alles aan volgens de schmatics.

Stap 3: Codeergedeelte

Codeergedeelte
Codeergedeelte

Arduino programmeren om RTC te voeden met de huidige datum en tijd; en het lezen van de datum en tijd van de RTC.

Hier zullen we de DS1307-bibliotheek van Watterott van GitHub gebruiken.

Download deze bibliotheek hier.:

Pak de bibliotheek uit en voeg de map met de naam DS1307 toe aan het bibliothekenmappad van Arduino IDE.

Nadat de bibliotheek is toegevoegd aan de Arduino IDE, opent u de IDE en opent u de voorbeeldschets met de naam Voorbeeld uit de toegevoegde DS1307-bibliotheek.

Waarschuwing: in de voorbeeldschets wordt in de setup-lus de functie rtc.set() gebruikt. Geef de huidige datum- en tijdargumenten zoals vermeld aan deze functie door. In de voorbeeldschets wordt deze stelling becommentarieerd. Maak het commentaar los en upload de schets. Nadat de schets is geüpload, verwijdert u de opmerking opnieuw en uploadt u de schets. Als dit niet wordt gedaan, wordt elke keer dat het Arduino UNO-bord wordt gereset of wordt ingeschakeld nadat het is uitgeschakeld, de datum en tijd die u instelt steeds opnieuw ingesteld en kunt u de exacte huidige tijd en datum niet lezen.

/* DS1307 RTC (Real-Time-Clock) Voorbeeld

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 Seriële poort*/ Serial.begin (9600); while(!Serial); /*wacht tot de seriële poort verbinding maakt - alleen nodig voor Leonardo*/

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

/*stel de datum+tijd slechts één keer in*/ rtc.set(0, 0, 8, 24, 12, 2014); /*08:00:00 24.12.2014 //sec, min, uur, dag, maand, jaar*/

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

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

void loop() { uint8_t sec, min, uur, dag, maand; uint16_t jaar;

/*haal tijd van RTC*/ rtc.get(&sec, &min, &uur, &dag, &maand, &jaar);

/*serial output*/ Serial.print("\nTime: "); Serial.print (uur, DEC); Serial.print(":"); Serial.print (min, DEC); Serial.print(":"); Serial.print (sec, DEC);

Serial.print("\nDatum: "); Serial.print (dag, DEC); Serieel.print("."); Serial.print (maand, DEC); Serieel.print("."); Serial.print (jaar, DEC);

/*wacht even*/ vertraging (1000); }

Kopieer de bovenstaande code en upload deze naar je Arduino Board

Stap 4: Tijd krijgen

Tijd krijgen
Tijd krijgen
Tijd krijgen
Tijd krijgen

Nadat je alles met elkaar hebt verbonden en de code naar je arduino-bord hebt geüpload, open je de seriële monitor in je arduino ide en dan kun je de datum en tijd krijgen als de mijne in je seriële monitor, zoals je kunt zien, ik kan mijn tijd en datum in mijn seriële monitor, voor demo-uitvoer raadpleegt u de bovenstaande afbeeldingsuitvoer en veel plezier met het toevoegen van een RTC-klok aan uw project.

Aanbevolen: