Гелиостат для управления зеркалом

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

зачем тебе бабло, соревнование нейросетей на тему “кто будет эффективнее торговать криптой на бирже“ закончилось крахом, насколько мне известно)

flexprint по мимо того что это самый эффективный инструмент, которым можно делать почти все)))

по мимо оплаты жизни(не существования!))) я бы роботов собирал,(1кк минимум гуманойд) может нейросети делал, по 300к тратил бы на аренду мощностей на aws amazon вычисления для тренировки нейросетей, и если неправильно создал, все деньги в трубу, и по новой))) https://ya.ru/video/preview/6155274596728771029 кровать на нема 17 собрал бы(или просто платформу) из простых комплектующих(600к) можно придумать сотни проектов))) бабла много не бывает!))) и вроде не дорогие проекты…

них…я себе, мое увожение :saluting_face:

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

Вместо кровати сверху корпус в виде печки и вперед по фестивалям Емелю косплеить. Еще “щуку” в ведре к голосовому ассистенту подключить, вообще улет будет.

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


/// <summary>
        /// Вычисляет текущее положение Солнца относительно горизонта для определения начала и конца темного времени суток.
        /// для вычисления используются координаты текущего положения устройства, заданные в классе GlobalVars
        /// </summary>
        /// <param name="azimuthdegrees"></param>
        /// <param name="altitudedegrees"></param>
        private static void CalculateSunPosition(out double azimuthdegrees, out double altitudedegrees)
        {
            DateTime dateTime = DateTime.Now;
            double Deg2Rad = 0.01745329251994329576923690768489;
            double Rad2Deg = 1 / Deg2Rad;
            // Convert to UTC
            dateTime = dateTime.ToUniversalTime();
            // Number of days from J2000.0.
            double julianDate = 367 * dateTime.Year - (int)((7.0 / 4.0) * (dateTime.Year + (int)((dateTime.Month + 9.0) / 12.0)))
                      + (int)((275.0 * dateTime.Month) / 9.0) + dateTime.Day - 730531.5;
            double julianCenturies = julianDate / 36525.0;
            // Sidereal Time
            double siderealTimeHours = 6.6974 + 2400.0513 * julianCenturies;
            double siderealTimeUT = siderealTimeHours + (366.2422 / 365.2422) * dateTime.TimeOfDay.TotalHours;
            double siderealTime = siderealTimeUT * 15 + StartPage.CurrentDeviceSettings.Longitude;
            // Refine to number of days (fractional) to specific time.
            julianDate += dateTime.TimeOfDay.TotalHours / 24.0;
            julianCenturies = julianDate / 36525.0;
            // Solar Coordinates
            double meanLongitude = CorrectAngle(Deg2Rad * (280.466 + 36000.77 * julianCenturies));
            double meanAnomaly = CorrectAngle(Deg2Rad * (357.529 + 35999.05 * julianCenturies));
            double equationOfCenter = Deg2Rad * ((1.915 - 0.005 * julianCenturies) * Math.Sin(meanAnomaly) + 0.02 * Math.Sin(2 * meanAnomaly));
            double elipticalLongitude = CorrectAngle(meanLongitude + equationOfCenter);
            double obliquity = (23.439 - 0.013 * julianCenturies) * Deg2Rad;
            // Right Ascension
            double rightAscension = Math.Atan2(Math.Cos(obliquity) * Math.Sin(elipticalLongitude), Math.Cos(elipticalLongitude));
            double declination = Math.Asin(Math.Sin(rightAscension) * Math.Sin(obliquity));
            // Horizontal Coordinates
            double hourAngle = CorrectAngle(siderealTime * Deg2Rad) - rightAscension;
            if (hourAngle > Math.PI)
            {
                hourAngle -= 2 * Math.PI;
            }
            altitudedegrees = Math.Asin(Math.Sin(StartPage.CurrentDeviceSettings.Latitude * Deg2Rad) * Math.Sin(declination) + Math.Cos(StartPage.CurrentDeviceSettings.Latitude * Deg2Rad) * Math.Cos(declination) * Math.Cos(hourAngle));
            // Nominator and denominator for calculating Azimuth
            // angle. Needed to test which quadrant the angle is in.
            double aziNom = -Math.Sin(hourAngle);
            double aziDenom = Math.Tan(declination) * Math.Cos(StartPage.CurrentDeviceSettings.Latitude * Deg2Rad) - Math.Sin(StartPage.CurrentDeviceSettings.Latitude * Deg2Rad) * Math.Cos(hourAngle);
            azimuthdegrees = Math.Atan(aziNom / aziDenom);
            if (aziDenom < 0) // In 2nd or 3rd quadrant
            {
                azimuthdegrees += Math.PI;
            }
            else if (aziNom < 0) // In 4th quadrant
            {
                azimuthdegrees += 2 * Math.PI;
            }
            azimuthdegrees *= Rad2Deg;
            altitudedegrees *= Rad2Deg;
        }

