В примере скриншота из библиотеки все отлично работает с отображением unixtime с rtc.now.().unixtime()
, которое выдает 1553973902s
(около 17985 дней, но на моем скриншоте я пытаюсь использовать unixtime как ленивый / простой метод для вычисление тайм-аута с точно таким же вызовом, но он просто печатает «1488498385», и я не знаю, что не так.
Аппаратное обеспечение - это Arduino Uno и модуль DS3231 rtc.
Ссылка на библиотеку: https://github.com/adafruit/RTClib
Весь мой код для этого:
#include <Arduino.h>
#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
const int sensorPin = 3;
volatile bool sensorIn;
void setup()
{
Serial.begin(9600);
Serial.println("Blub");
pinMode(2, OUTPUT);
delay(5000);
}
void loop()
{
Serial.println(rtc.now().unixtime());
digitalWrite(2, LOW);
const DateTime startTime = rtc.now();
if(sensorIn == true)
{
delay(100);
sensorIn = false;
}
else if(startTime.unixtime() + 10 == rtc.now().unixtime())
{
digitalWrite(2, HIGH);
Serial.println("LED OFF");
delay(100);
sensorIn = false;
}
delay(5000000);
}
Датчик и будет для моего обнаружения бездействия, по прерыванию. Это всего лишь некоторый тестовый код для моего проекта светодиодной ленты, который я хочу расширить с помощью обнаружения неактивности и автоматического выключения.