But I needed another Arduino project as I had made a K3NG morse keyer. I love this keyer because it is unique in supporting a display where you can see what you send. But I wasn't using the morse keyer all the time, so I wanted the hardware to serve two purposes. That's the excuse for also making a clock.
Its main features are:
- Controlled by a GPS module outputting data over an RS232 serial interface, and handled with the TinyGPS++ library
- Shows raw GPS data such as UTC time and date, position, altitude, and number of satellitess
- Shows derived GPS data such as 6-digit locator
- Finds local time and handles daylight saving automatically using the Timezone library
- Finds local sunset and sunrise, either actual value, or civil, nautical, or astronomical. The library is Sunrise.
- The clock also gives local solar height based on the Sunpos library from the K3NG rotator controller.
- Finally, the clock also provides the lunar phase based on ideas found here and using a reference new moon on 11 November 2015, 11:47 (UNIX time 1447264020)
The hardware for the K3NG keyer includes a speed pot and a memory bank selector (to the right) as well as four push buttons on top for selecting memories. The pot now controls the intensity of the display, but the bank selector switch is not used. Of the four push buttons, only button 1 is used. With it one can toggle the clock through various displays as shown below.
|UTC and position display|
Line 1: UTC time, locator
Line 3: latitude, longitude
Line 4: Altitude, number of GPS satellites
|Dual time display with local time, UTC time, and locator|
What I would like to have as well is an indication of lunar visibility at the actual location with azimuth and elevation for the moon. So far I haven't had success in finding a suitable Arduino library for that, but I'm hoping that a reader of this blog may help me.