Maths/Mathematics/Calculation

2 complete tide cycle/2 sine curve (one day)

>25 hours

>1,500 mins

>90,000 secs

Tinker Inc.

Pump Rate

> 200 or 250 or 288 or 300 liters/hour

> 0.05556 or 0.06944 or 0.08 or 0.08333 liters/sec (4.s.f)

> 55.556 or 69.444 or 80 or 83.333 ml/sec

>1/18 or 5/72 or 2/25 or 1/12 liters/sec

Volume of water to be transferred

>(water level)*(length of tank)*(breadth of tank)

>20cm*30cm*19cm [This calculation is the outside of the tank,not accurate]

>20cm x 29cm x 18cm 

>0.2m x 0.29m x 0.18m 

>0.01044 m^3

>10.44 litres

Time taken for 10.44 litres

>10.44l / (1/18)liters/s = 187.92 sec

>10.44l / (5/72)liters/s = 150.336 sec

>10.44l / (2/25)liters/s = 130.5 sec

>10.44l / (1/12)liters/s = 125.28 sec

Time Taken for the highest amplitude to the lowest amplitude

>90,000 secs/4                 >900 secs/4 (scaled down)

>22,500 secs                        >225 secs (scaled down)

Therefore, for the highest amplitude to the lowest amplitude of the sine curve, we will pump a total of 187.92 secs discounting the pause time.

And the achieved time must be 225 secs.

Therefore the pause time

>225 secs-187.92 secs

>225 secs-188 secs(3 s.f)

>37 secs

Due, to the fact that 37 is relatively divisible by 8. We will pause the pump 8 times; each time 4.625 secs = 4625 milli-secs

Experiment_01 (Status: Active) INVALID

on ( 10 )secs

off (4.625 )secs

on ( 15 )secs

off (4.625 )secs

on ( 20 )secs

off (4.625 )secs

on ( 25 )secs

off (4.625 )secs

on ( 73 )secs

off (4.625 )secs

on ( 20 )secs

off (4.625 )secs

on ( 15 )secs

off (4.625 )secs

on ( 10 )secs

off (4.625 )secs

>next pump

Experiment_01 (Codes)

#define RELAY1  7                

#define RELAY2  8                        

#define Grove_Water_Sensor1 12

#define Grove_Water_Sensor2 13

 

void setup()

{    

  pinMode(RELAY1, OUTPUT);      

  pinMode(RELAY2, OUTPUT);

  pinMode(Grove_Water_Sensor1, INPUT);

  pinMode(Grove_Water_Sensor2, INPUT);

}

 

 void loop()

{

   if(digitalRead(Grove_Water_Sensor1)== HIGH){

                                 

   digitalWrite(RELAY1,HIGH);                              

   delay(10000);                                      

   digitalWrite(RELAY1,LOW);

   delay(4625);

                                     

   digitalWrite(RELAY1,HIGH);                      

   delay(15000);                                      

   digitalWrite(RELAY1,LOW);

   delay(4625);

                                     

   digitalWrite(RELAY1,HIGH);                                        

   delay(20000);                                      

   digitalWrite(RELAY1,LOW);

   delay(4625);

                                     

   digitalWrite(RELAY1,HIGH);                                                    

   delay(25000);                                      

   digitalWrite(RELAY1,LOW);

   delay(4625);

                                     

   digitalWrite(RELAY1,HIGH);                                                    

   delay(73000);                                      

   digitalWrite(RELAY1,LOW);

   delay(4625);

                                     

   digitalWrite(RELAY1,HIGH);                                                    

   delay(20000);                                      

   digitalWrite(RELAY1,LOW);

   delay(4625);

   digitalWrite(RELAY1,HIGH);                                                    

   delay(15000);                                      

   digitalWrite(RELAY1,LOW);

   delay(4625);

   digitalWrite(RELAY1,HIGH);                                                    

   delay(10000);                                      

   digitalWrite(RELAY1,LOW);

   delay(4625);  

 

  }else{

  digitalWrite(RELAY1,LOW);

  }

 

 if(digitalRead(Grove_Water_Sensor2)== HIGH){

                                 

   digitalWrite(RELAY2,HIGH);                              

   delay(10000);                                      

   digitalWrite(RELAY2,LOW);

   delay(4625);

                                     

   digitalWrite(RELAY2,HIGH);                      

   delay(15000);                                      

   digitalWrite(RELAY2,LOW);

   delay(4625);

                                     

   digitalWrite(RELAY2,HIGH);                                        

   delay(20000);                                      

   digitalWrite(RELAY2,LOW);

   delay(4625);

                                     

   digitalWrite(RELAY2,HIGH);                                                    

   delay(25000);                                      

   digitalWrite(RELAY2,LOW);

   delay(4625);

                                     

   digitalWrite(RELAY2,HIGH);                                                    

   delay(73000);                                      

   digitalWrite(RELAY2,LOW);

   delay(4625);

                                     

   digitalWrite(RELAY2,HIGH);                                                    

   delay(20000);                                      

   digitalWrite(RELAY2,LOW);

   delay(4625);

   digitalWrite(RELAY2,HIGH);                                                    

   delay(15000);                                      

   digitalWrite(RELAY2,LOW);

   delay(4625);

   digitalWrite(RELAY2,HIGH);                                                    

   delay(10000);                                      

   digitalWrite(RELAY2,LOW);

   delay(4625);  

 

  }else{

  digitalWrite(RELAY2,LOW);

  }

 

  }

