Conexiune Arduino a ceasului în timp real ds3231. Sincronizarea orei de pe modulul DS3231 cu computerul

Trăsături distinctive:

  • Precizie ±2 ppm în intervalul de temperatură 0°C până la +40°C
  • Precizie ±3,5 ppm în intervalul de temperatură -40°C până la +85°C
  • Intrare pentru conectarea unei surse de alimentare autonome pentru a asigura funcționarea continuă
  • Interval de temperatură de funcționare comercial: de la 0°C la +70°C industrial: -40°C la +85°C
  • Consum redus
  • Ceas în timp real care numără secunde, minute, ore, zile ale săptămânii, zile ale lunii, lunii și anului cu corecția anului bisect până la 2100
  • Două alarme zilnice
  • Ieșire undă pătrată cu frecventa programabila
  • Interfață rapidă (400 kHz) I 2 C
  • Putere de 3,3 V
  • Senzor digital de temperatură cu precizie de măsurare ±3°C
  • Registrul care conține date despre ajustarea necesară
  • nonRST resetare intrare/ieșire

Aplicație:

  • Servere
  • Contoare electronice de electricitate
  • Echipamente telematice
  • sisteme GPS

Diagrama de conectare tipică pentru DS3231:

Descriere generala:

DS3231 este un ceas în timp real (RTC) de înaltă precizie cu interfață I 2 C încorporată, oscilator cu cristal compensat de temperatură (TCXO) și rezonator cu cuarț. Dispozitivul are o intrare pentru conectarea unei surse de alimentare autonome de rezervă, care permite măsurarea timpului și măsurarea temperaturii chiar și atunci când tensiunea de alimentare principală este oprită. Rezonatorul de cuarț încorporat mărește durata de viață a dispozitivului și reduce numărul necesar de elemente externe. DS3231 este disponibil în versiuni comerciale și industriale de temperatură și este ambalat într-un pachet SO de 300 mil 16 pini.

RTC oferă numărarea secundelor, minutelor, orelor, zilelor săptămânii, zilelor lunii și anului. Data de încheiere a lunii este determinată automat ținând cont de anii bisecți. Ceasul în timp real funcționează în format de 24 sau 12 ore cu o indicație a jumătății curente a zilei (AM/PM). Dispozitivul are două alarme zilnice și o ieșire cu undă pătrată cu o frecvență programabilă. Schimbul de date cu dispozitivul se realizează prin interfața compatibilă serială I 2 C încorporată.

Multe dispozitive necesită înregistrarea constantă a datelor cronometrice (data, oră); această funcție este realizată prin special circuite electronice, care se numește ceasul în timp real. În prezent, un ceas în timp real este implementat sub forma unui microcircuit separat, la care trebuie să adăugați un rezonator cu cuarț și o sursă de alimentare autonomă. În unele microcircuite, în interior este construit un rezonator cu cuarț. Unul dintre aceste ceasuri pe un cip DS3231SN L-am cumparat pentru al meu proiecte . În exemplu, voi conecta un ceas în timp real la un analog chinezesc Arduino UNO.

Sunt un modul complet ZS-042 la care se poate conecta diverse dispozitive, nu numai la platforma Arduino.


Modulul este construit pe un microcircuit DS3231SN care este în esență un ceas în timp real. Spre deosebire de vechiul model de ceas, de exemplu pe cipul DS1307, acest ceas conține un rezonator intern de cuarț, datorită căruia ceasul are o oră precisă.

Puteți implementa un ceas pe Arduino fără DS3231SN, dar apoi, dacă se pierde alimentarea, valorile temporizatorului sunt resetate.Aceleași ceasuri au putere de rezervă, așa că dacă se întrerupe alimentarea, continuă să funcționeze.

Ceasul poate număra ore, minute, secunde, date, luni, ani (anii bisecți sunt luați în considerare până în 2100). Acestea funcționează în modul de 12 sau 24 de ore, conțin două ceasuri cu alarmă și, de asemenea, au un termometru intern cu un interval de la -40 ° C la + 85 ° C. Pentru a se conecta la diferite dispozitive, ceasul este conectat prin Interfață I2C.


