You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Untested – Flesh out relay (signalType 1/2) functionality via signal functions; options menu skips irrelevant options when relay in use; signalDur changes to seconds; add soft power switch option; readme adds hardware configuration consts
Copy file name to clipboardExpand all lines: README.md
+19-10Lines changed: 19 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
# arduino-nixie
2
-
**A digital clock with perpetual calendar, alarm, countdown timer, and day counter.** Written for the Arduino Nano at the heart of [RLB Designs'](http://rlb-designs.com/) Universal Nixie Driver Board (UNDB) v5.0, featuring a DS3231 thermocompensated battery-backed real-time clock, and driving up to 6 digits multiplexed in pairs via two SN74141 driver chips. Uses AdaEncoder and ooPinChangeInt (for rotary encoders, optional) and NorthernWidget DS3231 libraries.
2
+
**A digital clock with perpetual calendar, alarm, countdown timer/appliance timer, and day counter.** Written for the Arduino Nano at the heart of [RLB Designs'](http://rlb-designs.com/) Universal Nixie Driver Board (UNDB) v5.0, featuring a DS3231 thermocompensated battery-backed real-time clock, and driving up to 6 digits multiplexed in pairs via two SN74141 driver chips. Uses AdaEncoder and ooPinChangeInt (for rotary encoders, optional) and NorthernWidget DS3231 libraries.
3
3
4
4
[Latest release can be downloaded here.](https://github.com/clockspot/arduino-nixie/releases/latest)
5
5
6
6
## Instructions
7
7
8
-
_In these instructions, **Select** is the main pushbutton, and **Adjust** can be a pair of up/down buttons (hold to set faster), or a knob (rotary encoder). Other variations may apply depending on the options selected in the code, and functions may be reordered or left out._
8
+
_In these instructions, **Select** is the main pushbutton, and **Adjust** can be a pair of up/down buttons (hold to set faster), or a knob (rotary encoder). Other variations may apply depending on the options selected in the code (see Hardware Configuration below), and functions may be reordered or left out._
9
9
10
10
### Clock Functions
11
11
@@ -14,10 +14,10 @@ _In these instructions, **Select** is the main pushbutton, and **Adjust** can be
14
14
15
15
| Function | Looks like | Notes |
16
16
| --- | --- | --- |
17
-
|**Time**|`12 34 56`| The time of day. You can choose 12h or 24h format in Options. When setting, it's in 24h format (so you can tell AM from PM) and the seconds will reset to :00 when you save. The clock keeps time during power outages and compensates for temperature effects. |
17
+
|**Time**|`12 34 56`| The time of day. You can choose 12h or 24h format in the options menu (1). When setting, it's in 24h format (so you can tell AM from PM) and the seconds will reset to :00 when you save. The clock keeps time during power outages and compensates for temperature effects. |
18
18
|**Date**|`_2 _4 _0`<br/>(for Sun 2/4) | You can choose the date format in the options menu (2). Setting is done in three stages: first year, then month, then date.<br/>Weekdays are: 0=Sun, 1=Mon, 2=Tue, 3=Wed, 4=Thu, 5=Fri, 6=Sat |
19
19
|**Alarm**|`_7 00 1_`| Shows alarm time (always in 24hr format) and on/off status on 5th tube (1=on, 0=off) and by display brightness (bright=on, dim=off). Use **Adjust** to switch on/off. Hold **Select** to set time (same way as **Time**). When alarm sounds, press **Select** to snooze, or hold for 1sec (followed by a short beep) to silence the alarm for the day. Options menu lets you restrict the alarm to your workweek or weekend only. In a power outage, the alarm will remain set, but it will not sound if power is disconnected at alarm time. |
20
-
|**Timer**|`__ __ _0`| A countdown timer, in hours, minutes, and seconds; or `0` when stopped. Can be set to the minute, up to 18 hours. Begins running as soon as you set it, and will continue to run in the background if you change to a different function. To cancel while running, hold **Select**. When timer runs out, press **Select** to silence. If power is lost, the timer will reset to `0`. |
20
+
|**Timer**|`__ __ _0`| A countdown timer, in hours, minutes, and seconds; or `0` when stopped. Can be set to the minute, up to 18 hours. Begins running as soon as you set it, and will continue to run in the background if you change to a different function. To cancel while running, hold **Select**. When timer runs out, press **Select** to silence. If power is lost, the timer will reset to `0`. Can be configured to work as an interval timer in the options menu (10), or as an appliance timer instead (see Hardware Configuration). |
21
21
|**Day counter**|`_1 23 __`| Shows the number of days until/since a date you specify. Set the same way as **Date.**|
22
22
|**Thermometer**|`__ 38 25`| Shows the temperature of the onboard DS3231 chip (e.g. 38.25°C – I think). May not be very useful as it tends to read higher than ambient temperature and its tolerance is low. |
23
23
|**Tube tester**|`88 88 88`| Cycles through all the digits on all the tubes. |
@@ -40,11 +40,11 @@ _In these instructions, **Select** is the main pushbutton, and **Adjust** can be
40
40
|**Alarms and sounds**||
41
41
| 7. Alarm days | 0 = every day<br/>1 = work week only (per settings below)<br/>2 = weekend only |
| 9. Alarm signal pitch |[Note number on a piano keyboard](https://en.wikipedia.org/wiki/Piano_key_frequencies), from 49 (A4) to 88 (C8). Some are louder than others! |
44
-
| 10. Timer interval mode | What happens when the timer reaches 0.<br/>0 = stop and sound continuously<br/>1 = restart and sound a single tone (interval timer) |
45
-
| 11. Timer signal pitch | Set the same way as the alarm pitch, above. |
43
+
| 9. Alarm signal pitch |[Note number on a piano keyboard](https://en.wikipedia.org/wiki/Piano_key_frequencies), from 49 (A4) to 88 (C8). Some are louder than others! Clocks with piezo signal only. |
44
+
| 10. Timer interval mode | What happens when the timer reaches 0.<br/>0 = stop and sound continuously<br/>1 = interval timer: restart and sound a single tone (clocks without radio/timer control only) |
45
+
| 11. Timer signal pitch | Set the same way as the alarm pitch, above. Clocks with piezo signal only. |
46
46
| 12. Hourly strike | 0 = off<br/>1 = single beep<br/>2 = pips<br/>3 = strike the hour<br/>4 = ship's bell<br/>Clocks without radio/timer control only. Will not sound during day-off/night-off (except when entering day-off/night-off at the top of the hour). |
47
-
| 13. Hourly strike pitch | Set the same way as the alarm signal pitch, above. If using the pips, 63 (987 Hz) is closest to the real BBC pips frequency (1000 Hz). |
47
+
| 13. Hourly strike pitch | Set the same way as the alarm signal pitch, above. If using the pips, 63 (987 Hz) is closest to the real BBC pips frequency (1000 Hz). Clocks with piezo signal only. |
48
48
|**Night-off and day-off**||
49
49
| 14. Night-off | To save tube life and/or preserve your sleep, dim or shut off tubes nightly when you're not around or sleeping.<br/>0 = none (tubes fully on at night)<br/>1 = dim tubes at night<br/>2 = shut off tubes at night<br/>When off, you can press **Select** to illuminate the tubes briefly. |
50
50
| 15. Night starts at | Time of day. |
@@ -55,6 +55,15 @@ _In these instructions, **Select** is the main pushbutton, and **Adjust** can be
55
55
| 20. Work starts at | Time of day. |
56
56
| 21. Work ends at | Time of day. |
57
57
58
-
### Factory Reset
58
+
To reset the options menu settings to "factory" defaults, hold **Select** while connecting the clock to power.
59
59
60
-
To reset the clock to "factory" defaults, hold **Select** while connecting the clock to power.
60
+
### Hardware Configuration
61
+
62
+
Several consts are defined at the top of the code, which can be edited to reflect the hardware configuration of the clock, including (but not limited to):
63
+
64
+
***How many tubes** in the display module – small display adjustments are made for 4-tube clocks
65
+
***Which functions** are enabled
66
+
***Which input pins** are associated with which controls — main select, main adjust, alt select, alt adjust _(alts not implemented yet)_
67
+
***What type of adjust controls** are equipped – pushbuttons or rotary encoders
68
+
***What type of output signal** is equipped – a piezo beeper, or a relay switching a signaling device (e.g. for a solenoid striking a bell) or an appliance (e.g. a radio or lamp)
69
+
***Various durations** for things like scrolling speed, set mode timeouts, short and long button holds, "hold to set faster" threshold, etc.
0 commit comments