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

Нам очень повезло, что планета Земля вращается под углом к плоскости орбиты. Это приводит не только к смене времен года, но и также к тому, что на каждой широте длительность светового дня различная.

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

В количественных величинах на 10 июня это такие продолжительности светового дня для разных широт

продолжительность светового дня для разных широт
продолжительность светового дня для разных широт

Также нам очень повезло, что в нашей солнечной системе существует всего одно Солнце, а не два, три или четыре. В связи с этим световые лучи падают на Землю параллельно, что существенно упрощает вычисления. Это первая хорошая новость.

Причем на самой Земле человечеству до сих пор так и не удалось создать источников света, которые светят однородно широко и параллельно.

Учитывая эти обстоятельства можно назначить Солнцу настоящую работу, чтобы оно не просто так впустую светило каждый день, a еще и делало что-то по-настоящему полезное для общества.

Итак план таков. Если взять микроконтроллер, к ADC пину микроконтроллера подключить через делитель напряжения фоторезистор (или датчик света по I2C), потом целый день непрерывно записывать на SD карту показания солнечной освещенности вкупе с временными отметками из часов реального времени RTC, то спустя 24 часа можно оценить или даже вычислить широту (длительность светового дня) и долготу (фаза светового дня). То есть можно вычислить свои географические координаты!

Надо лишь накропать вот такой остроумный гаджет

Блок-схема солнечного навигатора
Блок-схема солнечного навигатора

Вот, например, такой график запишет устройство за день работы. Строго говоря, этого должно быть достаточно для определения своего местонахождения.

этой инфы должно быть достаточно чтобы однозначно сказать где записан лог
этой инфы должно быть достаточно чтобы однозначно сказать где записан лог

Таким образом устройство-логер превратиться в навигационный приемник, который раз в 24 часа выдает навигационную координату!

Тут прежде чем двигаться дальше надо договориться о некоторой терминологии.

Терминология

Склонение Солнца-Угол между земной осью и отрезком, соединяющий Землю и Солнце. Зависит только от времени-даты. Меняется с периодом в год. Допустимые значения от -23,5....23,5 градусов

Местное солнечное время-время, определяемое в месте нахождения наблюдателя видимым положением Солнца на небесной сфере (например, истинный полдень в некоторой точке Земли наступает в момент верхней кульминации Солнца);

Теория

Как вычислить долготу?

Надо найти момент времени максимальной освещенности. Однако это не всегда удобно из-за облаков. Можно вычислить время восхода и время заката. Из времени заката вычесть время восхода, поделить на 2 и прибавить это число к времени восхода. Так мы получим время полудня для данной долготы. Если время полудня совпало с 12:00 на UTC+0 то это значит, что мы на нулевом меридиане. За 1 час Солнце в кульминации заметает 15 градусов долготы на глобусе.

С долготой всё просто: даешь время кульминации Солна, получаешь долготу.

Как вычислить широту?

Тут поинтереснее. Надо вспомнить школьную тригонометрию.

иллюстрация к выводу формулы вычисления длительности светового дня
иллюстрация к выводу формулы вычисления длительности светового дня

Существует формула которая вычисляет продолжительность светового дня по широте и солнечному склонению.

вывод этой формулы можно посмотреть тут https://pandia.ru/text/77/376/23564.php
Получается, даешь широту, солнечное склонение, получаешь продолжительность светового дня.

Заметьте, высота установки датчика ни в коей мере не влияет на результат вычисления продолжительности светового дня. Это вторая хорошая новость!

Как вычислить солнечное склонение?

Солнечное склонение меняется с периодом в один год от 23,45 градусов (22 июня )до -23,45 градусов (22 декабря).

Солнечное склонение это просто гладкая непрерывная периодическая функция от даты из календаря.

склонение Солнца
склонение Солнца

где n – порядковый номер дня в году, начиная от 1-го января

Практическая часть

Детали реализации солнечного навигатораЯ решил собрать свой солнечный навигатор из того, что было на балконе.

Компонент

1

отладочная плата NUCLEO-F401RE с микроконтроллером STM32F401RE на борту

2

модуль I2C часов реального времени DS3231

3

карта памяти SD micro 128MByte c SPI интерфейсом

4

какой-то Фоторезистор 125kOm (свет) 2MOm(тьма)

5

3х пиновые Wago зажимы

6

кабель USB A-USB(mini) для подключения к PC или PowerBank

7