Locația și scopul pinilor de pe modulul ZS-042:

S.Q.W.- Ieșire de semnal cu undă pătrată programabilă.

SCLPrin acest pin, datele sunt schimbate cu ceasul prin interfața I2C.

S.D.A.Datele de la ceas sunt transmise prin acest pin.

VCCAlimentare pentru ceas în timp real, necesar 5 volți. Dacă nu există tensiune furnizată acestui pin, ceasul intră în modul de repaus.

GND- Pământ.

Pentru a vă conecta la Arduino UNO, Conectam pinul SDA al ceasului la pinul A4, iar pinul SCL la A5. Pinii GND(-) și VCC(+5v) sunt utilizați pentru alimentare.

Pini SDA și SCL pe diferite plăci Arduino:

S.D.A. SCL
O.N.U. A4 A5
Mini A4 A5
Nano A4 A5
Mega2560 20 21
Leonardo 2 3

Să instalăm o baterie CR2032 în ceas; astfel de elemente sunt folosite pentru a alimenta BIOS-ul în computere.

La Conexiune USB cablu la Arduino, LED-ul de pe ceas ar trebui să se aprindă " PUTERE„(LED roșu).

Pentru a programa ceasul prin Arduino IDE, trebuie să instalați biblioteci.

Descărcați biblioteca Timp și DS1307RTC.

Ultima bibliotecă a fost scrisă pentru un ceas pe cipul DS1307, dar protocoalele sale de interacțiune sunt compatibile cu DS3231, așa că biblioteca se va potrivi cu ceasul nostru.

Bibliotecile trebuie descărcate, despachetate și plasate în folderul "biblioteci" Când porniți Arduino IDE, ei cu exemple ar trebui să apară în " Mostre».

Setați data și ora.

Pentru a face acest lucru, copiați acest cod în Arduino IDE.

Pentru setările corecte, trebuie să modificați datele din linie

setTime(13,35,0,22,12,2016);



Între paranteze, separate prin virgule, setați-le pe cele corecte: ore, minute, secunde, dată, lună, an. În exemplul meu, este setat la 13 ore 35 minute 0 secunde, 22 decembrie 2016. Încărcați schița pe Arduino.

Acum, pentru a citi citirile de la ceas, puteți folosi exemplul: „ Fişier» - « Mostre» - « DS1307RTC» - « ReadTest" Și in spate încărcați-l pe Arduino.

Fereastra care se deschide va afișa data și ora curente. Dacă opriți modulul de ceas de la Arduino, Arduino nu va putea urmări valorile și după ceva timp mesajul „ ...Eroare de citire! „(evidențiat cu roșu). După restabilirea alimentării, data și ora vor continua numărătoarea inversă. Data și ora nu au fost resetate deoarece ceasul era alimentat de la bateria CR2032.

În multe proiecte Arduino, este necesar să se monitorizeze și să înregistreze timpul de apariție a anumitor evenimente. Modul de ceas în timp real echipat cu baterii suplimentare, vă permite să stocați data curenta, indiferent de disponibilitatea alimentării pe dispozitiv în sine. În acest articol vom vorbi despre cele mai comune module RTC DS1307, DS1302, DS3231 care pot fi folosite cu placa Arduino.

Modulul ceas este o placă mică care conține, de regulă, unul dintre microcircuitele DS1307, DS1302, DS3231. În plus, pe placă găsești practic un mecanism de instalare a bateriei. Astfel de plăci sunt adesea folosite pentru a urmări ora, data, ziua săptămânii și alți parametri cronometrici. Modulele funcționează cu alimentare autonomă - baterii, acumulatori și continuă să conteze chiar dacă alimentarea Arduino este oprită. Cele mai comune modele de ceasuri sunt DS1302, DS1307, DS3231. Acestea se bazează pe un modul RTC (ceas în timp real) conectat la Arduino.