/// <summary>
        /// Определяет, в какой четверти координатной плоскости находится угол
        /// </summary>
        /// <param name="angleInRadians"></param>
        /// <returns></returns>
        private static double CorrectAngle(double angleInRadians)
        {
            if (angleInRadians < 0)
            {
                return 2 * Math.PI - (Math.Abs(angleInRadians) % (2 * Math.PI));
            }
            if (angleInRadians > 2 * Math.PI)
            {
                return angleInRadians % (2 * Math.PI);
            }
            return angleInRadians;
        }
```

open cv, 1 мини пк , и 1 камера на окно… но наверное проще на 4 фото датчиках, и опять же каждый почти соберет… не только для корректировки, а вообще, по часам возвращать в исходную позицию и чуть корректировать, если положение чуть сместилось… вы же сами фактически подтолкнули меня к такой идеи))) а полноценные нейросети это долго и дорого, и смысла нет… как и знаний! а то я что то не знаю даже сколько входных слоев делать, и что на них подавать, не считая кучу времени для сбора данных для обучения…

если ты будешь искать решение погеморройнее, тебе никаких денег не хватит, бабосик)

flexprint оплатить месяц существования в виде 200к нечего проще, и проще купить готовое будет))) к тому же потом уже можно продавать дешевую сборку такую, хоть я и не верю в успех… возможно есть модули готовые какие то, но надо искать и вникать в их работу,(а я люблю методом тыка осваивать работу, а не читать документацию часами)))) по крайней мере для меня это не проще))) особенно с математикой не связываться)))

вот это я понимаю, настоящий ардуинщик. не могу больше поддерживать беседу сегодня, я рядом с Курской областью. глушилка LTE включается через 3…2…1

всё уже давно написано, хотелось посмотреть, как другие реализовали:

Что-то ты как-то небрежно считаешь, близко, но не по Миусу )))

К примеру у меня средняя аномалия Солнца:
double M = 357.52911 + 35999.05029 * T - 0.0001537 * T * T;

У тебя:
double meanAnomaly = CorrectAngle(Deg2Rad * (357.529 + 35999.05 * julianCenturies));


Проще всего сделать без приводов вообще. Но это если хорошо знать физику.

Нашел готовое решение. Долго делают, еще дольше везут. Цена вопроса 2500, зато солнце будет в окне. Жаль, что предстоящую зиму пропущу, но будет же следующая. Всем спасибо, здоровья и удачи!

тебя не насторожила ни грамма надпись cloud managed?
Ну ну, сколько потом будут сдирать в год, чтобы это работало

Взял бы стойку за пять, да купил скетч тыщ за 10, то хоть до ума довести можно )))

PS дал бы Бабосику хоть сколько нибудь деньжат, мы его любим, что не сможет - подскажем :wink:

Часы с кукушкой ему в помощь. Но есть еще решение.

это кто же за такую сумму делать будет ?)))
сколько нибудь не интересно))

и вам всего хорошего))) и долгих лет жизни! заходите если че…

и всем остальным, успехов получать по 100.000-200.000$ в год https://habr.com/ru/articles/512598/ и не пилить проекты за еду! лучше сделать 1 проект раз в год за дорого))) а обычной работы кем бы то не было за еду более чем достаточно, что бы не бегать, и не добраться к старости еще и уставшим)))

Проблема в том, что готовы платить, но претенденты, которые могут - бухают в самое подходящее время.

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

PS я не настаиваю, а денег тебе никто и не предлагал )

remosYa там были суммы разные, и определенный способ реализации, если сумма не та, то способ управления будет сильно попроще, сильно попроще наверное не подходит, и мне не ответили)))

и в целом я старался что бы другие взяли заказ, ( или когда предложат - согласятся с тем что предложил я, тогда сделал бы ) а заказчик в итоге действовал как то странно, и чего он ожидал я не понимаю, наверное у него это первый раз… теряется…

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