Заход и восход солнца средствами rtc gprs shield v3, оптимизация кода в arduino

Тема в разделе "Флудилка", создана пользователем Андрей Новичок, 26 янв 2020.

Метки:
  1. b707

    b707 Гуру

    это я уже предлагал в начале ветки.
    Но для ТС задачка включения освещения не более чем повод поговорить, ему не нужно решение, ему хочется с четырехэтажными формулами потрахаться.
     
    Андрей Новичок нравится это.
  2. ИгорьК

    ИгорьК Гуру

    Вы извините, если что, нет цели обидеть.
    Но если надо включать свет - включать его надо по освещенности, и там вместо GPRS куда эффективнее фоторезистор.

    Ардуиномания, она такая...
     
  3. SergeiL

    SergeiL Оракул Модератор

    Да и по углу на солнце нормально работает. С 2015-го никаких нареканий. :)
    У @ИгорьК даже все подробно описано здесь
    Причем ночных светильников много, есть топик, доступный по MQTT.
    По нему и включается свет, когда дома есть кто-то :).
     
  4. SergeiL

    SergeiL Оракул Модератор

    Но про GPRS Shield v3 тут можно и поспорить.
    Он легко перемещается.
    А про освещение - тут согласен - все статично.
     
  5. Asper Daffy

    Asper Daffy Иксперд

    Где Вы взяли то, что тут выложили? И нафига выложили?

    Есть такое ощущение, что Вы не умеете читать.

    Я Вам говорю, про системную службу времени, которая есть в стандартной библиотеке языка Си. Её не надо ниоткуда скачивать, она УЖЕ есть у Вас (если версия IDE не слишком допотопная). И там есть и восход, и закат и долгота дня и всё остальное.

    Удалите нахрен все Ваши левости, непонятно где взятые, и просто запустите вот этот пример на "чистой IDE". Делов-то. И, кстати, заметьте, львиную долю памяти там занимает strftime нужная для печати дат в тексте. Без неё там вообще всё компактно.
     
    Последнее редактирование: 28 янв 2020
    alp69, Daniil, Андрей Новичок и 4 другим нравится это.
  6. Неожиданный поворот. Это работает.
    Спасибо Вам за то, что не дали мне возможности начать изобретать велосипед.

    Тема закрыта.
     
  7. SergeiL

    SergeiL Оракул Модератор

    time.lib библиотека прикольная, но около 8-10 КБ памяти она может съесть, там и float используется, и sprintf думаю подтянется.
    Плюс внутренние структуры...
    А 10КБ - это приблизительно треть программной памяти UNO.
    А если сделаете табличку, с временем включения / выключения на год, как рекомендовали, очень сильно сэкономите память. ;)
     
    Последнее редактирование: 29 янв 2020
    Андрей Новичок нравится это.
  8. Да, я работаю над этим. Спасибо b707. Определяю максимумы и вторую производную прямо сейчас для создания опорных точек: медленное изменение - реже опорные точки, быстрое изменение - частые опорные точки. Не теорема отсчётов, но тоже сгодится. И даже, скорее всего, добьюсь результата. Вопрос только во времени. Вам, конечно, виднее, но пока нет результата. Его сначала нужно получить. Для экватора функции симметричны, в нашем случае - нет. Придётся пораскинуть мозгами.
    Тут дело в другом, Asper Daffy показал другой путь. Мне это и нужно было. В любом случае, это гораздо более эффективно, чем считать тригонометрию и полиномы. Точнее не сравнимо эффективнее.
     
  9. b707

    b707 Гуру

    Андрей, у меня такое впечатление, что я разговариваю с глухим. Какая тригонометрия? какие полиномы??
    Вы вообще поняли, что за табличку я вам предлагал сделать? -
     
    ИгорьК и issaom нравится это.
  10. SergeiL

    SergeiL Оракул Модератор

    Вот поэтому я и использую не время восхода и заката +/- смещение в минутах, а угол на солнце.
    Освещение включается при угле меньше -1 градуса, а выключается при угле больше -2 градусов.
    По моим наблюдениям, при таком варианте, уровень освещенности примерно одинаков в момент включения/выключения света и летом и зимой.
    Посчитайте на компе время прохождения солнцем необходимых углов, и получите ту же табличку времени.
    У меня проще, OpenHAB выдает угол на солнце, я его и использую.
     
  11. kraus

    kraus Нерд

    Не проще ли взять реле типа: https://tde-fif.ru/catalog/pcz-525-1 и прикрутить его к ардуине (если нужно)? Обычное астрономическое реле. (Реле времени программируемое предназначено для включения-выключения освещения в моменты захода и восхода солнца в зависимости от географических координат местности и времени года.)
    Не уверен что там памяти больше чем в ардуине, знать как-то вычисляется восход-заход.., а может и просто тупо зашита таблица. Вот руководство с таблицей https://tde-fif.ru/data/files/item_913.ru.pdf
    Стоимость реле пару тыр.
     
    Последнее редактирование: 30 янв 2020
  12. SergeiL

    SergeiL Оракул Модератор

    Смотря что и зачем нужно. :)
    Если есть несколько фонарей, включаемых одним выключателем - то конечно проще, и причем без ардуины.
    А если уже есть что-то типа OpenHAB или подобное, и светильников много, и каждый уже подключен к OpenHAB, почему не воспользоваться встроенными возможностями?
    Да и сложнее в таком варианте с такой штукой получится. :)
     
  13. kraus

    kraus Нерд

    Не факт. Реле может работать в качестве задатчика, а включать-выключать конкретные агрегаты будет ардуина.
     
  14. SergeiL

    SergeiL Оракул Модератор

    Факт! :)
    В OpenHAB это несколько строчек, и команда на включение и выключение в нужный момент отправляется на любой выключатель.
    При этом выключатель может быть и на даче. ;)
     
  15. kraus

    kraus Нерд

    Что-то я не заметил что топикастер будет пользовать OpenHAB .
    И вот не заметил я - на кой ему таблицы на все пояса? Мне было бы достаточно только своего пояса - один раз посчитал и всё...
    Т.е. что, перемещать будет это дело по России?
     
    Последнее редактирование: 30 янв 2020
  16. kraus

    kraus Нерд

    Не совсем так. Фоторезистор лучше, когда ему найдено соответствующее место(чтобы не было засветки ночью), только к этому месту иной раз так приятно тянуть проводку и так не сложно, что намного проще воткнуть релюху в щиток и настроить её.
     
    ИгорьК нравится это.
  17. SergeiL

    SergeiL Оракул Модератор

    Ну каждый выбирает свой путь. ;)
    Да и в случае варианта TC, сравнить время из таблички с текущим, для меня было бы проще, чем ехать покупать за 2800 руб. дополнительное реле, ставить куда то его, подключать питание к нему, заводить контакты на ардуину...
     
    kraus нравится это.
  18. ИгорьК

    ИгорьК Гуру

    В моем случае за это (отдельно) отвечает устройство управления поливом теплицы, которое расшаривает данные об освещенности на MQTT брокер, откуда его забирают три устройства управления освещением.

    Но, как я уже писал, все сложнее - система знает поставлена ли дача на охрану, приехал ли я сейчас и вышел ли во двор в неурочное (неосвещаемое) время.

    Ну это к тому, на что сосредотачивать усилия: на формулы/таблицы или на решение практических задач. Мне последнее интереснее.
     
    SergeiL нравится это.
  19. PROGMEM
     
  20. Премного благодарен, ну а нельзя сразу было выдать весь поток информации? А то чувствую себя как осёл в байке Хаджи Насреддина, который стопку сена привязывал к палке, выставляя её перед ослом, чтобы он двигался вперёд.