PowerBank

8

перемычки вилка-гнездо

9

Оргстекло 3мм в качестве основы прототипа

10

Пластиковые стойки с болтами и гайками

11

модуль I2C датчика освещения на основе ASIC BH1750

12

двусторонний скотч

Нашел отладочную плату, фоторезистор, модуль с часами реального времени и собрал прототип. Даже паять ничего не пришлось, только на 100W(ном) лазерном резаке основание пришлось вырезать из оргстекла, чтобы закрепить отладочные платы. Внешний вид прототипа такой

внешний вид прототипа
внешний вид прототипа

У попавшегося фоторезистора во время восхода проводимость равна 1.474320....1.503056 MSimens. Время восхода для своего региона я взял с астрономических сайтов. Откалибровав получил такие значения водораздела.

Восход

Закат

1.462417, 04:02:27 24/5/2023

1.604962, 20:50:15 24/5/2023

1.460938, 04:02:47 24/5/2023

1.596703, 20:50:35 24/5/2023

1.474320, 04:03:07 24/5/2023

1.588496, 20:51:15 24/5/2023

1.495430, 04:03:27 24/5/2023

1.573853, 20:51:35 24/5/2023

1.503056, 04:03:47 24/5/2023

1.567398, 20:51:55 24/5/2023

1.532468, 04:04:07 24/5/2023

1.554585, 20:52:15 24/5/2023

продолжительность светового дня получилась 20:51:55 - 04:03:07=16:48:48. Калькулятор времени тут https://allcalc.ru/node/2277. По формуле такая продолжительность светового дня соответствует широте 56.5 градусов северной широты. Признаться это больше чем на самом деле. Видимо тот сайт указывал время восхода/заката учитывая рефракцию атмосферы, а формула которую я применяю рефракцию не учитывает.

Проводимость (в МегаСименсах) фоторезистора от времени
Проводимость (в МегаСименсах) фоторезистора от времени

Точное время для инициализации часов можно взять отсюда https://timeskaner.ru/utc.html. Лучше сразу прописывать в устройство время по Гринвичу UTC+0, прямо как в GNSS приемниках.

При подключении по SPI SD карта почему-то распознается только, когда Allocation Unit size настроен на 2048 байт. Данные на SD карту лучше писать в формате электронных таблиц в *.csv файл. Тогда их можно будет сразу импортировать и просматривать прямо в docs.google.com/spreadsheets.

Навигационное устройство можно сделать сверхлегким и сверх минималистичным. По сути надо только микроконтроллер, RTC, Light Sensor и опционально Flash-память.

Достоинства навигации по фазам солнечного освещения

  1. это дешево. Всего три компонента: фоторезистор, часы реального времени, SD-карточка, микроконтроллер.

  2. простота реализации оборудования.

  3. малые габариты оборудования

  4. малая масса оборудования

  5. радио электронная борьба для GNSS не работают в этом случае. Никто не может выключить Солнце.

  6. можно уточнять координату каждый день.

Недостатки навигации по фото-резистору

  1. устройство надо калибровать. Надо указать явно какое сопротивление фоторезистора соответствует рассвету и закату.

  2. Долго выдает навигационное решение. Долго ждать одного измерения 24 часа. Это подойдет в основном для стационарных предметов на открытом воздухе, метеостанции, контейнеры, вагоны.

  3. устройство желательно должно быть неподвижным целый день.

  4. Низкая точность. +/- 220 км. Особенно по широте большая ошибка 80-120 км. Зависит от погоды.

Неприятности навигации по фазам освещения

1--Сопротивление фоторезистора зависит не только от освещенности, но и ещё от температуры. Утром фоторезистор холодный, вечером - теплый. Поэтому и значения при той же освещенности разные. Вечером у фоторезистора при той же, что и утром освещенности сопротивление больше. Нужен не просто фоторезистор, а полноценный прецизионный датчик освещенности с термо компенсацией, например BH1750. Вот на этом графике показано сравнение фоторезистора и ASIC датчика освещения BH1750.

заметьте что проводимость фоторезистора пропорциональна логарифму от освещения, а не просто от освещения.

2--В пасмурные дни (типа 2 июня 2023) продолжительность светового дня вычисляется меньше чем есть на самом деле.

