Introduction: The 'know-it-all' Shower...

An automated home isn't just smart enough, unless it encompasses a smart bathroom . With spontaneity as its accomplice, here's a unique shower that is intelligence and luxury en masse. Its dexterity in pouring down a perfect fusion of hot and cold in accordance with surrounding teperature is something that guarantees perfect satisfaction . Being more than an ordinary shower, it is something that just knows!

Summer has got a smart enemy now.

Step 1: Material

* Electronic Components :

* Mechanical Components :

  • Toy connecting rods
  • Tires with clamps
  • Spacers
  • Nut and Bolts.

Step 2: Mechanical Design...

All the parts have been assembled as shown above. For tire and clamp, washer should be used. After fitting it to the shower knob, two more spacers are to be bolted to ensure stability. Taping the BO-motors back ensures water proofing.

Step 3: Setting Up Ultra Sonic Sensor..

const int trigPin = 8;<br>const int echoPin = 9;
 
void setup() {
  // initialize serial communication:
  Serial.begin(9600);
}
 
void loop()
{
  // establish variables for duration of the ping, 
  // and the distance result in inches and centimeters:
  long duration, inches, cm;
 
  // The sensor is triggered by a HIGH pulse of 10 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  pinMode(trigPin, OUTPUT);
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
 
  // Read the signal from the sensor: a HIGH pulse whose
  // duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);
 
  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);
  
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  
  delay(100);
}
 
long microsecondsToInches(long microseconds)
{
  // According to Parallax's datasheet for the PING))), there are
  // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
  // second).  This gives the distance travelled by the ping, outbound
  // and return, so we divide by 2 to get the distance of the obstacle.
  // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
  return microseconds / 74 / 2;
}
 
long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

Step 4: Setting Up Temperature Sensor..

float tempC;<br>int reading;
int tempPin = 0;
void setup()
{
  
analogReference(INTERNAL);
 
 Serial.begin(9600);
 }
void loop()
{
reading = analogRead(tempPin);
tempC = reading / 9.31;
Serial.print(tempC);
Serial.println();
}

Step 5: Setting Up Motor Driver..

void setup()<br>{
  pinMode(13,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
 
}
void loop()
{
  digitalWrite(11,HIGH);
 digitalWrite(10,LOW);
 delay(460);
  
 digitalWrite(11,LOW);
 digitalWrite(10,LOW);
 
  
 delay(1/0);
  

//check for motor 13,12,11,10 used for motor output

}

Step 6: Dry Test..

upload the given code for running the dry test at a height of 40 cms.

Step 7: Attaching the Mechanical Chassis to the Shower..

Attach the chasis and bolt the spacer such that knob of the shower be in the tight grip of the clamped tire.

Step 8: Final Test (Wet Test)..

  • Check for delay corresponding to the angle of rotation. (470ms=360degrees as in code).
  • Hang the the sensors box right above the position where you stand during bath.
  • Hang the motor driver box away from water.
  • Measure the height of the bathroom roof. (for my bathroom its 200cms approx.)
  • Measure the height of the smallest member of your family. (150cms for my family)
  • Upload the code.
  • Ready to take a Smarter bath =)..

Remember to open the geyser before this test if temperature is low.. It has auto cut-off no need to make it smarter..

Enjoy the bath..

Step 9: Conclusion

the experiment quite well reflects the efficacy of the working mechanism ,while more testing might modify subtle details. the prototype in question can be made more cost efficient so that it suits varied consumers. the working philosophy is also expected to benefit other spheres in a better direction.

Comments

author
TrollFaceTheMan (author)2014-08-08

Very cool, I like how it automatically balances water temperature... But honestly if I adjusted it, it might be a bad idea for someone else to try and take a shower because I like mine HOT!! XD

author
skumar241 (author)2014-07-21

great work..

author
grajesh (author)2014-07-14

Excellent....!

author
pkumar125 (author)2014-07-14

Great project...good idea..:)

author
bakuri1 (author)2014-07-13

Good Work... Keep it up

author
narya2 (author)2014-07-11

grt concept

author
sha4194 (author)2014-07-11

Awesome project...Great idea..temperature control system is really innovative..

author
ism_syed (author)sha41942014-07-11

thank you..

author
kode1303 (author)2014-07-10

Very good idea. Thankyou!

author
ism_syed (author)kode13032014-07-11

Thanks..

author
bergerab (author)2014-07-11

Awesome idea and great instructable. Thanks for sharing!

author
ism_syed (author)bergerab2014-07-11

Thanks...

author
tominjose (author)2014-07-10

Polichutto:)

author
didexo (author)2014-07-10

I was about to say this wasn't a K'nex project and should be removed from this contest. But then I remembered that it is a rods and connectors contest, not just K'nex :D

author
Aleator777 (author)2014-07-10

Ahh! I wish my shower turned on and off automatically. Sweet demo.

About This Instructable

2,192views

26favorites

License:

More by ism_syed:The 'know-it-all' Shower...how to make your smartphone as spy camera
Add instructable to: