The goal is to create an ambient environment at the studio that allows students to use the space to rest during their break time

-1

Goal: 

As students, we spend a significant amount of the day near campus doing school-related assignments and tasks. To allow us to do so while maintaining our health and well-being, the studio is designed to be a space that is equivalent to a home, where we can socialize, relax, and rest. Currently, the interior of the studio is intended to promote a productive, work culture as it is filled with desks and upright chairs that we use to work. The breakout room has two couches, both of which are uncomfortable for us to rest on. In addition, the blinds in the breakout room are difficult to handle and penetrate light in an uncomfortable way that impedes with our ability to sleep. In that context, NapTech is intended to function as a mattress that provide a comforting environment in the breakout room that automatically closes the blinds as the user sleeps on it.


0

Vision:

In addition to the clear, direct usage of NapTech, we envision the device as being a major contributor to the idea of a "smart space" that adapts to the user rather than the other way around. The power of NapTech stems from its acknowledgement of the need for natural light to uplift a person's mood and to maintain physical, emotional, and mental health along with the acknowledgement of the burdensome effect that natural light can cause when trying to rest. NapTech's consideration for the user along with its ability to promote an ambient environment while providing insights about social and environmental factors makes it a valuable asset that is applicable for multiple settings and purposes.

NapTech as a resting mattress:

Initially, in the scope of the project, the goal was to establish NapTech's functionality by ensuring that it responds to applied pressure appropriately. Once introduced to the market, we envision NapTech being an ergonomic mattress that ensures that the user maintains a proper back posture, gets a peaceful sleep with appropriate exposure to sunlight once they wake up, and prevents the penetration of disturbing sunlight during their rest. To achieve the goal of being an ergonomic mattress, NapTech would be manufactured using material that is stiff enough to support a person's weight during their rest. Meanwhile, it would be soft enough to provide comfort to the user as it absorbs their form. In addition to proper material selection, NapTech would maintain its ergonomic design by being manufactured according to established dimensions that are associated with proper and healthy back curvature. Meanwhile, it would consider an appropriate tolerance that allows variations in mattress stiffness without compensating the body's fit into the healthy sleeping posture.

As a resting mattress, we believe that NapTech could be integrated into shared professional resting areas, such as our studio, or companies' break rooms. Additionally, NapTech could be integrated into people's homes. As technology emerges, we tend to lead a busy life to the extent that we forget to do simple activities that we regularly do, such as closing the blinds at night. We don't realize that we forgot to do so until the morning, where we forcefully and disruptively wake up. That being said, a technology such as NapTech could be used to accommodate for such a lifestyle by ensuring that the blinds close as soon as a person lies on the mattress and open as soon as the person wakes up.

NapTech Integrated into Seats and Couches:

As NapTech considers a person’s spinal curvature when lying down by adopting suitable material and curvature, this concept could be expanded to living areas, seats, and couches to also create a suitable environment. As humans, our postures are strongly tied with our emotions and to our environment. Consequently, we tend to have a certain spinal form when we’re sitting casually that differs from the form that we adopt as we engage in a serious conversation or task[1] . Additionally, different amounts of light enable different amount of focus and are associated with different emotions. An increase in the amount of light is usually associated with higher intensity, focus, and productivity [2]. In context, once NapTech is installed into seats and couches, the blinds would be completely open when a person is sitting upright. They would also be half open if the person’s curvature is not completely upright, but also not completely lying down. By doing so, NapTech would ensure that the user is provided with the right amount of light needed to carry the intended purpose that they are trying to fulfill in their current setting.

NapTech as a Data Collection Platform

As NapTech reacts according to the occupancy of a given space, it could be used to indicate the usability of spaces. One of the use cases in which such an advantage could be leveraged is managerial feedback on productivity and cost allocation. Once installed in offices, NapTech could reveal to the management the amount of time in which the curtains are closed or do not allow a certain amount of light in, hence providing an overview on the productivity of the employee or the quality of the work being done.

Furthermore, we envision NapTech as a mean that would enable the management to assess the usability of different spaces. By doing so, the management would be able to allocate its budget accordingly so that more clustered areas receive a greater budget and are given more attention that less clustered areas. Alternatively, the management could use NapTech to determine necessary measures required to benefit from underutilized areas.

Lastly, given that the social aspect and the culture are central concepts to the overall perception and evaluation of any company, NapTech could be a mean used to obtain an overarching view of a company’s environment and culture. To do so, NapTech would report on the usability of shared spaces. Once installed in seats and couches, NapTech would also report on the general interpreted mood as interpreted from the amount of light. The aggregates of the results would then holistically be used to assess the company culture from a social aspect on professional rating platforms such as Yelp, Indeed, or LinkedIn.

