Работа со временем.

radist_morze
Offline
Зарегистрирован: 26.05.2013

Доброе время суток.

Собрал (выпилил кусок платы с сигнализации:) на DS1307 таймер прикрутил к Ардуино УНО, работает прекрасно, но встал вопрос как получить разницу со времени старта на текущий момент. Есть ли в процессинге готовые функции?

На данном (нулевом) уровне моих познаний приходит только на м вытянуть из строки реального времени  через substring() отдельно часы и минуты, перевести в int и получить разницу. Просто учитывая дефицит памяти, не очень-то разгуляешься.

Geronimo
Offline
Зарегистрирован: 06.05.2013

есть функция secondstime возвращает количество секунд с 1 января 2000 года

находим разницу и далее делением находим сколько прошло времени с момента последнего обращения

 

void setup()
{
  long last = EEPROM.read(0);
  long curr = clock.secondstime();
  EEPROM.write(0,curr);

  last = curr - last;

  secs = (int)( last  / 1000);
  mins = (int) (secs / 60);
  hours = (int)( mins / 60);
  days = (int) (hours / 24);
}

 

maksim
Offline
Зарегистрирован: 12.02.2012

radist_morze пишет:

Есть ли в процессинге готовые функции?

А причем тут Processing ?

Ну так кто знает почему у вас время в строке...
Вот посмотрите все можно сохранить в отдельные переменные.

maksim
Offline
Зарегистрирован: 12.02.2012

Geronimo пишет:

есть функция secondstime возвращает количество секунд с 1 января 2000 года

Вы бы ссылочку дали на сее библиотеку? функцию? где она есть то?

Geronimo
Offline
Зарегистрирован: 06.05.2013

maksim пишет:

Geronimo пишет:

есть функция secondstime возвращает количество секунд с 1 января 2000 года

Вы бы ссылочку дали на сее библиотеку? функцию? где она есть то?

https://github.com/adafruit/RTClib

хотя ступил, можно сразу получать покомпонентные значения и вычитать

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

radist_morze пишет:

встал вопрос как получить разницу со времени старта на текущий момент. Есть ли в процессинге готовые функции?

Если именно "со времени старта" - то проще использовать millis() и считать его "круги"...

radist_morze
Offline
Зарегистрирован: 26.05.2013

maksim пишет:

radist_morze пишет:

Есть ли в процессинге готовые функции?

А причем тут Processing ?

Ну так кто знает почему у вас время в строке...
Вот посмотрите все можно сохранить в отдельные переменные.

За ссылочку спасибо, то что надо. А мысль о процессинге посетила, весь ИДЕ написан на нем...

По таймеру 1307 читал спецификацию  http://www.henningkarlsen.com/electronics/resource/DS1307/DS1307.pdf откуда и выкачивал библиотеку, там многих функций не было.

Geronimo
Offline
Зарегистрирован: 06.05.2013

IDE написан на java