What it does
Input the latest time you want to wake up and Aura will wake you up when you are in "light sleep" to avoid morning drowsiness. The silent fan ensures that you will have a peaceful awakening while eliminating the disruptive alarm that annoys your roommates.
How we built it
The fan is wired to a rocker switch which is switched on and off by a servo connected to an Arduino. There's a capacitor to take care of two of the fan's lines (without it, there would be a charge buildup). We used the Atlastk Python library to build the GUI and the PySerial Python library to send data to the Arduino directly from our Python script. To detect if someone is currently sleeping, we used a webcam to capture images and integrated image metrics to compare an image of an empty bed to an occupied bed.
Challenges we ran into
Wasn't near a bed to test on (requires a side rail for the clip on) so we made a makeshift side to demo on. We lacked a transistor that could handle 120v AC so we used a rocker switch controlled by a servo. We didn't have glue so we used a soldering iron to melt a plastic straw into tar to secure the servo to a project box. Wiring on this motor is weird (there are 4 wires). Originally thought it was a polyphase motor, so the wiring was designed for that. Turns out it's a single phase variant that needs an external capacitor so we completely redid the wiring. Only capacitor large enough we had was a microwave capacitor which is polarized while ideally we need an polarized capacitor of similar capacitance. Fan runs backwards causing less than ideal air force.
Accomplishments that we're proud of
Fan works Didn't get shocked despite sketchy wiring We were able to integrate multiple devices together and have them communicate and work with one another
What we learned
- How to use multiple useful Python Libraries
- Computer vision
- Using a variety of programs and features
- An odd motor type
What's next for Aura
We have an unimplemented class that uses machine learning to find the initial delay in time before a person falls asleep. We can tell if a person is less or better rested based on how much time passes before they get out of bed. If we aren't able to detect that, we have an alternate function that relies on telling if a person is sleeping or not. The project is open source under an MIT license and we're hoping we could get help in detecting either of the required conditions to be able so that we can add machine learning. The servo needs to be replaced with a transistor, a MOSFET amplifier circuit is more ideal than a physical switch
Behind the name
Aura (or Aure) (Gr: Αυρα Αυρη) is the Titan goddess of the breeze and fresh, cool air of the early morning