NapTech as a Part of a Smart Ecosystem:

In addition to creating a relaxing environment by controlling natural light, we envision the interpretation of a person’s posture and associated mood as being triggers to adjust the lighting contained in the room to promote a suitable environment that aligns with the user’s intension. We also believe that music is a desirable feature that could further promote the ambience of the environment that we are aiming to achieve. Thus, once NapTech detects a certain posture, it would associate it with a given mood, and adjust the lighting and play suitable music simultaneously to provide a soothing environment for the user.  


[1] O'Sullivan, P. B., Smith, A. J., Beales, D. J., & Straker, L. M. (2011). Association of biopsychosocial factors with degree of slump in sitting posture and self-report of back pain in adolescents: a cross-sectional study. Physical therapy, 91(4), 470-483.

[2] LeGates, T. A., Altimus, C. M., Wang, H., Lee, H. K., Yang, S., Zhao, H., ... & Hattar, S. (2012). Aberrant light directly impairs mood and learning through melanopsin-expressing neurons. Nature, 491(7425), 594.


0

Design Process


Understanding the Space:

To improve upon the studio space, it was important to start by understanding the space and looking at it with a critical lens. We did this individually as a part of a post assignment that we were required to complete. In the post, each of us determined areas in the studio that could be improved upon. In our exploration, most of our observations were related to organization, productivity, and entertainment. As a result, we saw that the only area that was not addressed was related to relaxation, so we decided to consider that aspect and revisit our ideas during the brainstorming session. 

Brainstorming and Conceptualization:

1. Setting Context

During this stage, we collaborated to individually determine a set of actions, processes, and contexts in the studio that are affect the usability of the space. Once we each generated our own list, we wrote them on the whiteboard in the studio so that we can visualize our ideas.     


0

2. Brainstorming

To conduct our brainstorming session effectively, we inputted our list into an online randomizer that would randomly select an action, process, and context. The randomly selected options were then combined to develop a relevant, effective solution. As we are three members, we alternated turns as each of us had the opportunity to work individually and work with the other two members. After many iterations, we had a sufficient number of ideas that we could assess to narrow down our scope of focus. To evaluate the ideas, we numbered each of the idea and ranked each of them according to the value of the individual device vs the value of its interaction with other devices.      
0

After conducting our positioning map, we noticed that our 13th idea was the best idea as it had a high value as a standalone device and a high value as an interactive device. Our 13th idea was centered on a system that allows people to locate items in the IoT station by lighting an LED as its name is mentioned. However, we realized that the IoT station was a central location that was used for a similar purpose, thus it was better for us to pursue a more unique opportunity. After revisiting our ideas, we decided, to pursue the concept of using the studio as a relaxation space. Thus, our final idea was to utilize the breakout room to allow us to relax and nap on the couch by providing a comfortable mattress to lie on and automatically closing the blinds to control amount of lighting in the room and creating a relaxing atmosphere. The illustration below shows the general indication that we decided to pursue as we believe it could provide an ambient, relaxing, and welcoming feeling in the studio. 

0

Outlining the Functionality of the Device:

As we developed an overview of how our device would function, we used the D-Io T: Open Source Alternatives worksheet to analyze our idea and determine the implementation plan that would achieve our goal. Initially, we were aiming to replace the couch seats so that a person could nap on them.

We believed that by placing a pressure plate under each seat, we would be able to activate a servo to close the blinds once all the pressure plates are activated simultaneously. However, once we shared our idea and collected user feedback, we realized that a potential issue that we could encounter is triggering the servo and closing the blinds if three people were sitting on the couch as opposed to lying down. To account for this potential issue, we found scientific evidence that suggests that a person’s upper and middle body are 80% of a person’s weight while their lower body accounts for 20% of the overall weight. Accordingly, we decided to use three pressure plates and use relative and proportional pressure to turn down the blinds. However, we realized that the concepts of proportionality and relativity were difficult to implement. As a result, we decided to divide the couch into three sections that would each be filled with a pressure plate. Once 2 consecutive pressure plates are activated, the system would sense that a person is napping and would turn the blinds down.

The document below shows the implementation plan that we had. 

0

As a second part of the worksheet, we compiled a list of items that would be necessary for the implementation of the idea. The list of items that we used is summarized below. 

