Arduino:
Få den gjeldende datoen

Hvordan:

Arduino i seg selv har ikke en innebygd metode for å direkte hente dagens dato, ettersom den mangler et ekte tidsur (RTC). Dette kan imidlertid oppnås ved bruk av eksterne RTC-moduler som DS3231, og biblioteker som RTClib, utviklet av Adafruit, som gjør grensesnittet med disse modulene enkelt.

Først, sørg for at RTClib-biblioteket er installert i din Arduino IDE. Deretter, koble RTC-modulen din til Arduinoen i henhold til dens dokumentasjon.

Her er et enkelt eksempel for å komme i gang:

#include <Wire.h>
#include "RTClib.h"

RTC_DS3231 rtc;

void setup() {
  Serial.begin(9600);

  if (!rtc.begin()) {
    Serial.println("Fant ikke RTC");
    while (1);
  }

  if (rtc.lostPower()) {
    Serial.println("RTC mistet strøm, la oss sette tiden!");
    // Når tiden trenger å bli satt på en ny enhet eller etter et strømtap, kan du sette den her.
    // rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }
}

void loop() {
  DateTime now = rtc.now();

  Serial.print("Dagens Dato: ");
  Serial.print(now.year(), DEC);
  Serial.print('/');
  Serial.print(now.month(), DEC);
  Serial.print('/');
  Serial.println(now.day(), DEC);

  delay(3000); // Forsinkelse på 3 sekunder for å redusere seriell spam
}

Eksempel på utskrift (forutsatt at din RTC tidligere har blitt satt):

Dagens Dato: 2023/4/15

Denne koden initialiserer RTC-modulen og henter deretter og skriver ut dagens dato til Serial Monitor hvert 3. sekund. Husk, rtc.adjust(...)-linjen kan utkommenteres og modifiseres for å sette RTC’s dato og tid opprinnelig eller etter at den har mistet strømmen.