Ceasul numără în unități care sunt convenabile unei persoane obișnuite– minute, ore, zile ale săptămânii și altele, spre deosebire de contoarele convenționale și generatoarele de ceasuri care citesc „căpușe”. Arduino are functie speciala millis(), care poate citi, de asemenea, diferite intervale de timp. Dar principalul dezavantaj al acestei funcții este că se resetează la zero atunci când temporizatorul este pornit. Cu ajutorul acestuia puteți citi doar ora; este imposibil să setați data sau ziua săptămânii. Modulele de ceas în timp real sunt folosite pentru a rezolva această problemă.

Circuitul electronic include un microcircuit, o sursă de alimentare, un rezonator cu cuarț și rezistențe. Rezonatorul de cuarț funcționează la o frecvență de 32768 Hz, ceea ce este convenabil pentru un contor binar convențional. Circuitul DS3231 are cuarț încorporat și stabilizare termică, ceea ce permite valori foarte precise.

Comparație dintre modulele RTC populare DS1302, DS1307, DS3231

În acest tabel am oferit o listă cu cele mai populare module și principalele lor caracteristici.

Nume Frecvență Precizie Protocoale acceptate
DS1307 1 Hz, 4,096 kHz, 8,192 kHz, 32,768 kHz Depinde de cuarț - de obicei valoarea ajunge la 2,5 secunde pe zi, este imposibil să se obțină o precizie mai mare de 1 secundă pe zi. De asemenea, precizia depinde de temperatură. I2C
DS1302 32,768 kHz 5 secunde pe zi I2C, SPI
DS3231 Două ieșiri - prima la 32,768 kHz, a doua programabilă de la 1 Hz la 8,192 kHz ±2 ppm la temperaturi de la 0C la 40C.

±3,5 ppm la temperaturi de la -40C la 85C.

Precizia măsurării temperaturii – ±3С

I2C

Modulul DS1307

DS1307 este un modul care este folosit pentru cronometrare. Este asamblat pe baza cipului DS1307ZN, puterea provine de la o baterie cu litiu pentru implementare durata de viata a bateriei dupa o perioada lunga de timp. Bateria de pe placă este montată pe partea din spate. Modulul are un cip AT24C32 - aceasta este o memorie EEPROM nevolatilă de 32 KB. Ambele microcircuite sunt conectate printr-o magistrală I2C. DS1307 are un consum redus de energie și conține un ceas și un calendar pentru anul 2100.

Modulul are următorii parametri:

  • Alimentare – 5V;
  • Interval de temperatură de funcționare de la -40C la 85C;
  • 56 de octeți de memorie;
  • baterie cu litiu LIR2032;
  • Implementează modurile 12 și 24 de ore;
  • Suport pentru interfață I2C.

Modulul este justificat în cazurile în care datele sunt citite destul de rar, la intervale de o săptămână sau mai mult. Acest lucru vă permite să economisiți energie, deoarece utilizarea neîntreruptă va necesita mai multă tensiune, chiar și cu o baterie. Prezența memoriei vă permite să înregistrați diferiți parametri (de exemplu, măsurarea temperaturii) și să citiți informațiile primite de la modul.

Interacțiunea cu alte dispozitive și schimbul de informații cu acestea se realizează folosind interfața I2C de la pinii SCL și SDA. Circuitul conține rezistențe care vă permit să furnizați nivelul necesar de semnal. Placa are si un loc special pentru montarea senzorului de temperatura DS18B20.Contactele sunt impartite in 2 grupuri, pas 2,54 mm. Primul grup de contacte conține următorii pini:

  • DS – iesire pentru senzor DS18B20;
  • SCL – linie de ceas;
  • SDA – linie de date;
  • VCC – 5V;

Al doilea grup de contacte conține:

  • SQ – 1 MHz;
  • BAT – intrare pentru baterie cu litiu.

