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

by ism_syed in Circuits > Arduino

2902 Views, 27 Favorites, 0 Comments

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

53c026cedbf3ec5a9800009d.jpg
100_1117.JPG
100_1141.JPG
My Edited Video

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.

Material

4578f41d9764a5c236470019f05dd2bc.image.447x354.jpg
5129f1NyoSL._SY300_.jpg
LM35.jpg
L293D-MOTOR-DRIVER.jpg
download (2).jpg
3676a.jpg
Duracell 9 Volt Battery_main_400.jpgcdff1330-c3fe-4c8a-afbe-1d532f6c21d9Large.jpg
Male-to-Male-Jumper-Wire-(75-pack)-600x600.jpg
100_1068.JPG
100_1100.JPG
imagess.jpg
images5.jpg

* Electronic Components :

* Mechanical Components :

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

Mechanical Design...

100_1070.JPG
100_1075.JPG
100_1085.JPG
100_1089.JPG
100_1092.JPG
100_1100.JPG
100_1101.JPG
100_1106.JPG

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.

Setting Up Ultra Sonic Sensor..

5129f1NyoSL._SY300_.jpg
Untitled Sketch_bb.jpg
100_1109.JPG
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;
}

Downloads

Setting Up Temperature Sensor..

LM35.jpg
100_1117.JPG
lm35_bb_1_.jpg
100_1128.JPG
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();
}

Downloads

Setting Up Motor Driver..

100_1122.JPG
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

}

Downloads

Dry Test..

My Edited Video

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

Downloads

Attaching the Mechanical Chassis to the Shower..

100_1092.JPG
100_1141.JPG

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

Final Test (Wet Test)..

100_1123.JPG
100_1097.JPG
DSC_0118.jpg
  • 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..

Downloads

Conclusion

Conclusion.jpg

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.