0

(Mattress)


Bill of Materials

Assembly List

LabelPart TypeProperties
Part1Particle Argonvariant 1s; part # Adafruit #3405
Pressure Plate MattressTextile Digital Pressure Sensortype Digital Pressure
Part1Particle Argonvariant variant 1s; part # Adafruit #3405
Pololu A1Pololu A4988editable pin labels false; variant variant 2; chip label IC; package SO16
StepperMotorStepper Motor - Bipolarshaft 5 mm diameter / 33 mm length; stepper type Bipolar; holding torque 2.4 kg*cm; voltage 15.4; size 42.3 x 42.3 x 37.0 mm; current 0.28 A; step angle 1.8; phase 2; detent torque 120 g*cm


Shopping List

AmountPart NamePart TypeProperties
2ArgonParticle Argonvariant 1s; part # Adafruit #3405
1Pressure Plate Mattress: StuffingPolyesterA bag of upholstery stuffing for the mattress.
1Pressure Plate Mattress: SleaveClothA piece of fabric suitable for covering the mattress. Preferably something with some elasticity
2Pressure Plate Mattress: Cardboard Slab2 Ply Cardboard56"by 30" solid rectangle of 2ply cardboard
1Pressure Plate Mattress: Cardboard Separator2 Ply Cardboard56" by 30" rectangle of 2 ply cardboard with a 54" by 26" hole in the center
2Conductive MaterialAluminum2 sheets at least 54" long
2Solid WireSolid Wire2 differently colored wires to be used to facilitate conductivity between 2 sheets of conductive material
1motor shieldHR4988editable pin labels false; variant variant 2; chip label IC; package SO16
1StepperMotorStepper Motor - Bipolarshaft 5 mm diameter / 33 mm length; stepper type Bipolar; holding torque 2.4 kg*cm; voltage 15.4; size 42.3 x 42.3 x 37.0 mm; current 0.28 A; step angle 1.8; phase 2; detent torque 120 g*cm
1RopeClothThe length which is required for the rope to attached through the curtains, to the motor in a loop
1Curtain RodN/AAny long tube or bar that the curtains and slide on freely
1CurtainClothLightweight curtains with ring-shaped loops
0

However, as we shared our idea with the class, we realized that our concept would conflict with the usability of the space as two people sitting next to each other would be interpreted as a nap and would result in closing the blinds.

To consider the intended purpose of the space, we decided to have 10 pressure plates on the couch and detect a pattern in the triggered plates so that the system would capture a person’s resting position accurately.

An additional advantage that we got when sharing our idea was the recommendation of using a stepper motor instead of a servo as it would provide a better functionality. However, as none of us worked with stepper motors, we encountered some difficulties as we were learning how to wire and program it properly.

0

The designing of the prototype:

The first thing we did was design the pressure plates and ensure that they were functional by checking the voltage that passes through them. To do the pressure plates, we wrapped two pieces of card board with aluminum foil and pressed them against each other with a cardboard placed in between. Then we attached each side of the covered cardboard to a wire. Once plugged into the breadboard, the wires would complete the circuit and the pressure plate would be activated.

0

After designing the pressure plates successfully and according to the accurate dimensions, we placed them on the couch and conducted a co-design session to determine the appropriate patterns that are associated with napping and resting positions. We did so by connecting the pressure plates to LED lights and monitoring the patterns that we observed as different people lied down. The pictures below demonstrate some patterns that were revealed during the setup and the user-testing. 

0

After multiple attempts of trying to detect patterns that are correlated with different sleeping positions, we realized that it was difficult to determine a generalized model due to individual differences. As a result, any general rule that we adopt is likely to entail error, as our system would likely detect a false nap or miss a true nap. To account for this issue, we decided to develop a mattress that the user would intentionally pull out to rest on. By doing so, they would be provided with the comfort and the adjust the appropriate brightness level that is necessary to sleep without interrupting other people’s usage of the space. To implement our idea, we replaced all the sensors that we created with an individual sensor that is activated once pressed on since a user would have to pull the mattress out to sleep on it and witness its functionality. 

0

The connectivity between the mattress and the stepper motor:

Once we ensured that the pressure plate senses pressure accurately by confirming that an event is published whenever the pressure plate is pressed, we needed to connect the stepper motor to the pressure plates. Eventually, after seeking help from available resources, such as youtube tutorials, instructors, and TA’s, we were able connect the stepper motor to the pressure plate so that the stepper would rotate when pressure is applied in a different direction that would dictate whether the blinds are open or closed according to whether or not pressure is applied.

0

Designing the mattress:

The element of Comfort (adding fabric)

We realized from testing with multiple plates that the cardboard, tape and wires caused users to be afraid of shock and fragility of the device itself. To make the device more approachable, we made a fabric sleeve which we slipped over the whole plate leaving one side of the sleeve open for the wires to connect to the bread board. We found that the fabric unified the device and made it more comfortable to use.

We recognized that the couches are actually quite stiff and do not lend themselves to the most naming positions. We added more comfort to the mattress by inserting a polyester filling between the fabric and the clothe.

Re-Testing

Finally we retested the mattress to make sure the filling was comfortable and was not interfering with the timing or accuracy of the sensor. We were happy that the added feature of ensured comfort did not interfere with functionality and improved the napping environment for users

Curtains

We knew that the curtains needed to be light enough to move freely and block out light. We decided not to experiment with creating the curtains because there was little value for in use case for the curtains themselves to be electronically augmented. We bought a single black curtain made from a lightweight opaque fabric. To ensure the curtains would open and close as opposed to moving back and forth we ran a rope through the rings on the curtain while it was still on the curtain rod. The last rings on each side of the curtain needed to have a different function. One end was attached to the rod to keep it static as the rest of the curtain moved and ensure light did not show on one side. The other end was secured to a point on the rope so that the movement of the rope would expand and contract the curtains.

0

Establishing relevant connectivity:

After establishing an idea, we shared our concept with the other groups to determine relevant connections that would enhance the environment at the studio and provide an ambient environment. A diagram of the connection network is shown below. 

0

As we shared our ideas, we saw an initial connection with “Bump” as we were both addressing the breakout room. In addition, since we are aiming to promote a peaceful napping environment, we believed that we should have a complimentary relationship such that both devices don’t work simultaneously. Aside from that, since none of the other ideas directly target the breakout room, we believed that “Bump” was the only project that we had a direct connection with.

However, after discussing the connection with the “Bump” team, we realized that “Bump” and “Hshh” had a connection that doesn’t allow both of them to function simultaneously. As a result, it made more sense to us to establish a connection with “Hshh” rather than “Bump” so that people in the shared space outside would acknowledge that someone is napping, and thus should account for that. In addition, we believe that it is a part of the cohort’s culture to respect a person’s nap by maintaining an appropriate noise level. However, it was only the matter of communicating that someone is trying to nap. By doing so, the noise level in the studio would not interrupt a person’s rest; and the remaining part would be maintaining an ambient luminance, which is what NapTech would focus on to provide a better resting environment. 

0

Outcome: 

We designed a mattress that once a person lies on, would automatically close the blinds. Meanwhile, people in the shared space of the studio would know that someone is resting through the device "Hshh". 

Once the person gets off the mattress, the curtains would open once again; and the person would be responsible for returning the mattress back to its original position. 

0
Demo Video
Satyan Chawla - https://youtu.be/LWCrN92X1ro
0

Code:

The code that we used for the implementation of our project is below


Curtains:

0
/* Sources:
 * Simple Stepper Motor Control Exaple Code
 * by Dejan Nedelkovski, www.HowToMechatronics.com
 */

// This value will store the last time we published an event
long lastPublishedAt = 0;
// this is the time delay before we should publish a new event from 
// this device
int publishAfter = 1000;

// DO NOT CHANGE THIS
String sharedEventName = "diot/2019/smartstudio/";
// device specific event name
String deviceEventName = "napTech/";

//Boolean 'closed' is used to store whether the blinds are:
//opened (false) 
//or closed (true)
bool closed = true;
//Boolean 'napping' is used to store whether someone is napping on the mattress:
//no one is napping (false) 
//or someone is napping (true)
bool napping = false;
//static value 'stepsToChange' is used to determine the steps or time
//it takes to open or close blinds
int stepsToChange = 3000;
const int stepPin = D3; 	//pin to pulse for steps
const int dirPin = D2;		//pin to change step direction
const int pressPin = D6;

void setup(){
  // Set pins as outputs
	pinMode(stepPin, OUTPUT);
	pinMode(dirPin, OUTPUT);
	
  // We'll want to subscribe to an event thats fairly unique

  // From the Particle Docs
  // A subscription works like a prefix filter.
  
  // Basically this will match any event that starts with 'diot/2019/smartstudio/'
  // This is a feature we'll useto figure out if our event comes from
  // this device or another (see publishMyEvent below)

  Particle.subscribe(  sharedEventName , handleSharedEvent );
  
  publishMyEvent("","napTechStarted");
  openCurtain();
}