Pentru a vă conecta la placa Arduino, aveți nevoie de placa în sine (în acest caz luăm în considerare Arduino Uno), un modul de ceas în timp real RTC DS1307, fire și un cablu USB.

Pentru a conecta controlerul la Arduino, se folosesc 4 pini - VCC, masă, SCL, SDA.. VCC de la ceas este conectat la 5V pe Arduino, pământul de la ceas este conectat la masă de la Arduino, SDA - A4, SCL - A5.

Pentru a începe să lucrați cu modulul de ceas, trebuie să instalați bibliotecile DS1307RTC, TimeLib și Wire. De asemenea, puteți utiliza RTCLib pentru lucru.

Verificarea modulului RTC

Când rulați primul cod, programul va citi datele din modul o dată pe secundă. În primul rând, puteți vedea cum se comportă programul dacă scoateți bateria din modul și o înlocuiți cu alta în timp ce placa Arduino nu este conectată la computer. Trebuie să așteptați câteva secunde și să scoateți bateria, eventual ceasul se va reporni. Apoi trebuie să selectați un exemplu din meniul Exemple→RTClib→ds1307. Este important să setați corect viteza de transmisie la 57600 bps.

Când deschideți fereastra Monitor serial, ar trebui să apară următoarele linii:

Ora va afișa 0:0:0. Acest lucru se datorează faptului că ceasul își pierde puterea și nu va mai număra timpul. Din acest motiv, bateria nu trebuie scoasă în timp ce modulul funcționează.

Pentru a seta ora pe modul, trebuie să găsiți linia în schiță

RTC.adjust(DateTime(__DATE__, __TIME__));

Această linie va conține date de la computer care este folosit pentru a flash modulul ceasului în timp real. Pentru funcţionare corectă Mai întâi trebuie să verificați dacă data și ora de pe computer sunt corecte și abia apoi începeți să clipească modulul ceasului. După configurare, monitorul va afișa următoarele date:

Configurarea se face corect și nu este nevoie să reconfigurați suplimentar ceasul în timp real.

Citirea timpului. Odată configurat modulul, pot fi trimise solicitări de timp. Acest lucru se face folosind funcția now(), care returnează un obiect DateTime care conține informații despre oră și dată. Există o serie de biblioteci care sunt folosite pentru a citi timpul. De exemplu, RTC.year() și RTC.hour() - obțin separat informații despre an și oră. Când lucrați cu ei, poate apărea o problemă: de exemplu, o solicitare de afișare a orei va fi făcută la 1:19:59. Înainte de a afișa ora 1:20:00, ceasul va afișa ora 1:19:00, adică, în esență, se va pierde un minut. Prin urmare, este recomandabil să folosiți aceste biblioteci în cazurile în care citirea are loc rar - o dată la câteva zile. Există și alte funcții pentru timpul de apel, dar dacă trebuie să reduceți sau să evitați erorile, este mai bine să utilizați now() și să extrageți citirile necesare din acesta.

Exemplu de proiect cu modul de ceas i2C și afișaj

Proiectul este un ceas obișnuit; ora exactă va fi afișată pe indicator, iar două puncte dintre numere vor clipi la intervale de o dată pe secundă. Pentru a implementa proiectul, veți avea nevoie de o placă Arduino Uno, un indicator digital, un ceas în timp real (în acest caz, modulul ds1307 descris mai sus), un scut pentru conectare (în acest caz, se folosește Troyka Shield), o baterie pentru ceas și fire.

Proiectul folosește un indicator simplu de patru cifre pe cipul TM1637. Dispozitivul are o interfață cu două fire și oferă 8 niveluri de luminozitate a monitorului. Folosit numai pentru a afișa timpul în format ore:minute. Indicatorul este ușor de utilizat și ușor de conectat. Este benefic de utilizat pentru proiecte în care nu este necesară verificarea datelor pe minute sau pe oră. Pentru a obține mai mult informatii complete Monitoarele LCD sunt folosite pentru a indica ora și data.

