как запросить с часов rtc время в выражении if

Тема в разделе "Arduino & Shields", создана пользователем Ralex, 27 июл 2016.

?

Как запросить с часов rtc время в выражении if ?

  1. скетч

    100,0%
  2. объяснение

    100,0%
Можно выбрать сразу несколько вариантов.
  1. Ralex

    Ralex Нерд

    Как запросить с часов rtc время в выражении if ?
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    if тут ни при чем.
    Какие часы и какая библиотека используется?
    В примерах к библиотеке должны быть вызовы.
     
    Ralex нравится это.
  3. Ralex

    Ralex Нерд

    amperka rtc. Нужно сделать автополив по расписанию.
     
  4. DIYMan

    DIYMan Guest

  5. Ralex

    Ralex Нерд

    да.
    У меня та же микросхемка, но мне надо не выводить значение на дисплэй, а узнавать сколько сейчас времени, если 12:00:00, то включать помпу.
     
  6. DIYMan

    DIYMan Guest

    Ещё раз: это смотрели? http://wiki.amperka.ru/время:rtc-индикатор

    Там всё есть. Не надо выводить на дисплей - не выводите, просто работайте с переменными времени. Вот, с то страницы:
    Код (C++):
     clock.getTime();
    clock.hour
    clock.minute

    и т.д.
     
  7. Ralex

    Ralex Нерд

    У меня другая библиотека (amperka rtc master).
     
  8. DIYMan

    DIYMan Guest

    Ну так и смотрите методы работы со временем в этой библиотеке.
     
  9. Ralex

    Ralex Нерд

    они там не написаны
     
  10. DIYMan

    DIYMan Guest

    Ок, ещё раз: дайте ссылку на библиотеку, которую используете, и я вам покажу, что там всё написано, раз сами даже напрячься не желаете. Но - в последний раз, больше от меня ответов не будет, ибо не вижу у вас желания самостоятельно разобраться.
     
  11. ostrov

    ostrov Гуру

    Вопрос поставлен так, что вызывает еще больше вопросов. Варианты для голосования вообще непонятно зачем и о чем. Желания вникнуть нет. Вывод: пишите сюда и вам обязательно помогут.
     
  12. Ralex

    Ralex Нерд

    https://github.com/amperka/TroykaRTC
     
  13. DIYMan

    DIYMan Guest

    Вот это, извините - хрен собачий, или функции для работы со временем?
    Код (C++):
        uint8_t getSecond() const { return _second; }
        uint8_t getMinute() const { return _minute; }
        uint8_t getHour() const { return _hour; }
        uint8_t getDOW() const { return _dayOfWeek; }
        uint8_t getDay() const { return _day; }
        uint8_t getMonth() const { return _month; }
        uint16_t getYear() const { return _year; }
     
  14. Ralex

    Ralex Нерд

    они там написаны но я не могу найти нужные мне
     
  15. Ralex

    Ralex Нерд

    и как найти 12ч
     
  16. Securbond

    Securbond Гуру

    Вам нужно с помощью той библиотеки что вы используете запрашивать у модуля в цикле который сейчас час и записывать этот час в переменную, а затем эту переменную сравнивать с нужным вам значением
    Например записали час в переменную hTime
    Код (C++):
     hTime = (tm.Hour);
    Код (C++):

    if(hTime>22||hTime<7)
        {
        // выполняем действие с 23 вечера до 6 утра
    }
    Нужны минуты , сделайте ещё переменную с минутами и далее по аналогии...
     
    Ralex и РусНекромант нравится это.
  17. DIYMan

    DIYMan Guest

    Да не хотите вы ничего искать, вы хотите, чтобы за вас сделали.
     
  18. Вот мой код включающий и выключающий освещение в аквариуме
    Выносим в функцию расчёт того включёна или выключена подсветка

    Код (C++):
    bool IsActiveRelay(){
      //return  ((clock.getHour() >= 13 && clock.getHour() <= 16) || (clock.getHour() >= 20 && clock.getHour() <= 23));
      return (clock.getHour() >= 8 && clock.getHour() <= 23);
    }

    в методе loop делаем вызов и действие

    Код (C++):
    if (!isActiveRelay && IsActiveRelay()){
      // Включаем реле
      digitalWrite(RELAY_PIN, HIGH);
      isActiveRelay = 1;
      //Serial.println("включили реле");
      }
      if (isActiveRelay && !IsActiveRelay()){
      //выключаем реле
      digitalWrite(RELAY_PIN, LOW);
      isActiveRelay = 0;
      //Serial.println("выключили реле");
      }

    ну а как выводить на ваш экран я не в курсе. Сами разберитесь. Это же интереснее!
     
    Денчик_45 нравится это.
  19. Vetrinus

    Vetrinus Гик

    Люди разные) Кому-то интересно. А кому-то просто нужна работающая железка, да еще чтоб можно было сказать, что сам сделал)
     
  20. Ralex

    Ralex Нерд

    Спасибо огромное!
     
    Последнее редактирование: 30 июл 2016