Grundlæggende vil jeg være i stand til at vise det tidspunkt, hvor arduino indsamlede dataene med dataværdien, ikke gang arduinoen udskrev dataene. Der er en tidsstempelfunktion på konsollen, men jeg vil gerne finde ud af, hvornår dataene blev indsamlet.
Jeg er lidt ny på dette, så enhver hjælp bliver meget værdsat!
Kommentarer
Svar
Få et " tidsstempel ", hvornår data indsamles, er helt op til dig.
De fleste Arduinos har ikke noget koncept for det aktuelle tidspunkt, kun det tidspunkt, siden programmet startede. For at vide, hvad tiden " nu " er, skal du have en mekanisme til at fortælle Arduino, hvad klokken er sammen med en metode at holde styr på den tid.
Der er enheder kaldet RTC-moduler (Real-Time Clock), der holder styr på tiden for dig. De kender ikke magisk tid – du skal stadig fortælle dem mindst én gang.
Du kunne fortælle det klokkeslæt gennem den serielle port for at indstille uret – fra da af (forudsat at RTC har strøm ) RTC ved, hvad klokken er.
En anden mulighed for at få tiden ind i RTC er at bruge en internetforbindelse (ESP8266, WiFi-skjold, Ethernet-skærm osv.) til at udføre en Network Time Protocol ( NTP) -forespørgsel til en tidsserver på internettet (såsom pool.ntp.org
) for at få den aktuelle tid og opdatere RTC. Dette bør gøres regelmæssigt for at korrigere enhver drift i RTC.
Når du har en RTC og en metode til at indstille tiden, kan du spørge tiden, når du prøver nogle data og gemmer den tid sammen med dataene på den måde, der er bedst egnet til din situation.
Svar
Det afhænger af, hvordan du definerer tidsstemplet. En Unix-tidsstempel er antallet af sekunder, der er forløbet siden Unix-tid, dvs. 1. januar 1970 00:00 UTC, dette er et meget almindeligt tidsstempel. Du kan konfigurere med NTP via internettet, eller du kan bruge en RTC på dit bord. Hvordan du gør det afhænger af, hvor præcist du vil have det, og hvad du har til rådighed. Prøv dette link, det kan hjælpe: https://currentmillis.com/
Serial.println(millis());