Sleep Helper is a box that sits by your night stand and provides you data about your sleep environment when you wake up the next day! You can then see this data the next day and adapt your sleeping environment. E.g. too hot? Turn on a fan or AC.
This project uses an ESP32 with BLE (Bluetooth Low Energy) with hardware including an OLED display (SSD1306), rotary encoder module, DHT11 module, big sound sensor module and LDR. Data collected from these sensors is sent to a webpage which displays it in graphs to evaluate your environment in the morning. It can also act as an alarm.
Disclaimers:
If you watch the video I have adapted an old iteration with a current iteration, this is because I accidentally cracked my oled display 😭😭😭. It will still work exactly like my earlier iteration (only it would actually display on the screen). Please understand this as you watch my demo.
##What was challenging?
My code spans 500+ lines and my Arduino UNO did not have enough sRAM to keep up so I had to switch to a ESP32.
Finding a way to display data was really challenging and I spent a lot of unrecorded hours researching how to display my data: I tried using an SD card on an old Ethernet Shield and making an app.
I was really sad when I broke my display trying to record the demo :(. What happened was I accidentally put pressure on a bottom corner of the glass (or maybe its transparent plastic) and it cracked, this is where the connections go through so I broke it :(.
KEY Features 🚀
- Set the time with a rotary encoder on the display (24hr time)
- Prompts an alarm clock to be set the same way
- Switch between current mode times and real time temp & humid readings (DHT11)
- If a loud sound is detected the OLED will display (LOUD NOISE!)
- LDR is constantly monitoring light
- Active buzzer will go off if the alarm time is reached
- Temp, humidity, sound and light data are all sent to the webpage
- Webpage builds on existing graphical data and works continuously while saving data
- Clear data, clears data
- Fan can be turned on and off through the webpage
- Can zoom in and pan on graphs (this can be reset too)
HOPE YOU LIKE MY PROJECT!! This is my first project I did all by myself!
- 3 devlogs
- 39h build