Hvordan får jeg tid og dato i arduino uten ekstern kilde?

Jeg jobber med et prosjekt med Arduino Uno og SD-kortskjold. Jeg vil lagre en variabel på et bestemt tidspunkt hver dag på SD-kortet . Hvordan kan jeg få den nåværende tiden i Arduino? Enhver hjelp vil være merkbar.

MERK: Arduino er IKKE koblet til PC.

Svar

En nøyaktig nok måte er å bruke millis() -funksjonen. Det vil returnere verdien i millisekunder siden starten av Arduino. Hvis du starter Arduino på et bestemt tidspunkt, vil du kunne beregne nøyaktig dato og klokkeslett.


Hvorfor ikke en ekstern modul ?? En RTC som DS3231 på kun 5 $ og den inkluderer en temperatursensor for deg!

Kommentarer

Svar

uten ekstern kilde

Du kan ikke «t. Arduino Uno har ingen sanntidsklokke. En sanntidsklokke er bare noe som $ 1 fra eBay. For eksempel DS1307 eller DS3231. Jeg fant 5 x kort forhåndsmontert med klokkebrikken, inkludert batteriholder, krystall, chip og kretskort for $ 4,20 på eBay. Batterier leveres ikke.

Hekt det opp til I2C-pinnene (A4 og A5), still inn klokkeslettet en gang med en passende skisse, og så er du klar til å rulle.


Hvis du bare vil gjøre noe hver 24. time (ikke nødvendigvis klokken 09.36), så kan du bare bruke millis for å finne når riktig antall millisekunder er gått. Resultatet fra millis brytes hver 49. dag omtrent, men du trenger ikke å bekymre deg for det .

Merk at dette s lar deg ikke logge dato og klokkeslett, men du kan logge noe (f.eks. temperaturen) hver dag, du må bare vite når du begynte å logge.

Svar

En mulighet å vurdere er å bruk en 24-timers plug-in timer som styrer strømmen til Uno.

Dvs. noe som ser slik ut:

skriv inn bildebeskrivelse her

Kretsen vil være: Stikkontakt -> Timer -> USB-lader -> Arduino

Du kan stille timeren til å slå av strømmen til Uno kl. 23:30 og slå den på igjen midnatt.

Under et slikt oppsett vil millis() være tiden siden forrige Uno-start, som vanligvis vil være tiden siden forrige midnatt.

Når du feilsøker, kan du stille klokkeslettet ved Uno-start til annet enn midnatt.

Advarslene er:

  • Situasjonen din tillater daglig 30 minutter ( eller hva timertrinnene er) nedetid
  • Tåler tidsskift på grunn av strømbrudd

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *