– i B e d 3 –
The problem today with many people in this fast-paced world is that they are not getting enough sleep and more often than not they are oversleeping, pressing the snooze button and waking up late for work and school. People instinctively press the snooze button even though subconsciously they are trying not to do that in order to wake up on time.
The iBed team have been working for many years developing a new and innovative bedsheet/comforter that will remedy this problem. iBed is a product that integrates sewn conductive thread linked up to an Arduino MotoShield that will program the bed in a basic alarm function, in that it will sound when the time set comes. However, what makes iBed different from a basic bed is that using pressure as a driving force, if any pressure is kept on the thread, i.e a person still sleeping on the bed, then the alarm will continue to buzz through speakers, even after pressing the snooze button. An addition of a soft vibration embedded into the pillow allows for even more alerting. The only way to bypass the bed’s alarm is to physically get off the bed and shut off the alarm. As the person gets off, they are now awake, thus allowing them to begin their day off to a timely start. They can also program and preset times and schedule their days through a mobile app.
Utilized Technology & Modules
- Physical Programming – The Arduino will be the alarm, combined with the speakers and vibration. It is paired with the conductive thread to ensure a stable pressure.
- Graphic Design – GIMP will allow us to design drawings and logos for the bed to boost the aesthetics of the project.
- Digital Design and Fabrication – We can laser cut emblems and logos, as well as use the sewing machine to professionally sew the conductive thread in the pattern we choose. In the future, we can possibly make a full scale bed frame as well.
Concepts & Design
Left to right: 1. The basic setup, with the breadboard hooked up with 4 100k OHM resistors set in parallel, and one 100m resistor. 2. The setup with the light set up, indicating the alternating output (light/speaker). 3. The code, with the threshold between 0-50. Any higher or lower number will alternate the lights. 4. The (basic) speaker.
- Twin-sized bedsheet, after production could be of any size (king, queen, etc.)
- Conductive thread, used for pressure sensing and overall design of bed.
- Arduino MotoShield, acting as the alarm clock internals, used to program the conductive thread and speakers.
- Speakers, used to transmit the noise to the user.
- (Vibration sensor, used to add a soft vibration in the pillow)
- App development.
The Audience / Consumer
The iBed does not focus on a target audience, but rather is basically suggested towards people who wake up late on a regular basis and press the snooze button often, so individuals like teenagers, young adults and college students. However, anyone can use this product, as it ensures a sure waking time, and doubles to remedy already late waking times.
Update Log / Journal
- Day 1: 7.7.2014 – The project was rethought of and brought back from the past. Previously,it had been in works by David Solomon, who was one of the original creators of the iBed back in 2009. The project was ran past Susan Klimczak for approval.
- Day 2: 7.8.2014 – Project sheets were filled out to verify and approve of the project by everyone else. Drawings and concept designs were also produced.
- Day 3: 7.9.2014 – The iBed was dug up from a box and the project began. Coding was provided by David Solomon. However, the coding was altered and changed many times from the previous years that David needed to personally be at the Tech Center in order to solve for a working prototype. Thus, the coding was discussed online and ultimately was never figured out.
- Day 4: 7.10.2014 – David came in to help the coding and actually get it to work. By the end of the day, the iBed prototype was ready, with the comforter being able to sense the human hand hovering above the thread. However, the threading was old and needed resewing, as some threads came loose and maybe even lost some conductivity.
- Day 5:7.14.2014 – The goal is to configure the now working lights, WHICH have not been demonstrated yet, and switch them out for a speaker configuration. This will allow for the alarm to trigger the speaker when the set time comes, and it will continue to ring until the Arduino alarm clock is physically shut off and you’re off the bed. The problem is, if the Arduino is near the bed, people can still shut it off whilst still laying on the bed. STILL IN PROGRESS. Or maybe not…gotta learn coding first and figure out how the bed works as a whole. No prototype to show at the moment.
- UPDATE: Also learned the coding for the bed in general and how to properly code Arduino. Changed the threshold for 100,000 instead of 50, and added a time and sensor value. Also fixed up the alarms and random little details in the end.
- Day 6: 7.15.2014 – The call for a prototype was made. However, the prototype demonstrated today only revealed the lights blinking on and off, which acts as the speaker for the alarm clock. The code for the speakers was worked on. The speakers have yet to be functioning, and the project goal list has been created. A new logo has been created as well. =)
- Day 7: 7.16.2014 – The basic code for the alarm was created. However, the code for the speakers only functions so that the speakers would ring once the Arduino was turned on, and it would continue to ring until a button was pressed. This is the basic function for the bed, as if the button was pressed, it would stop ringing, just as if the person was off the bed, the alarm would stop ringing. This might be backwards as it would actually be that if the button was pressed, the alarm would keep ringing. For the last half of the day, the focus is based upon finalizing the speaker code through David’s help via Gmail.
- Day 8: 7.17.2014 – The focus for today is to get the Real Time Clock, period. After that, we can code it so it can be set for a time. However, the Real Time Clock is only able to program one set time, and therefore, just like a clock, it will only sound at that time. IF we get this project proceeding at the right pace, perhaps there may be a chance to make an actual alarm with a schedule. In addition, research is going to be made on the fitted sheet and whether or not the thread is washable. In totality, at the moment, the speaker and capacitive aspect of the project is complete. The speaker will blare when someone is near or on the thread. The remaining parts are the alarm itself and the physical design for aesthetic purposes.
-The thing is that the thread itself is definitely washable. As long as the entire electronics part of it is detached first, like the battery and Arduino, it can be washed. You just have to make sure to let the thread and the fabric dry first, or else it will short circuit. In addition, air drying is recommended since putting the sheet in the dryer may cause it to lose conductivity. SO YES IT IS WASHABLE.
- Day 9: 7.21.2014 – Over the weekend, the Real Time Alarm was chosen and bought and is now in the process of being shipped. In the meantime, the plan is to be familiar and know the code for the Real Time Clock, which is provided by AdaFruit. The final steps for the project is to get the alarm to work with the Real Time Clock, purchase a fitted bedsheet and create a housing apparatus for the Arduino and the wires and all the technological stuff. If time allows, we can also add another speaker.
- Day 10: 7.22.2014 – The goal for today is to check up on the Real Time Clock, and try to add another speaker, which might mean we would have to add another power source and change some resistors. In addition, we need to figure out how to power it using a battery and power cord.
- Day 11: 7.23.2014 – The Real Time Clock as well as the LCD screen and shield have come in from adafruit.com and the goal is to assemble the arduino with the shield and LCD screen. However, upon uploading a basic example code, the progress has been halted and is in the works now.
-The LCD screen mounted with the Real Time Clock mounted onto a Arduino Duemilanove. The code hasn’t worked yet.
- Day 12: 7.24.2014 – The coding for the LCD screen is still continuing. David is coming in after hours and we will try to program it as soon as possible. The alarm clock box is also going to be configured.
- Day 13: 7.28.2014 – The goal for today would be to see if the LCD screens here work with the code since the other LCD may be useless at this point. In addition, we also need to focus on the structure of the alarm clock.
- Day 14: 7.29.2014 –
- Day 15 – 7.30.2014 – The goal for today, since David said he is coming in, is to link and hook up the LCD screen that is from the tech center to the shield, since the previous one is broken. It may be a challenge, because not all the pins are correct and accurate to the adafruit LCD screen. References to the datasheets from both the LCM LCD to the adafruit LCD is necessary. In terms of the project itself, at this point the main ideas are that we will still use a bedsheet, since it is easy to sew and does not require much time, and if everything fails by the end, we can still present the project as is, with the speakers playing the sound when capacitive pressure is added to the thread. If that is not enough, the best thing we can do at that point is to just have an LCD project the numbers from the serial monitor to show the amount of pressure being present.
- Configuration for the Breakout Board with the Arduino board.
- “5V is used to power to the RTC chip when you want to query it for the time. If there is no 5V signal, the chip goes to sleep using the coin cell for backup.
- GND is common ground and is required
- SCL is the i2c clock pin – its required to talk to the RTC
- SDA is the i2c data pin – its required to talk to the RTC
- SQW is the optional square-wave output you can get from the RTC if you have configured it to do so. Most people don’t need or use this pin” – Adafruit
- Day 16: 8.4.2014 – The goal for today is to configure the code so that it will read out the serial monitor instead of the LCD. On Friday, David came in and said to just comma out the LCD part and replace it with serial monitor. So for today we will find a code that will get a basic alarm function going; one that sets a time and rings at the time and replace it with the serial print code. Finding the right code will be a challenge however.
- Day 17: 8.7.2014 – lol
: Reference Links
- The original project: http://learn2teach.pbworks.com/w/page/27581002/Hut%20Gwai%202
- Is conductive thread washable? : http://www.instructables.com/answers/If-you-spill-liquid-onto-a-live-conductive-thread-/
- How to import libraries: https://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use/installing-a-library-on-linux
- Coding the RGB LCD: https://learn.adafruit.com/rgb-lcd-shield/using-the-rgb-lcd-shield
- Complex assembly of the RGB LCD: https://learn.adafruit.com/rgb-lcd-shield/assembly