Pump for 187.92

Stop for 37.08

Experiment_02 (Status: Active) INVALID

 

off (3.708 )secs

on ( 10 )secs

off (3.708 )secs

on ( 15 )secs

off (3.708 )secs

on ( 20 )secs

off (3.708 )secs

on ( 25 )secs

off (3.708 )secs

on ( 36.5 )secs

off ( 3.708)secs

on ( 36.5 )secs

off (3.708 )secs

on ( 20 )secs

off (3.708 )secs

on ( 15 )secs

off (3.708 )secs

on ( 10 )secs

off (3.708 )secs

>next pump

off (3.708 )secs

on ( 10 )secs

off (3.708 )secs

on ( 15 )secs

off (3.708 )secs

on ( 20 )secs

off (3.708 )secs

on ( 36.5 )secs

off ( 3.708)secs

on ( 36.5 )secs

off (3.708 )secs

on ( 25 )secs

off (3.708 )secs  ------> 25 secs below linear part to get a symmetrical            curve

on ( 20 )secs

off (3.708 )secs

on ( 15 )secs

off (3.708 )secs

on ( 10 )secs

off (3.708 )secs

Graph (according to 2ml/s pump rate)

Screen Shot 2014-08-21 at 10.43.43 PM.png

Screen Shot 2014-08-21 at 10.44.23 PM.png

Screen Shot 2014-08-21 at 10.45.17 PM.pngScreen Shot 2014-08-21 at 10.36.07 PM.png

Graph (according to 55.556ml/s pump rate)

Experiment_03 {Status: Active}

900 secs

¼ x 900= 225 secs

in 225 secs {187.92 pumping, 37.08 rest}

Experiment_03 Codes

#define RELAY1 8

#define RELAY2 7

void setup()

{    

  pinMode(RELAY1, OUTPUT);      

  pinMode(RELAY2, OUTPUT);

 

}

 

 void loop()

{

   digitalWrite(RELAY1,HIGH);

   delay(10000);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

   digitalWrite(RELAY1,HIGH);

   delay(12500);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

   digitalWrite(RELAY1,HIGH);

   delay(15000);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

   digitalWrite(RELAY1,HIGH);

   delay(17500);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

   digitalWrite(RELAY1,HIGH);

   delay(20000);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

   digitalWrite(RELAY1,HIGH);                //START OF LINEAR

   delay(18960);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

   digitalWrite(RELAY1,HIGH);

   delay(18960);

   digitalWrite(RELAY1,LOW);

   delay(3090);                                //END OF LINEAR

   

   digitalWrite(RELAY1,HIGH);

   delay(20000);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

   digitalWrite(RELAY1,HIGH);

   delay(17500);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

   digitalWrite(RELAY1,HIGH);

   delay(15000);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

   digitalWrite(RELAY1,HIGH);

   delay(12500);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

   digitalWrite(RELAY1,HIGH);

   delay(10000);

   digitalWrite(RELAY1,LOW);

   delay(3090);

   

                                //END OF RELAY1

                                //START OF RELAY2

   

   digitalWrite(RELAY2,HIGH);

   delay(10000);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

   digitalWrite(RELAY2,HIGH);

   delay(12500);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

   digitalWrite(RELAY2,HIGH);

   delay(15000);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

   digitalWrite(RELAY2,HIGH);

   delay(17500);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

   digitalWrite(RELAY2,HIGH);

   delay(20000);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

   digitalWrite(RELAY2,HIGH);                //START OF LINEAR

   delay(18960);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

   digitalWrite(RELAY2,HIGH);

   delay(18960);

   digitalWrite(RELAY2,LOW);

   delay(3090);                                //END OF LINEAR

   

   digitalWrite(RELAY2,HIGH);

   delay(20000);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

   digitalWrite(RELAY2,HIGH);

   delay(17500);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

   digitalWrite(RELAY2,HIGH);

   delay(15000);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

   digitalWrite(RELAY2,HIGH);

   delay(12500);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

   digitalWrite(RELAY2,HIGH);

   delay(10000);

   digitalWrite(RELAY2,LOW);

   delay(3090);

   

} //END OF CODE