Skip to content

Latest commit

 

History

History
47 lines (39 loc) · 2.58 KB

README.md

File metadata and controls

47 lines (39 loc) · 2.58 KB

Sunrise alarm clock

Hardware

Connections

  • Button OK <-> D2 Arduino
  • Button Left <-> D7 Arduino
  • Button Right <-> D3 Arduino
  • LED Data <-> D6 Arduino
  • RTC SDA <-> A4 Arduino
  • RTC SCL <-> A5 Arduino
  • Screen D/C <-> D8 Arduino
  • Screen RST <-> D9 Arduino
  • Screen CS <-> D10 Arduino
  • Screen MOSI <-> D11 Arduino
  • Screen SCK <-> D13 Arduino
  • Screen SD CS <-> D4 Arduino
  • Screen SD MISO <-> D12 Arduino

External Libraries

Arduino Libraries

Operation

One hour prior to the target the LED strip will illuminate (full intensity for sunset, minimal for sunrise). Over the next hour the brightness is inverted on a linear scale. The RTC has a battery backup and can maintain the date/time displayed. The target time for sunrise and sunset is stored in the Arduino's EEPROM.

Each of the three momentary button has 2x available actions: short and long press. Long pressing the middle (OK) button toggles setup mode. While in setup mode (indicated by the flashing LED strip) each value can be adjusted. The currently selected value is highlighted and can be adjusted by the left or right buttons. Short pressing left or right will adjust the selected value down or up respectively, whereas long pressing left or right will change which setting is currently selected. Short press OK to advance to the next setting as well.

Roadmap

  • Finish cleaning code (move support functions into header file)
  • Add Sugru over hot-snot holding screen in place (create a smooth bevel).
  • Add Sugru over the momentary switches.
  • Enhance sunrise and sunset routines to transition between two colors.
  • Add buzzer for simple notifications.
  • Add support for the SD Card reader on the screen; screensaver with timestamp