Modulul de ceas este conectat la pinii SCL/SDA, care aparțin magistralei I2C. De asemenea, trebuie să conectați la pământ și la alimentare. Este conectat la Arduino în același mod ca cel descris mai sus: SDA – A4, SCL – A5, masă de la modul la masă de la Arduino, VCC -5V.

Indicatorul este conectat simplu - pinii săi CLK și DIO sunt conectați la orice pini digital de pe placă.

Schiță. Pentru a scrie cod, utilizați funcția de configurare, care vă permite să inițializați ceasul și indicatorul și să înregistrați timpul de compilare. Imprimarea timpului pe ecran se va face folosind bucla.

#include #include "TM1637.h" #include "DS1307.h" //trebuie să includeți toate bibliotecile necesare pentru a lucra cu ceasul și afișajul. char compileTime = __TIME__; //timpul de compilare. #define DISPLAY_CLK_PIN 10 #define DISPLAY_DIO_PIN 11 //numerele de la ieșirile Arduino la care este conectat ecranul; void setup() ( display.set(); display.init(); //conectați și configurați ecranul. clock.begin(); //porniți ceasul. byte hour = getInt(compileTime, 0); byte minute = getInt(compileTime, 2); octet secundă = getInt(compileTime, 4); //obținerea timpului. clock.fillByHMS(oră, minut, secundă); //pregătesc pentru scriere în modulul de timp. clock.setTime(); //înregistrarea în curs a informațiilor primite în memorie interna, începutul citirii timpului. ) void loop() ( int8_t timeDisp; //afișează pe fiecare dintre cele patru cifre. clock.getTime(); //interogare pentru a obține ora. timeDisp = clock.hour / 10; timeDisp = clock.hour % 10; timeDisp = ceas .minut / 10; timeDisp = clock.minute % 10; //diverse operații pentru obținerea zecilor, unităților de ore, minute etc. display.display(timeDisp); //afișarea orei pe indicatorul display.point(clock .second % 2 ? POINT_ON: POINT_OFF);//activează și dezactivează două puncte după o secundă. ) char getInt(const char* șir, int startIndex) ( return int(șir - "0") * 10 + int(șir ) - „0”; //acțiuni pentru a scrie corect timpul într-un număr întreg de două cifre. În caz contrar, doar câteva caractere vor fi afișate pe ecran. )

După aceasta, schița trebuie încărcată și ora va fi afișată pe monitor.

Programul ar putea fi ușor modernizat. Când alimentarea este oprită, schița scrisă mai sus va face ca afișajul să arate ora care a fost setată în timpul compilării după pornire. În funcția de configurare, se va calcula de fiecare dată timpul care a trecut de la 00:00:00 până la începutul compilării. Acest hash va fi comparat cu ceea ce este stocat în EEPROM, care este reținut atunci când este întreruptă alimentarea.

Pentru a scrie și a citi timpul în sau din memoria nevolatilă, trebuie să adăugați funcțiile EEPROMWriteInt și EEPROMReadInt. Sunt necesare pentru a verifica dacă hash-ul se potrivește/nepotrivește cu hash-ul înregistrat în EEPROM.

Proiectul poate fi îmbunătățit. Dacă utilizați un monitor LCD, puteți realiza un proiect care să afișeze data și ora pe ecran. Conexiunea tuturor elementelor este prezentată în figură.

Ca urmare, va trebui să specificați în cod noua biblioteca(pentru ecranele LCD, acesta este LiquidCrystal) și adăugați linii la funcția loop() pentru a obține data.

Algoritmul de operare este următorul:

  • Conectarea tuturor componentelor;
  • Verificați - ora și data de pe ecranul monitorului ar trebui să se schimbe în fiecare secundă. Dacă ora de pe ecran este incorectă, trebuie să adăugați la schiță funcția RTC.write (tmElements_t tm). Problemele cu orele incorecte se datorează faptului că modulul de ceas resetează data și ora la 00:00:00 01/01/2000 când este oprit.
  • Funcția de scriere vă permite să obțineți data și ora de la computer, după care parametrii corecti vor fi indicați pe ecran.