Возможные приложения навигации по фазам освещения:

  1. Навигация по фоторезистору может быть полезна для вспомогательного отслеживания перемещения крупногабаритных товаров, которые в основном подолгу хранятся на открытом воздухе, таких как контейнеры, вагоны, корабли.

  2. Также каждая метеостанция может вычислять свои координаты по датчику освещения. В условиях отключения GPS навигация по освещению окажется одним из решений.

  3. Способ навигации по фазам солнца поможет примерно ориентироваться для марсоходов и луноходов.

  4. Так как оборудование минимально (всего три компонента), то можно отслеживать перемещение диких животных (птиц).

  5. Как по мне, самое адекватное применение этой темы это встроить фоторезистор в наручные часы и часы сами, лежа на подоконнике определят свой часовой пояс и переключатся на местное время.

  6. Можно встроить датчик освещения в портативные радиостанции для передачи примерного местонахождения в транкинговой сети.

Шоурум графиков фаз освещения

Был очень яркий день. Облаков не было. Там не менее появились 2 непонятных проседания. Вероятно это Солнце зашло за многоэтажки.

29 мая 2023
29 мая 2023

Тут видно, что нагревание фоторезистора влияет на его сопротивление

30 мая 2023
30 мая 2023

Продолжительность дня: 17h 09m, Восход 00:52, кульминация 09:27, закат 18:02, 01/6/2023 максимальная освещенность 08:55:16

1 июня 2023
1 июня 2023

а это пасмурный день с грозой и молниями 2 июня 2023

2 июня 2023
2 июня 2023

Что с точностью измерения координат?

Мой прототип такого навигатора, установленный на балконе, показывает ошибку по широте 80км и ошибку по долготе 58,2 км...120км. Причем долгота определяется на порядок точнее чем широта. Но тут надо сразу отметить, что я пока еще ничего не начинал делать для увеличения точности. Пополнять лог результатов буду в этом реестре

https://docs.google.com/spreadsheets/d/1q1Q4BvpVELhuVvXNgQFRqmsdtKTIxMgbEzHBmkHPNc0/edit#gid=0

Как можно попробовать увеличить точность?

  1. Использовать более точные формулы вычисления солнечного склонения, учитывать прецессию Земли.

  2. Использовать несколько датчиков освещения для исключения бликов.

  3. Использовать более точные часы. Например атомные часы.

  4. автоматически определять направление тени от вертикального стержня и таким образом точнее определить долготу.

  5. Установить солнечный навигатор выше. На крышу здания. Так как в формуле высота не фигурирует, зато график освещения будет более гладким, как следствие эксперимент чистым.

  6. найти или вывести формулы продолжительности светового дня, для конкретной широты которые учитывают рефракцию атмосферы.

Выводы

Навигация по фазам освещения это вполне доступный вариант оценочной навигации. Первая точность -/+ регион. Можно по крайней мере автоматически определить свой часовой пояс.

Также появляются очень подозрительные всплески и проседания освещения во время дня. Может это связано с бликами от окон многоэтажек. Наверное лучше считывать данные освещения сразу с двух датчиков освещения.

При этом фоторезистор это очень плохой вариант для датчика освещения так как показания фоторезистора еще зависят и от температуры.

На точность вычисления широты сильно влияет точность измерения продолжительности светового дня.

Надо калибровать датчик освещения. Надо понимать какое показание светимости соответствует водоразделу ночь/день и день/ночь

Тема навигации по датчику освещения также может быть вариантом, например, для школьных кружков робототехники в качестве реальной учебной задачки. Всё оборудование доступно и дешево. При этом разработка такого прибора затрагивает много аспектов программирования: тестирование кода, делитель напряжения, триггер Шмитта, файловая система (например FatFs), шина I2C, часы реального времени, немного реальной тригонометрии, часовая арифметика, ряды Фурье, сбор логов, метрология, анализ больших данных, красивые графики и даже астрономия!

При этом написанные и протестированные программные компоненты (SD/FatFs/TrigSchmitt/BSP/RTC) можно потом пере использовать в других проектах просто переписав конфиг.

Это не просто датчик света. Это разговор с самой природой.

В общем эта тема позволила мне стать немножко более просвещённым.

Ссылки
https://timewek.ru/citysun.php

https://math.d3.ru/formula-dnia-i-nochi-2079568/?sorting=rating
https://ru.wikipedia.org/wiki/Долгота_дня

https://www.hmn.ru/index.php?index=41&value=1
https://pandia.ru/text/77/376/23564.php
https://www.youtube.com/watch?v=ZPUYBsI7Pp0