//Particle loop auto-generated
void loop() {
    
}

void publishMyEvent(String eventID, String data)
{
  // Remember that a device can publish at rate of about 1 event/sec,
  // with bursts of up to 4 allowed in 1 second.
  // Back to back burst of 4 messages will take 4 seconds to recover.
  // So we want to limit the amount of publish events that happen.

  // check that it's been 10 secondds since our last publish
  if( lastPublishedAt + publishAfter < millis() )
  {
      // Remember our subscribe is matching  "db2018/paired/"
      // We'll append the device id to get more specific
      // about where the event came from

      // System.deviceID() provides an easy way to extract the device
      // ID of your device. It returns a String object of the device ID,
      // which is used to identify your device.
      // This will build 'diot/2019/smartstudio/myEvent/A13231245345A078'

      String eventName = sharedEventName + deviceEventName + eventID +System.deviceID();

      // now we have something like "diot/2019/paired/0123456789abcdef"
      // and that corresponds to this devices info

      // then we share it out
      Particle.publish( eventName, data);

      // And this will get shared out to all devices using this code

      // we just pubished so capture this.
      lastPublishedAt = millis();
  }

}

// Our event handlde requires two bits of information
// This gives us:
// A character array that consists of the event name
// A character array that contains the data published in the event we're responding to.
void handleSharedEvent(const char *event, const char *data)
{
    // Now we're getting ALL events published using "db2018/paired/"
    // This includes events from this device.
    // So we need to ignore any events that we sent.

    // Let's check the event name
    String eventName = String( event ); // convert to a string object
    // This gives us access to a bunch of built in methods
    // Like indexOf()
    // Locates a character or String within another String.
    // By default, searches from the beginning of the String,
    // but can also start from a given index,
    // allowing for the locating of all instances of the character or String.
    // It Returns: The index of val within the String, or -1 if not found.

    // We can use this to check if our event name contains the
    // id of this device

    String deviceID = System.deviceID();

    if( eventName.indexOf( deviceID ) != -1 ){
      // if we get anything other than -1
      // the event came from this device.
      // so stop doing stuff
      return;
    }
    //if the event didnt come from this device
    else if( eventName.indexOf( "isNapping" ) > -1 ){
        publishMyEvent("napping", (String)closed);
    }
    else if( eventName.indexOf( deviceEventName ) > -1 ){
        // A my event triggered
        // and event says open
        if( eventName.indexOf( "open" ) > -1 ){
        	//publish an event that allows one to check what triggered the opening
            publishMyEvent("opening_", (String)event+":"+data);
            startNap();
        }
        //Event Closes the curtain
        else if( eventName.indexOf( "close" ) > -1 ){
            //publish an event that allows one to check what triggered the closing
            publishMyEvent("closing_", (String)event+":"+data);
            stopNap();
        }
    }

}



//Start the 
void startNap(){
    //close the curtains
    closeCurtain();
    //some one is napping
    napping = true;
    publishMyEvent("napping", (String)napping);
}

//Stop the nap
void stopNap(){
	//open the curtains
    openCurtain();
    //no one is napping
    napping = false;
    publishMyEvent("napping", (String)napping);
}

bool openCurtain(){
    //if the curtains are not already closed
    if(closed){
    	//set the direction to be counter clockwise
        stepperFWD();
    	//step for the predetermined amount of time
    	for(int i = 0; i < stepsToChange; i++){
    		motorStep();
    	}
    	//wait for one second
        delay(1000);
    }
    //set the boolean closed accordingly
    closed = false;
    return closed;
}

//close the curtains
bool closeCurtain(){
	//if the curtains are not already closed
    if(!closed){
    	//set the direction to be counter clockwise
    	stepperREV();
    	//step for the predetermined amount of time
    	for(int i = 0; i < stepsToChange; i++){
    		motorStep();
    	}
    	//wait for one second
        delay(1000);
    }
    //set the boolean closed accordingly
    closed = true;
    return closed;
}
//getter function for closed
bool isCurtainClosed(){
    return closed;
}
//getter function napping 
bool isNapping(){
    return napping;
}

//have the stepper motor take one step
void motorStep(){
	digitalWrite(stepPin, HIGH);
    delay(1);//delayMicroseconds(500);
    digitalWrite(stepPin,LOW);
    delay(1);//delayMicroseconds(500);
}