Concluzie

Modulele de ceas sunt folosite în multe proiecte. Sunt necesare pentru sistemele de înregistrare a datelor, atunci când se creează cronometre și dispozitive de control care funcționează după un program dat, în aparatele de uz casnic. Cu module disponibile pe scară largă și ieftine, puteți crea proiecte cum ar fi un ceas cu alarmă sau un senzor de înregistrare de date, înregistrând informații pe un card SD sau afișând ora pe un ecran de afișare. În acest articol, am analizat scenariile tipice de utilizare și opțiunile de conectare pentru cele mai populare tipuri de module.

Modulul DS3231 (RTC, ZS-042) este o placă low-cost cu un ceas în timp real (RTC) extrem de precis, cu compensare a temperaturii oscilatorului de cristal și a cristalului. Modulul include o baterie cu litiu care menține funcționarea neîntreruptă chiar și atunci când sursa de alimentare este oprită. Un generator integrat îmbunătățește acuratețea dispozitivului și reduce numărul de componente.

Specificatii tehnice

Tensiune de alimentare: 3,3 V și 5 V
Cip de memorie: AT24C32 (32 KB)
Precizie: ±0,432 sec pe zi
Frecvența cuarțului: 32,768 kHz
Protocol suportat: I2C
Dimensiuni: 38mm x 22mm x 15mm

Informații generale

Majoritatea microcircuitelor, precum DS1307, folosesc un oscilator extern de cuarț cu o frecvență de 32 kHz, dar au un dezavantaj semnificativ: atunci când temperatura se schimbă, frecvența cuarțului se modifică, ceea ce duce la o eroare de sincronizare. Această problemă este eliminată în cipul DS3231, care conține un oscilator cu cristal și un senzor de temperatură care compensează schimbările de temperatură, astfel încât timpul să rămână exact (datele de temperatură pot fi citite dacă este necesar). Cipul DS3231 acceptă, de asemenea, informații despre secunde, minute, ore, ziua săptămânii, dată, lună și an și, de asemenea, monitorizează numărul de zile dintr-o lună și face ajustări pentru anii bisecți. Suportă ceasuri în două formate: 24 și 12 și este posibilă și programarea a două alarme. Modulul funcționează pe o magistrală I2C cu două fire.


Acum puțin despre modul în sine; este construit pe cipul DS3231N. Ansamblul de rezistență RP1 (4,7 kOhm) este necesar pentru a trage în sus liniile 32K, SQW, SCL și SDA (apropo, dacă sunt utilizate mai multe module cu o magistrală I2C, este necesar să dezlipiți rezistențele de pull-up de pe alte module) . Al doilea ansamblu de rezistențe este necesar pentru a strânge liniile A0, A1 și A2; acestea sunt necesare pentru a schimba adresa cipul de memorie AT24C32N. Rezistorul R5 și dioda D1 servesc la reîncărcarea bateriei; în principiu, pot fi îndepărtate, deoarece o baterie obișnuită SR2032 durează ani de zile. Este instalat și un cip de memorie AT24C32N, acesta este ca un bonus; nu este necesar ca ceasul RTC DS3231N să funcționeze. Rezistorul R1 și LED-ul de alimentare semnalează că modulul este pornit. După cum sa menționat, modulul funcționează pe magistrala I2C; pentru comoditate, aceste magistrale au fost direcționate la doi conectori J1 și J2; alocarea contactelor rămase poate fi văzută mai jos. Scopul J1
32K: ieșire, frecvență 32 kHz
SQW: ieșire
SDA: linie de date (Serial Dфta)
VCC: sursa de alimentare a modulului „+”.
GND: sursa de alimentare a modulului „-”. Scopul J2
SCL: Ceas serial
SDA: linie de date seriale
VCC: sursa de alimentare a modulului „+”.
GND: sursa de alimentare a modulului „-”.


