시간, 다시!
얼마 전에 미터법 시간을 유지하기 위해 만든 시계에 대한 긴 글 을 썼습니다. 나는 그것을 연마하고 케이스를 만들고 그것으로 예쁜 책상 가구를 만들겠다고 약속했습니다.
나는 아직 그것을하지 않았다.
대신, 권위 있는 시간 신호, 다른 디스플레이 기술 등에 대해 서로 다른 소스를 사용하여 그 시계의 두 가지 다른 버전을 만들었습니다.
또한 현지 시간대뿐만 아니라 하늘에서 태양의 실제 위치에 따라 미터법 시간을 추적하는 것도 흥미로울 것이라고 생각했습니다.
태양이 하늘에서 가장 높이 떠 있는 순간은 물론 당신이 행성의 어디에 있느냐에 따라 다릅니다. 그러나 그것은 그것보다 더 복잡하다는 것이 밝혀졌습니다. 태양 주위를 도는 지구의 궤도는 완벽한 원형이 아니라 타원형입니다. 즉, 정오(그리고 자정!)가 연중 조금씩 움직입니다.
나는 그 주제에 대해 재미있는 시간을 보냈습니다. 변동을 포착하는 시간 방정식 이라는 것이 있습니다. 본초 자오선에서 태양의 오버헤드가 있는 정확한 순간을 신중하게 측정하고 정확한 UTC 시계가 시간을 알려주는 것을 확인합니다. 그 차이가 그 날의 "시차"입니다.
물론 그렇게 편리하지는 않습니다. 본초 자오선에 서서 위를 올려다보는 데 많은 시간을 보내야 하기 때문입니다. 당신이 정말로 원하는 것은 날짜를 기준으로 올바른 숫자를 내뱉는 수식입니다.
NASA 제트 추진 연구소의 연구원들은 오랜 시간 동안 그 힘든 작업을 수행한 다음 원하는 것을 수행하는 공식을 생각해 냈습니다. 그들은 1년 동안 EoT 값의 곡선을 그렸고 푸리에 분석을 사용하여 해당 곡선을 구성 요소로 나눈 다음 선형 회귀를 사용하여 각 구성 요소에 대한 계수를 결정했습니다. 결과는 구현하기에 매우 간단한 수학 함수 입니다. 태양 정오가 UTC 정오에서 얼마나 떨어져 있는지 알려줍니다. 이 기능은 현재 세기의 모든 날짜에 대해 13초 이내로 정확합니다.
경도를 알고 있는 경우 몇 가지 간단한 수학을 사용하여 EoT의 현재 태양시와 UTC의 현재 시간을 계산할 수 있습니다.
그래서 당연히 그것을 코딩했습니다!
해당 기능을 구현한 후 이전 시계 프로젝트에 태양 측정 시간을 추가하기로 결정했습니다. 정확성을 위해 다시 한 번 실시간 시계 회로를 사용합니다. NIST의 NTP 서버를 통해 해당 RTC를 주기적으로 동기화합니다(내 DS3231의 경우 50일에 한 번, 백만 분의 2까지 정확함). 나는 여전히 내 홈 네트워크에 있는 스마트 장치를 싫어하지만 매우 쉽고 신뢰할 수 있는 것으로 밝혀졌으며 이 기술은 전 세계적으로(WWVB 신호와 달리) 작동하고(GPS와 달리) 창에서 멀리 떨어져 있습니다.
브레드보드에서 다음과 같이 표시됩니다.
왼쪽 상단 디스플레이에는 태양광 미터법 시간(6175)이 표시됩니다. 왼쪽 하단 디스플레이는 현지 미터법 시간(6246, 따라서 바로 그 순간 우리 집 태양 정오에서 미터법 정오보다 7100마이크로일 지연됨)입니다. 두 개의 미터법 시계가 서로 다른 시간에 숫자를 뒤집는 것을 보는 것은 흥미로웠습니다. 생각해 보면 완전히 이해가 됩니다. 오른쪽 하단 디스플레이는 현재 로컬 hh:mm 시간(14:59)입니다.
Arduino 빌드에 관심이 있다면 프로젝트 허브 를 확인하십시오 .
이것은 재미있었다! 일부 Arduino 라이브러리는 서로 다른 Arduino 보드의 특정 칩셋용으로 구축되었으며, 혼합하고 일치시키면 소프트웨어가 보드를 튀길 수 있음을 발견했습니다. 수업에 100달러 이상을 쓴 것이 그리 기쁘지는 않지만 그 사실을 알게 되어 기쁩니다. 나는 항상 약간의 지도 괴짜이자 약간의 시간 괴짜였기 때문에 시차에 대해 알고 내 현재 시간 산술에 경도를 포함하면 두 종류의 도파민 히트를 모두 제공합니다.

![연결된 목록이란 무엇입니까? [1 부]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































