Indholdsfortegnelse:

DS1307 Real -time ur RTC med Arduino: 4 trin
DS1307 Real -time ur RTC med Arduino: 4 trin

Video: DS1307 Real -time ur RTC med Arduino: 4 trin

Video: DS1307 Real -time ur RTC med Arduino: 4 trin
Video: Digital StopWatch Using Arduino With Code and Circuit || Proteus Simulation 2024, November
Anonim
DS1307 Real -time ur RTC med Arduino
DS1307 Real -time ur RTC med Arduino

I denne vejledning lærer vi om Real Time Clock (RTC), og hvordan Arduino & Real Time Clock IC DS1307 er sat sammen som en timing -enhed.

Real Time Clock (RTC) bruges til at overvåge tid og vedligeholde en kalender. For at bruge en RTC skal vi først programmere den med den aktuelle dato og klokkeslæt. Når dette er gjort, kan RTC -registre læses når som helst for at kende tid og dato. DS1307 er en RTC, der fungerer på I2C -protokol. Data fra forskellige registre kan læses ved at få adgang til deres adresser til læsning ved hjælp af I2C -kommunikation.

Trin 1: Ting du har brug for

Ting du har brug for
Ting du har brug for
Ting du har brug for
Ting du har brug for
Ting du har brug for
Ting du har brug for

Dette er følgende ting, du har brug for til disse instruktører:

Arduino uno

DS1307 rtc -modul

Jumper ledninger

3,7v møntcelle

Trin 2: Forbindelser

Forbindelser
Forbindelser
Forbindelser
Forbindelser

Følg venligst den vedhæftede skematik i billedsektionen og tilslut alt i henhold til skmatikken.

Trin 3: Kodningsdel

Kodningsdel
Kodningsdel

Programmering af Arduino til at fodre RTC med aktuel dato og klokkeslæt; og læse dato og klokkeslæt fra RTC.

Her vil vi bruge DS1307 bibliotek af Watterott fra GitHub.

Download dette bibliotek herfra.:

Udpak biblioteket, og tilføj mappen DS1307 til bibliotekets mappesti i Arduino IDE.

Når biblioteket er blevet tilføjet til Arduino IDE, skal du åbne IDE og åbne eksemplet på skitse med navnet Eksempel fra DS1307 -biblioteket tilføjet.

Ord af forsigtighed: I eksempelskitsen i opsætningssløjfen bruges rtc.set () -funktionen. Videregiv de aktuelle dato- og klokkeslæt -argumenter som nævnt til denne funktion. I eksempelskitsen vil denne erklæring blive kommenteret. Fjern kommentaren og upload skitsen. Når skitsen er uploadet, skal du kommentere udsagnet igen og uploade skitsen. Hvis dette ikke er gjort, hver gang Arduino UNO -kortet nulstilles eller tændes efter slukning, indstilles dato og klokkeslæt igen og igen, og du vil ikke kunne læse det nøjagtige aktuelle tidspunkt og dato.

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

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

#inkluder "Wire.h"

#include "DS1307.h"

DS1307 rtc;

ugyldig opsætning () { /*init Seriel port* / Serial.begin (9600); mens (! Seriel); /*vente på seriel port for at oprette forbindelse - kun nødvendig for Leonardo*/

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

/*indstil kun dato+tid én gang*/ rtc.set (0, 0, 8, 24, 12, 2014); /*08: 00: 00 24.12.2014 // sek, min, time, dag, måned, år*/

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

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

void loop () {uint8_t sek, min, time, dag, måned; uint16_t år;

/*få tid fra RTC*/ rtc.get (& sek, & min, & time, & dag, & måned, & år);

/*seriel output*/ Serial.print ("\ nTid:"); Serial.print (time, DEC); Serial.print (":"); Serial.print (min, DEC); Serial.print (":"); Serial.print (sek, DEC);

Serial.print ("\ nDato:"); Serial.print (dag, DEC); Serial.print ("."); Serial.print (måned, DEC); Serial.print ("."); Serial.print (år, DEC);

/*vent et sekund*/ forsinkelse (1000); }

Kopier ovenstående kode, og upload den til dit arduino -bord

Trin 4: Få tid

Få tid
Få tid
Få tid
Få tid

Når du har tilsluttet alt sammen og uploadet koden til dit arduino -kort, skal du åbne den serielle skærm i din arduino -ide, og derefter kan du få dato og tid som min i din serielle skærm, som du kan se, jeg kan se min tid & dato i min serielle skærm, for demo -output, se ovenstående billedoutput og have det sjovt med at tilføje RTC -ur til dit projekt.

Anbefalede: