2024. március 19., kedd

Gyorskeresés

Local Sidereal Time on Atmega328 (Arduino)

Írta: |

[ ÚJ BEJEGYZÉS ]

Sokat nem tennék hozzá, egy távcsőves projektemhez van szükség rá, hátha másnak is jól jön.

Itt a sketch:

/* Based on http://astro.neutral.org/arduino/local-sidereal-time-arduino-microcontroller.shtml
and https://forum.arduino.cc/index.php?topic=359573.0 V-drive user's example.

távcsőves 2017.06.24.
*/

#include <RTClib.h> // https://github.com/adafruit/RTClib
#include <Wire.h>
RTC_DS3231 RTC;

int TIMEZONE = 1; // Your timezone, my location timezone is 1 (Central Europe)
int DST = 1; // Value = 1 if summer time, in winter value = 0
float LONGITUDE = 15.28133; // Your position to the Earth (West value - sign. My current position in the example, if you not have GPS receiver, Google Maps tell your cordinate's.)

void setup()
{
Serial.begin(9600);
Wire.begin();
RTC.begin();
}

void loop() {
CalculateLST();
delay(1000);
}

void CalculateLST() { // Calculate Local Sidereal Time
DateTime now = RTC.now();

double M, Y, D, MN, H, S;
double A, B, C, E, F;

M = (int)now.month();
Y = (int)now.year();
D = (int)now.day();
MN = (int)now.minute();
H = (int)now.hour() - (TIMEZONE + DST); // Hours must be GMT/UT.
S = (int)now.second();

if (M < 3) {
M += 12;
Y -= 1;
}

A = (long)Y / 100;
B = (long)A / 4;
C = (long)2 - A + B;
E = (long)(365.25 * (Y + 4716));
F = (long)(30.6001 * (M + 1));

double LastJDN = C + D + E + F - 1524.5; // Julian day last midnight UT
double Current_d = LastJDN - 2451545.0; //Days since Year 2000
long Current_T = Current_d / 36525; // Julian centuries since Year 2000
long NewJDN = LastJDN + H / 24; // Julian day today

Serial.println();
Serial.print("Julian Day Number..: ");
Serial.print(NewJDN); // Julian day today

double Term1 = 6.697374558; // this line must be a double!
double Term2 = 0.06570982441908 * Current_d;

H = H + ((double)MN / 60) + ((double)S / 3600);

float GMST;
float Term3;

Term3 = 0.00273790935 * H;
Term3 += H;
GMST = Term1 + Term2 + Term3; // Terms are found at http://aa.usno.navy.mil/faq/docs/GAST.php

//add on longitude divided by 15 to get LST

double LST = GMST + (LONGITUDE / 15); // longitude as hour angle.

//reduce it to 24 format

int LSTint;
LSTint = (int)LST;
LSTint /= 24;
LST = LST - (double)LSTint * 24;

int LST_H = (int)LST;
int LST_M = ((LST - LST_H) * 60);
int LST_S = (((LST - LST_H) * 60) - LST_M) * 60;

Serial.println();
Serial.print("Local Sidereal time: ");
Serial.print(LST_H);
Serial.print(':');
Serial.print(LST_M);
Serial.print(':');
Serial.println(LST_S);
}

Hozzászólások

(#1) lezso6


lezso6
HÁZIGAZDA
LOGOUT blog

Tessék használ a programkód taget. :P ;]

A RIOS rendkívül felhasználóbarát, csak megválogatja a barátait.

(#2) gilfoyle


gilfoyle
őstag

Meg szabad érdeklődni, milyen távcsöves projekthez kell?

(#3) távcsőves válasza lezso6 (#1) üzenetére


távcsőves
senior tag

Nem szakmám, csak hobbym. ;)

@Monguz: Elsőnek egy kis távcső Alt/Az fa állványon. Ilyen pont. (rengeteg néven kapod meg ugyanezt, kicsit más színű állvány vagy tubus esetleg. Használtan 10ezer Ft kb. Sokszor van Vatera, Jófogás stb is. Ebayen is hemzseg.) A cél napfoltok bemutatása lenne elsősorban (TILOS DÍREKT A NAPRA ÍRÁNYÍTANI A TÁVCSŐVET ÉS BELENÉZNI! MEGVAKULSZ VÉDŐFÓLIA VAGY BÁRMI EGYÉBB SEGÉDESZKŐZ NÉLKÜL! TÁJÉKOZÓDJ ELÖBB!!!) , de Hold is nézegethető vele, esetleg Vizi Péter Csillagatlasz kistávcsővekhez könyvében felsorolt fényes kettős csillagok, vagy ezek alkotta érdekes alakzatok bemutatása. Az már kiderült, lehetséges lesz pl műholdak vagy az ISS átvonulás követése is. A távcsővet már régen megvettem, az akkor még nem létező gyerekemnek. ;) Most már van gyerek, érdekli is a maga szintjén, így itt az idő elkészíteni neki a saját kis GOTO vezérlésű távcsővét. Mondjuk a saját nagyobbacska tubusom saját állványának is alapja lesz a vezérlés. Gondoltam egy magán blogban megosztom, hogy haladok az építéssel. Nem villogni szeretnék egy netről összeollózott kóddal. Sőt! Csak érdekesség.

[ Szerkesztve ]

(#4) hcl válasza távcsőves (#3) üzenetére


hcl
félisten
LOGOUT blog

Zsííír :)
Ez elfért volna magyarázatnak is a postban.

Mutogatni való hater díszpinty

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.