State Machine: Sleeping
Problem: Waking up is hard. Lights don’t work. Alarms don’t work. Being yelled at doesn’t work. You have to be moved to be woken up. But what if no one is there to shake you awake?
General solution: A vibrating bed that takes in various sources of available data and inputs to get you out of bed. Everyone has different sleep habits and different life demands, so depending on why you are being woken up, the bed will shake in a certain way. How?
- Potential continuous data streams
- Google Calendar: if an accurate calendar is kept and you can program certain morning routines like cleaning up and eating breakfast, your bed could learn over time when it should wake you up for work/school depending on traffic patterns/weather/other peoples’ events (kids, friends, etc.)
- Sleep data: lots of research has been done on sleep cycles and various pieces of technology can track biological data like heart rate and REM stage, your bed could learn your particular patterns over time and wake you up at a time that is optimal within your sleep cycle
- Situational data streams
- High Frequency noises: if a baby cries in the room next door or one of your home’s alarms goes off, your bed could shake in a faster/more violent manner to make sure to get your attention
- “Kitchen wake-up button”: if one of your roommates or family members won’t get out of bed, you can flip a switch in a different room to shake the bed without having to go into their room
Proof of Concept: I connected the following pieces of hardware to create this demo:
- Servo motor: represents the shaking bed
- Potentiometer: represents a timer, as well as higher frequency sounds (main sources of input/data)
- The motor turns on to different intensities/patterns depending on where the potentiometer is set to
- Push button: represents the “kitchen wake-up button”, works as an interrupt within the program
- Slide switch: represents the “off button” for the bed, works as an interrupt within the program