I’m specifically looking for small microcontroller implementations for a simple clock project. I want to use a good temperature compensated real time clock and/or network time protocol-only (no sunrise/sunset APIs), to calculate local solar noon, sun rise, and sunset times. Then I want to make my own local time where midnight/bedtime is simply 9 hours before sunrise on any given day. I am in special life circumstances where I have no real use for daily coordinated time. This is a little psychology experiment more than anything else. I’m super rusty on the math.

  • Kairos@lemmy.today
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    3 hours ago

    There’s algorithms that can get sun and moon (and really any celestial body’s) relative position to some place on earth. They don’t need internet connections. They just need historical data, a location, and a time. The latter of the two can be gotten from GPS. Something that can process a few thousand floats per second should be enough processing power.

  • NalosLayor@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    2
    ·
    5 hours ago

    I did this years ago for my % of daylight remaining clock with an arduino. It appears that I never published it. If you find yourself still stuck ping me and I can did you the code.

  • m-p{3}@lemmy.ca
    link
    fedilink
    arrow-up
    4
    ·
    6 hours ago

    In order to calculate an accurate sunrise and sunset time, you need the following variables to be known.

    • The current day
    • The current time (if you want to know the time delta for when it rises and sets)
    • The current location

    Also, we need to consider that NTP sends the time in UTC, and the timezone offset calculation is done by the endpoint.

    Even if you know the timezone your in, it still doesn’t provide the exact position you need to accurately determine when the sun will rise and set.

  • credo@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    6 hours ago

    Honestly it sounds like home assistant could be useful to you, if you have the time to tinker. Definitely can build rules based on sunset times.

  • ch00f@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    6 hours ago

    Sensorwatch has a sunset/sunrise face https://github.com/joeycastillo/second-movement/blob/main/lib/sunriset/sunriset.c

    If you dig into it, see if you can fix this issue that I created months ago: https://github.com/issues/created?issue=joeycastillo|second-movement|55

    Edit: actually, if you’re doing this as a psych experiment, just buy a sensor watch and make a custom face for it. It’d be a great way to publish your findings.