Vă voi spune puțin despre cipul AT24C32N, acesta este un cip cu memorie de 32k (EEPROM) de la producătorul Atmel, asamblat într-un pachet SOIC8, care funcționează pe o magistrală I2C cu două fire. Adresa microcircuitului este 0x57; dacă este necesar, poate fi schimbată cu ușurință folosind jumperii A0, A1 și A2 (acest lucru vă permite să creșteți numărul de microcircuite AT24C32/64 conectate). Deoarece cipul AT24C32N are trei introducerea adresei(A0, A1 și A2), care pot fi în două stări, fie log „1” fie log „0”, opt adrese sunt disponibile pentru cip. de la 0x50 la 0x57.

Conectarea DS3231 la Arduino

Piese necesare:
Arduino UNO R3 x 1 buc.
Ceas în timp real pe DS3231, RTC, SPI, AT24C32 x 1 buc.
Sârmă DuPont, 2,54 mm, 20 cm, F-M (femă - masculin) x 1 buc.
cablu USB 2,0 A-B x 1 buc.

Conexiune:
ÎN în acest exemplu Voi folosi doar modulul DS3231 și Arduino UNO R3, toate datele vor fi transferate la „Monitorizare port”. Circuitul nu este complicat, sunt necesare doar patru fire, mai întâi conectăm magistrala I2C, SCL în A4 (Arduino UNO) și SDA în A5 (Arduino UNO), tot ce rămâne este să conectăm sursa de alimentare GND la GND și VCC la 5V (se poate scrie de la 3,3V), circuit asamblat, acum trebuie să pregătim partea de software.

Nu există nicio bibliotecă care să funcționeze cu DS3231 în mediu Dezvoltare IDE Arduino, trebuie să descărcați „DS3231” și să îl adăugați în mediul de dezvoltare Arduino.

Setarea orei DS3231
Când îl porniți pentru prima dată, trebuie să programați ora, să deschideți exemplul din biblioteca DS3231 „Fișier” -> „Exemple” -> „DS3231” -> „Arduino” -> „DS3231_Serial_Easy”, sau copiați codul de jos

/* Testarea a fost efectuată pe Arduino IDE 1.8.0 Data testului 31/08/2018. */ #include // Conectați biblioteca Wire DS3231 rtc(SDA, SCL); // Inițializați DS3231 void setup() ( Serial.begin(115200); // Instalare conexiune serială rtc.begin(); // Inițializați rtc // Setați ora rtc.setDOW(VINERI); // Setați ziua săptămânii rtc.setTime(16, 29, 0); // Setați ora la 16:29:00 (format de 24 de ore) rtc.setDate(31, 8, 2018); // Setați data la 31 august 2018) void loop() ( Serial.print(rtc.getDOWStr()); // Trimiteți ziua-săptămâna Serial.print(" "); Serial.print(rtc.getDateStr() )); // Trimite data Serial.print(" -- "); Serial.println(rtc.getTimeStr()); // Trimite întârziere (1000); // Întârziere de o secundă)

Testarea a fost efectuată pe Arduino IDE 1.8.0

Data testului: 31.08.2018

#include // Includeți biblioteca Wire

DS3231 rtc (SDA, SCL); // Inițializați DS3231

void setup()

Serial. începe(115200); // Stabiliți o conexiune serială

rtc. ÎNCEPE(); // Inițializați rtc

// Seteaza timpul

rtc. setDOW(VINERI); // Setați ziua săptămânii

rtc. setTime(16, 29, 0); // Setați ora la 16:29:00 (format de 24 de ore)

buclă goală ()

Serial. print (rtc . getDOWStr () ) ; // Trimite zi-săptămână

Serial. imprimare (" " ) ;

Serial. print (rtc . getDateStr () ) ; // Trimite data

Serial. imprimare (" -- " ) ;

Serial. println(rtc. getTimeStr()); // Trimite ora

întârziere (1000); // Întârziere de o secundă

Încărcați schița în controlerul Arduino și deschideți „Monitorizare port”

Acțiune