https://лунник.рф/восход-заход-солнца
https://www.hmn.ru/index.php?index=41&value=1
https://poznayka.org/s78818t1.html

Словарь

Акроним

Расшифровка

csv

Comma-Separated Values

RTC

Real Time Clock

GPS

Global Positioning System

UTC

Coordinated Universal Time

GNSS

Global Navigation Satellite System

ADC

analog-to-digital converter

SD

Secure Digital

I2C

Inter-Integrated Circuit

FAT

File Allocation Table

FS

File system

Комментарии (62)


  1. Moskus
    10.06.2023 00:24
    +17

    В связи с этим световые лучи падают на Землю параллельно, что существенно упрощает вычисления.

    Строго говоря, это грубое приближение. Угловой диаметр Солнца - около 0,5°. Соответственно, эта величина определяет максимальную величину расхождения лучей в любой точке, освещённой солнечным светом.

    Причем на самой Земле человечеству до сих пор так и не удалось создать источников света, которые светят однородно широко и параллельно.

    Это также неверно, потому что свет, проходящий через микроканальную пластину (используется, например, в приборах ночного видения) может обладать большей степенью параллельности.


  1. Javian
    10.06.2023 00:24
    +11

    Т.е. чтобы вычислить правильно надо как-то узнать местное время и "Время восхода для своего региона я взял с астрономических сайтов".

    Поэтому нельзя взять это устройство и приехать куда-то еще и узнать свои координаты. Астролябия как-то удобнее работает :)


    1. ihouser
      10.06.2023 00:24
      +9

      Астролябия какая то древность. Но, если к ней приделать ардуино, то сразу станет модной штучкой.


      1. Squoworode
        10.06.2023 00:24
        +18

        Астролябуино


      1. Javian
        10.06.2023 00:24

        Arduino добавит точные часы хронометр и можно будет определить долготу.


    1. aabzel Автор
      10.06.2023 00:24
      +1

      Откалибровать датчик света можно в одном месте, а использовать прибор в другом уже без калибровки.


  1. Radisto
    10.06.2023 00:24
    +15

    Прошу прощения за то, что ужасный душнила, но не могу удержаться от пары мелких уточнений

    Например, за северным полярным кругом (на широтах выше 66.5 градусов) световой день это полгода как и световая ночь.

    Не совсем. Полярные день и ночь по полгода только на полюсах, а за полярным кругом они только летом и зимой соответственно, и значительно короче. Весной и осенью там вполне обычные сутки, в дни равноденствий совпадающие с африканскими. Хуже того, полярная ночь часто - не очень-то и ночь, а близка к сумеркам, как впрочем и полярный день. Вашему навигатору вследствие этого будет крайне тяжело поймать момент рассвета и заката - сумерки будут всё продолжительнее и продолжительнее от экватора к полюсам. Позволю себе ещё одно гадкое замечание: погрешность в результате одного изменения - это не очень-то погрешность, а скорее случайность. Попробуйте проводить измерения в разные времена года (хотя бы от зимнего до летнего солнестояния), разумеется в солнечную погоду, чтобы избавиться от влияния облаков, с одной и той же калибровкой. Боюсь, доверительный интервал определения координат, полученных этим методом, может оказаться разочаровывающе широким на широтах, далеких от экватора и превысить уже полученную вами погрешность (хотя я возможно придираюсь - книга Новицкого и Зограф все ещё на меня влияет) Но саму идею в принципе я безусловно приветствую (просто подводные камни в ней огромны и совершенно не очевидны без учебника по астрономии). Честно и со стыдом признаю, что в электронике я плох


    1. Moskus
      10.06.2023 00:24
      +3

      Ни в коем случае не извиняйтесь за объективную критику с техническими подробностями. "Душнилой" за такое может назвать только один из тех моральных уродов, которым всё в жизни кажется комедией.


    1. aabzel Автор
      10.06.2023 00:24

      Как же интересно покорители северного полюса в 193x смогли понято, что они на северном полюсе?
      Звезд в полярный день не видно. Вместо солнца сумерки.
      До развертывания GPS еще 60лет ждать.


      1. Moskus
        10.06.2023 00:24
        +3

        Магнитный компас при этом далеко не полностью бесполезен, как и ориентирование по солнцу, плюс счисление пути.


        1. aabzel Автор
          10.06.2023 00:24
          -1

          плюс счисление пути.

          Ну конечно же! У них в 193x была механическая инерциальная навигационная система!

          Три гироскопа (на маховиках 10 оборотов в секунду) и 3 груза на 2х пружинах каждый.
          И лог 6 переменных записывался на барабаны с бумагой.


          1. Radisto
            10.06.2023 00:24
            +1

            Эйнштейн неплохие деньги поднял на усовершенствовании гирокомпаса в компании с Аншютцем. И смог их сберечь, потому что его друг Герман переводил их в Швейцарию. Два гироскопа (гироскоп Эйзенштейна-Аншютца, по тем временам большой прорыв по сравнению с однороторными. Эйнштейн, будучи патентным поверенным, как раз и смог доказать, что два ротора - это существенное отличие, достаточное для отдельного патента). Как раз 1931 год. Многие подводные лодки оснащались копиями аншютцев. У СССР это был кажется "курс-3". Идея достигнуть полюса на подводной лодке, если не сильно вру, была Аншютца, по крайней мере, он высказал ее одним из первых.


            1. Moskus
              10.06.2023 00:24
              +1

              При постановке задачи в виде достижения географической широты гироскоп не очень нужен.


          1. Moskus
            10.06.2023 00:24
            +1

            Любопытно, что вы счисление пути только так представляете. Хотя, учитывая употребление вами оборота "как понять" - это не странно.


            1. Radisto
              10.06.2023 00:24
              +1

              Помнится мне, счисление пути времен Джека Воробья - это курс по компасу, время по песочным часам (те самые склянки), и скорость по лагу (деревяха с линем, повязанным узелками по всей длине). И ничего - плыли и приплывали))) Капитана Джека Воробья, конечно же


    1. FrolVII
      10.06.2023 00:24
      +3

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

      В конце лета в Заполярье есть интересный период: когда сначала очень долгий закат - а потом сразу рассвет. Деревьев нет, городов нет, местность относительно плоская - наблюдать в таких условиях подобные картины весьма.


    1. para_u
      10.06.2023 00:24

      ну почему же "душнилой" ? мы же здесь за интересностями, а не "сделать как надо". такие факты и ньюансы полезны в раскопках нужного метода-решения


  1. chnav
    10.06.2023 00:24
    +11

    Каша из топора (c)


  1. nikolz
    10.06.2023 00:24
    +11

    Прикольно, но "дорогущие цифровые санкционные навигационные приемники" китайского производства стоят 5 недружественных долларов и обеспечивают , в самом худшем случае, погрешность в 100 метров, за время не более 10 минут.

    Ваше решение обеспечивает измерение координат с погрешностью 100 000 метров за 1440 минут.

    Очевидно, не стоит противопоставлять одно другому. Игра не стоит свеч.


    1. bbs12
      10.06.2023 00:24
      +2

      навигационные приемники

      Низкоорбитальные спутники сбивать точно умеют, навигационные летают на высотах ~20 тыс. км. Интересно есть ли у крупных стран планы и техника для удаления с орбиты этих спутников в случае обострения конфликта?


      1. sim31r
        10.06.2023 00:24

        Вагон щебня на встречной орбите. Ну или с оптимизацией, шарики из карбида кремния или плотного металла. Далее в дело вступят осколки от столкновений. Это может занять недели и месяцы. Уже сейчас космический мусор проблема, а миллионы искусственных объектов будут в тысячи раз чаще такие разрушения вызывать

        https://habr.com/ru/companies/first/articles/735292/

        Для аппаратов в магнитном поле Земли в 1960е годы уже испытаны методы проще, атомный взрыв делает потоки заряженных частиц, которые длительное время крутятся в магнитных поясах и вызывают полярное сияние над Тихим Океаном. Если мощность повысить они вероятно пожгут все спутники.


    1. aabzel Автор
      10.06.2023 00:24
      -2

      1. nikolz
        10.06.2023 00:24
        +3

        https://aliexpress.ru/wholesale?SearchText=gps+module&maxPrice=420&g=y&page=1

        и это еще не все. У меня на окне лежит NEO-8M. Использую его для синхронизации компьютера вместе с сервером NTP. Когда спутников мало, то погрешность та, которую написал выше.


        1. aabzel Автор
          10.06.2023 00:24

          Интересно насколько миниатюрным и легким может быть дешевый GNSS приемник.


          1. nikolz
            10.06.2023 00:24
            +2

            Зависит от того, в какой форме надо получить результат и какие характеристики интересуют.

            Если устраивает UART или I2C, то, примерно, модуль с антенной 18x18 мм2, вес 8 гр.


  1. simenoff
    10.06.2023 00:24
    +6

    "Фоторезистор" же


  1. iliasam
    10.06.2023 00:24
    +2

    Думал, увижу тут полноценную реализацию навигации на контроллере, а тут, если я правильно понял, все расчеты делаются вручную.


    1. aabzel Автор
      10.06.2023 00:24

      Вовсе нет. Все расчеты в микроконтроллере в прошивке.
      Пользователю достаточно вечером извлечь SD карту, вставить ее в LapTop и открыть файл с навигационным решением

      а там строчка на каждый день
      latitude/longitude: 58.880000,35.700000 Deg
      latitude/longitude: 55.340000,36.500000 Deg
      +
      Там же на SD карте есть и низкоуровневая инфа: график освещения, время восхода, кульминации, заката, солнечное склонение и прочее.


  1. gnomeby
    10.06.2023 00:24
    +7

    Если вы оказались в одних трусах на необитаемом острове, то широту можно вычислить ночью по звёздному небу по углу между двумя прямыми палочками, одна из которых будет свисать вниз, а вторая указывать на центр вращения звёзд, который можно или знать или пронаблюдать в течении ночи.

    А вот долготу вычислить без часов вообще никак нельзя, ибо она в принципе привязана к Гринвичу.


    1. isden
      10.06.2023 00:24
      +7

      Если вы оказались в одних трусах на необитаемом острове

      то примерное знание широты вам мало чем поможет.


      1. 314159abc
        10.06.2023 00:24
        +5

        Почитайте жюля верна, необитаемый остров. Там они практически с этого начали


      1. gnomeby
        10.06.2023 00:24
        +3

        Жюль Верн в Детях капитана Гранта не согласится с вами


    1. Radisto
      10.06.2023 00:24
      +6

      Без знания точного времени, если быть нудным, прошу прощения. А для этого часы не обязательны. До изобретения хронометра точное время вычисляли астрономически, правда это требовало хороших наблюдений, и наблюдательный пункт был стационарным. Луну наблюдали (низкая точность, не довели до ума, зато наблюдать легко), и спутники Юпитера (высокая точность, даже конечность скорости света так впервые обнаружили, но наблюдать было сложно даже с земли. Но астрономический способ определения времени на них р был завязан - в стационарных пунктах были центры синхронизации хронометров. Вывести точное время "в часах" с Гринвича в какую-нибудь Австралию долгое время можно было только с сильной потерей точности). Центр вращения легко определяется только в северном полушарии. В южном будут проблемы


      1. gnomeby
        10.06.2023 00:24
        +1

        Да, если у вас есть под рукой каталог небесных событий с указанием точного времени их в известном часовом поясе, то действительно можно определить смещение относительно гринвического меридиана.

        И даже без часов, хотя простейшие водные соорудить можно, можно примерно прикинуть в каком секторе долгот вы находитесь, хотя вы скорее всего это и так подозревали, не телепортировали же вас на остров.

        Но я тут подумал каталог с собой иметь не нужно. Нужно просто соорудить часы. И записывать наблюдаемые астрономические события с указанием времени. Потом эти записи положить в бутылку, если её прибило к берегу и отправить по течению. Если повезёт и бутылку выловят, то потом можно через Stellarium установить точку с которой были сделаны наблюдения.


  1. Arhammon
    10.06.2023 00:24
    +3

    Сопротивление фоторезистора зависит не только от освещенности, но и ещё от температуры.

    -фоторезистор можно жарить в термостате градусах на 70.

    -если параметры линейные, то можно подобрать довесок с противоположным ТКС

    -взять термодатчик и корректировать в цифре


    1. sim31r
      10.06.2023 00:24
      +1

      Или образцовый источник света направлять на идентичный фоторезистор и калибровать его так. Заодно проблема с линейностью решается.


  1. engine9
    10.06.2023 00:24
    +4

    Концепт очень интересный и найдёт своё применение, мне кажется что его основной минус это влияние облачности на начало и конец дня, так, например высоко висящие облака могут переотражать свет Солнца из за горизонта. Так же плотная облачность затемнять утренние и вечерние часы. Ну и проблема светового загрязнения от городов, подсветка тоже будет влиять.


  1. 12val12
    10.06.2023 00:24

    а я хотел тараканов считать фотодатчиком с передачей по ESP.. и то веселее


  1. vk6677
    10.06.2023 00:24
    +3

    Как я понимаю, высокая точность часов реального времени не критична для данной задачи. Возможно использовать RTC микроконтроллера, подключив внешний кварц на 32 кГц. Пропадёт необходимость во внешних часах.


    1. aabzel Автор
      10.06.2023 00:24

      Просто у этой отладки NUCLEO-F401RE нет батарейного отсека для RTC.
      Поэтому пришлось пристегнуть внешние i2c часы.


  1. Slonosvin
    10.06.2023 00:24

    Идея, безусловно, занятная. Но мне, почему-то вспомнился анекдот. Идёт мужик утром через парк. Проходит мимо фонтана, оттуда высовывается чья-то голова и просит: Мужик, подскажи, пожалуйста, куда меня занесло. Мужик отвечает: Это фонтан в парке Победы. Голова ему: Да на#@й эти подробности, город какой?


    1. aabzel Автор
      10.06.2023 00:24

      Тогда можно прибегнуть к помощи GNSS RTK
      https://habr.com/ru/articles/648247/


  1. RV3EFE
    10.06.2023 00:24
    +2

    Очень интересная статья и подход. Понравилось описание. Лично я очень люблю какие-то необычные решения.


    1. aabzel Автор
      10.06.2023 00:24
      +1

      Лично я очень люблю какие-то необычные решения.



      Думаю Вам тогда понравятся эти два текста

      H-мост: Load Detect (или как выявлять вандализм)
      https://habr.com/ru/articles/709374/
      Задача про две ёмкости для жидкости
      https://habr.com/ru/articles/662561/


      1. RV3EFE
        10.06.2023 00:24
        +1

        Почитаю, спасибо!


  1. Radisto
    10.06.2023 00:24
    +2

    Можно попробовать камеру обскура. Внутри фотодатчик, нацеленный на юг. Самый яркий луч (если нет облачности, конечно) будет от солнца. Это можно выставить порогом срабатывания так, чтобы вне яркого дня вообще не срабатывал. Таким образом можно примерно оценить время местного полудня (а соответственно и долготу). Для широты конечно лучше высоту определить, но тут либо линейка датчиков (сложно и принцип другой, неспортивно) или механическая развертка (но это два датчика: фото и угол поворота) ну и по ширине он должен захватывать больше, чем по высоте - высота важна для точности, а ширина такой, чтобы вся аналемма по ширине уместилась, иначе придется поправку вправо-влево от юга делать, да и магнитное склонение учитывать, если устанавливать по компасу. Лучше конечно установить ночью по Полярной звезде. В южном полушарии конечно проще по компасу


    1. iliasam
      10.06.2023 00:24
      +1

      Такими темпами можно и к роботизированному тахеометру с камерой прийти)
      Конечно, Б/У телескоп с моторизированной монтировкой будет значительно дешевле.


  1. VT100
    10.06.2023 00:24
    +3

    Усреднить видимую фоторезистором яркость, накрыв его матовой полусферой?

    Подправить резкие колебания яркости поправками на рассчитатанную яркость?


    1. Radisto
      10.06.2023 00:24
      +1

      Растения таким образом определяют время, когда зима близко. У них для усреднения химический интегратор. Тут обратная задача: когда зима - известно. Тоже вариант


  1. Octonion
    10.06.2023 00:24
    +3

    Секстант точнее и быстрее будет. Но идея прикрутить электронику для навигации по Солнцу (и возможно звёздам), выглядит интересно, надо будет над этим подумать


  1. Radisto
    10.06.2023 00:24
    +2

    А вообще измерения звезд при помощи секстана - не самое сложное в навигации, поэтому датчики можно, думаю, заменить глазом. Это практический навык. Самое сложное - навигационные вычисления. Это очень образно и доходчиво описал ещё Джон Сильвер в разговоре у бочки яблок на борту Испаньолы. А на Ардуино астровычислитель реализовать как раз таки можно. Даже сейчас это выглядит интересным, а в Золотой Век пиратства какой-нибудь капитан Флинт за такое душу бы продал, не задумываясь. И вычисление положения полюса мира по звездам, на нем не лежащим (для южного полушария - вообще огонь, мне кажется. Астрокомпас, чтобы вычислить местное магнитное склонение и определить деривацию вашей каравеллы). Или вычислить точное местное время (тут и долгота появится). Ноктюрлабиум на Ардуино не думали реализовать? С такими возможностями он даже в южном полушарии будет работать (настоящий ноктюрлабиум к сожалению навести на полюс мира можно только в северном, в южном вычислительных способностей межушного ганглия не хватает)


    1. VT100
      10.06.2023 00:24
      +2

      деривацию

      Девиацию компаса каравеллы, наверное.


      1. Radisto
        10.06.2023 00:24
        +1

        Девиацию, конечно же вы правы


    1. aabzel Автор
      10.06.2023 00:24

      Ноктюрлабиум на Ардуино не думали реализовать? 

      Думал. Но углы в электронике очень трудно мерять.
      Надо либо энкодер, либо резольвер подключать, а это дорого и надо много custom 3D деталей проектировать на CNC потом вытачивать.



      1. Radisto
        10.06.2023 00:24
        +1

        Акселерометр (или гироскоп, нн знаю как он правильно называется) на прозрачную пластину, на которой нарисована линия. На линию поймать две звезды (список удачных пар звёзд надо заранее. Две-три пары, больше все равно не нужно. Измерения должно быть два с интервалом таким, чтобы небо заметно провернулось (несколько часов в идеале, для точности. Это как раз контроллер на себя и возьмет).В зените такой угломер работать не будет, но можно просто не выбирать пары звёзд близко к зениту. Абсолютную высоту над горизонтом так не определить, но для определения местного времени должно хватить. Что-то вроде коробки с прозрачным окошком с визирной линией. На вытянутых руках совместили с парой звезд, нажали кнопку под пальцем. Подождали, повторили. Оно вычислило по двум углам и разнице времен между измерениями, в каком положении были звёзды - есть местное время (и долгота). Для широты надо высоту от горизонта мерять. Тут точное измерение угла - или оптика, или механика с секстаном. Это да, сложно.


  1. fivlabor
    10.06.2023 00:24
    +1

    Добавлю пару способов для улучшения метода:

    Магнитное поле направлено не параллельно поверхности. Также магнитный полюса нашей планеты не совпадают с осью вращения.

    Если дополнительно использовать трехосный магнитометр, то можно использовать магнитное склонение + наклонение. Нужна также база этих склонений и куча математики :) и условие, что рядом нет кучи железа

    Подробнее, тут https://en.m.wikipedia.org/wiki/Magnetic_dip и https://en.m.wikipedia.org/wiki/Magnetic_declination

    Если брать MEMS гироскоп и переодически его поворачивать на небольшой угол, то можно с некоторой погрешностью определять направление оси вращения планеты (так работает гироскопический инклинометр - из-за силы кориолиса, гуглите статьи по фразе "North Finding System Using a MEMS Gyroscope"). Тогда не потребуется ждать, когда тень от палки короче всего + работает в пасмурную погоду и под поверхностью.

    И магнитометры и гироскоп стоят относительно недорого


    1. Radisto
      10.06.2023 00:24
      +1

      Тут самая засада в металле. Помню, попал мне в руки компас - пользоваться им в городе или даже поселке часто невозможно. Его мотает туда-сюда. Как оказалось, у нас под ногами этого железа закопано слишком много. У меня сейчас на столе простенький компас лежит - он как и смартфон врёт почти на 90 градусов


      1. VT100
        10.06.2023 00:24
        +1

        Мой старый мобильник-недосмарт просил несколько раз перевернуть его в нескольких плоскостях при включении навигации - калибровал компас.

        ЕМНИП, такое требование и у английского microBit. Можно покопать исходники.


        1. Radisto
          10.06.2023 00:24
          +1

          Пластмассовый компас не просил его переворачивать, но я его и переворачивал и тряс. Калибровки он не требует и исходников не имеет. В разных местах комнаты показывает в разные стороны


          1. VT100
            10.06.2023 00:24
            +1

            Я в том смысле, что если уничтожение девиации встроенного компаса не было предусмотрено, то и переворачивать не просят.

            Теорию, алгоритм и формулы - можно посмотреть тут.


  1. AlfShumway
    10.06.2023 00:24
    +2

    Проводимость (в МегаСименсах) фоторезистора от времени

    Многовато для проводимости. Скорее в миллисименсах.


  1. Denev
    10.06.2023 00:24
    +1

    5--радио электронная борьба для GNSS не работают в этом случае. Никто не может выключить Солнце.

    Я бы на вашем месте не зарекался.