//change the stepper direction to forward
//direction to open curtain
void stepperFWD(){
	digitalWrite(dirPin, HIGH);
}

//change the stepper direction to reverse
//direction to close curtain
void stepperREV(){
	digitalWrite(dirPin, LOW);
}
Click to Expand
0

Mattress:

0
// variables will change:
int pressureState = 0;         // variable for reading the pushbutton status
int pressurePlate = D3;    

// This value will store the last time we published an event
long lastPublishedAt = 0;
// this is the time delay before we should publish a new event from 
// this device
int publishAfter = 1000;

// DO NOT CHANGE THIS
String sharedEventName = "diot/2019/smartstudio/";
// device specific event name
String deviceEventName = "napTech/";

//Boolean 'opened' is used to store whether the blinds are:
//open (true) 
//or closed (false)
bool napping = false;

void setup()
{


  // initialize the pressure plate pin as an input:
  pinMode(pressurePlate,INPUT_PULLUP);  
  //initialize pressure state
  pressureState = digitalRead(pressurePlate);
   
}

void loop()
{

  // check if the pressure plate is pressed.
  // if it is, the pressureState is LOW:
  delay(2000);
  pressureState = digitalRead(pressurePlate);
  //if the pressure plate is pressed but no one was napping
  //if the state changes from what was previously shown, ie
  //this is to ensure that if someone shifts and the state 
  //changes it doesnt stop the nap because the person is still
  //napping.
  if (pressureState == LOW && !napping){    
    // publish an event to close the curtain:   
    publishMyEvent("close",(String)pressureState );
    // someone is now naping
    napping = true;
  }

  else if(pressureState == HIGH && napping){   
    // publish an event to close the curtain
    publishMyEvent("open",(String)pressureState );
    // no one is napping now
    napping = false;
    
  }

}


void publishMyEvent(String eventID, String data)
{
  // Remember that a device can publish at rate of about 1 event/sec,
  // with bursts of up to 4 allowed in 1 second.
  // Back to back burst of 4 messages will take 4 seconds to recover.
  // So we want to limit the amount of publish events that happen.

  // check that it's been 10 secondds since our last publish
  if( lastPublishedAt + publishAfter < millis() )
  {
      // Remember our subscribe is matching  "db2018/paired/"
      // We'll append the device id to get more specific
      // about where the event came from

      // System.deviceID() provides an easy way to extract the device
      // ID of your device. It returns a String object of the device ID,
      // which is used to identify your device.
      // This will build 'diot/2019/smartstudio/myEvent/A13231245345A078'

      String eventName = sharedEventName + deviceEventName + eventID +System.deviceID();

      // now we have something like "diot/2019/paired/0123456789abcdef"
      // and that corresponds to this devices info

      // then we share it out
      Particle.publish( eventName, data);

      // And this will get shared out to all devices using this code

      // we just published so capture this.
      lastPublishedAt = millis();
  }

}
Click to Expand
0

Feedback: 

The feedback that we got during the critiques was mostly reassuring as we were told that as the industry is heading toward ergonomic devices, the concept has high potential and value in the market. In addition, we were told that a significant amount of conducted research could be used to validate the concept during later stages of the product development. 

In addition, we were told that in addition to comfort, we should highlight other values that our device could provide, especially in regards to data. We were also told that our device has the potential to promote its intended value if it was strategically connected with other, relevant devices. However, the connections that we make need to be carefully planned so that they don't have a reverse effect. One of the connections that we were told to consider was with "Harmoniiize" so that we can utilize music to further enhance the feeling of comfort. 

Lastly, since we stitched our mattress and placed the breadboard inside, we were advised that we include a separate fold that would isolate it from the mattress. By doing so, we would protect the user and make sure they don't accidentally sleep on it, which would also make the mattress uniformly comfortable. 

0

Next Steps:

Now that NapTech is functioning as a mattress that converts a setting into an ambient one where students can rest in the studio, our next steps would be to scale the concept. To do so, we would adopt this concept and install it into seats and other furniture in the studio. By doing so, we would ensure that the studio provides a welcoming, spacious perception during daytime when no one is napping. Otherwise, when someone is napping, it would be an ambient, relaxing, and comfortable environment. 

0

Appendix

Circuits


x
Share this Project

Courses

49713 Designing for the Internet of Things

· 18 members

A hands-on introductory course exploring the Internet of Things and connected product experiences.


Focused on
About

The goal is to create an ambient environment at the studio that allows students to use the space to rest during their break time

Created

March 5th, 2019