As I think some more about this, I want the alarm clock portion to be near the bed, but not the light portion. This means some sort of communication (presumably wireless) between them.
I’m also not sure just how much light I’ll need to pull this off and/or how to diffuse it effectively. Also, colors?
With this in mind, I think step one is going to be to kludge together an LED setup to get a feel for brightness controls. I’m concerned by how dim I can usefully go using PWM so may need to look into a more involved current source rather than just using the PWM off of a micro to trigger a transistor (I’m assuming I’ll need more current than the micro pin can source/sink)
With that in mind:
Step One: Figure how much light I’ll need, if I want colors (possibly starting more red), and how to diffuse the light.
Step Two: Get the fading process worked out, but just triggered by a local button.
Step Three: Clock Stuff
Step Four: Wireless communication. I may go with something that includes wireless from the start (I’ve already been kicking around the idea of an MQTT hub for the house, could just use actual wifi and tie into it, but I’d also like to learn to do some more direct radio comms)
Project Eos is an alarm clock project that will include a progressive dawn like lighting element.
Initially it will be either Arduino or maybe even Raspberry Pi powered. This is total overkill, but I want to play with a few different display/input options, and the iteration speed will be faster this way. Once the prototype provides enough information for the final version, it will probably be moved to a single PCB option with a microcontroller.
As a list for myself, version one will need:
- A processor of some sort. An Arduino or Raspberry Pi for now
- A way to tell the time reasonably accurately
- Either a real time clock module of some sort, or an internet service. I could track time other ways later, but this gets me going without worrying too much about the precision of my timekeeping.
- LED(s) + driver circuitry + diffuser(s) etc.
- A way to display the time. I would prefer this to not be on by default unless *very* dim. But if not on all the time need a sufficiently simple way to temporarily turn it on and probably have it stay on on a schedule.
- A way to generate an appropriate sound
- Buttons/switches to set times/alarms/snooze/etc
I know there are plenty of these out there, but the timekeeping and lighting aspects tie into another project that is already underway.