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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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:
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);
  digitalWrite(trigPin, HIGH);
  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("in, ");
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:
  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()
void loop()
reading = analogRead(tempPin);
tempC = reading / 9.31;

Step 5: Setting Up Motor Driver..

void setup()<br>{
void loop()

//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.

Home Technology Contest

Second Prize in the
Home Technology Contest

squeeze more awesome out of summer contest

Participated in the
squeeze more awesome out of summer contest

Community Contest: Toy Rods and Connectors

Participated in the
Community Contest: Toy Rods and Connectors

Summer #mikehacks Contest

Participated in the
Summer #mikehacks Contest

Battery Powered Contest

Participated in the
Battery Powered Contest



    • Indoor Lighting Contest

      Indoor Lighting Contest
    • Make It Fly Challenge

      Make It Fly Challenge
    • Growing Beyond Earth Maker Contest

      Growing Beyond Earth Maker Contest

    15 Discussions

    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


    5 years ago

    Awesome idea and great instructable. Thanks for sharing!

    1 reply

    5 years ago on Introduction

    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


    5 years ago on Introduction

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