Hvordan får man aktuel tid og dato i arduino uden ekstern kilde?

Jeg arbejder på et projekt ved hjælp af Arduino Uno og SD-kortskjold. Jeg vil gerne gemme en variabel på et bestemt tidspunkt hver dag på SD-kortet . Hvordan kan jeg få den aktuelle tid i Arduino? Enhver hjælp vil være mærkbar.

BEMÆRK: Arduino er IKKE tilsluttet pc.

Svar

En nøjagtig måde er at bruge funktionen millis(). Den returnerer værdien i millisekunder siden starten af Arduino. Hvis du starter Arduino på et bestemt tidspunkt, kan du beregne den nøjagtige dato og tid.


Hvorfor ikke et eksternt modul ?? En RTC som DS3231 i kun 5 $, og den inkluderer en temperatursensor til dig!

Kommentarer

Svar

uden ekstern kilde

Du kan ikke “t. Arduino Uno har intet realtidsur. Et realtidsur er kun noget som $ 1 fra eBay. F.eks. DS1307 eller DS3231. Jeg fandt 5 x kort monteret med urchippen, inklusive batteriholder, krystal, chip og kredsløb til 4,20 $ på eBay. Batterier leveres ikke.

Hæng det op til I2C-stifterne (A4 og A5), indstil tiden en gang ved hjælp af en passende skitse, og så er du klar til at rulle.


Hvis du bare vil gøre noget hver 24. time (ikke nødvendigvis kl. 9.36), kan du bare bruge millis til at finde ud af, hvornår det passende antal millisekunder er forløbet. Resultatet fra millis ombrydes hver 49. dag omtrent, men behøver du ikke bekymre dig om det .

Bemærk at dette s lader dig ikke logge dato og klokkeslæt, men du kan logge på noget (f.eks. temperaturen) hver dag, skulle du bare vide, hvornår du begyndte at logge.

Svar

En mulighed at overveje er at brug en 24-timers plug-in timer , der styrer strømmen til Uno.

Dvs. noget der ser sådan ud:

indtast billedebeskrivelse her

Kredsløbet ville være: Stikkontakt -> Timer -> USB-oplader -> Arduino

Du kan indstille timeren til at slukke for strømmen til Uno kl. 23:30 og tænde igen midnat.

Under en sådan opsætning vil millis() være tiden siden sidste Uno-start, hvilket normalt vil være tiden siden den foregående midnat.

Ved fejlretning kan du indstille tiden-ved-Uno-start til andet end midnat.

Advarslerne er:

  • Din situation tillader dagligt 30 minutter ( eller hvad timeren er) nedetid
  • Tåler timerskift på grund af strømafbrydelser

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *