tokuni

Dependencies:   mbed

Revision:
1:b647fdc5a465
Parent:
0:c168443703fb
Child:
2:06322e6e403b
diff -r c168443703fb -r b647fdc5a465 main.cpp
--- a/main.cpp	Tue Dec 23 06:16:39 2014 +0000
+++ b/main.cpp	Thu Jan 22 13:39:46 2015 +0000
@@ -3,25 +3,19 @@
 AnalogIn tempPin1(p15);
 AnalogIn tempPin2(p16);
 AnalogIn tempPin3(p17);
-AnalogIn tempPin4(p18);
 PwmOut pwm1(p21);
 PwmOut pwm2(p22);
-#define start 500
-#define end 2000
 float tempTotal1;
 float tempTotal2;
 float tempTotal3;
-float tempTotal4;
 uint32_t tempDiv1;
 uint32_t tempDiv2;
 uint32_t tempDiv3;
-uint32_t tempDiv4;
 #define MAX_TEMP_AVG 10
 void sampleTemp();
 void sampleTemps();
 void resetTempSamples();
 float getAvgTemp();
-
 void sampleTemp()
 {
         tempTotal1 += tempPin1; 
@@ -30,8 +24,7 @@
         tempDiv2++;
         tempTotal3 += tempPin3; 
         tempDiv3++;
-        tempTotal4 += tempPin4; 
-        tempDiv4++;       
+       
 }
 void sampleTemps()
 {
@@ -48,64 +41,59 @@
     tempDiv2 = 0;
     tempTotal3 = 0.0;
     tempDiv3 = 0;
-    tempTotal4 = 0.0;
-    tempDiv4 = 0;
+
 }
 
 float getAvgTemp1()
 {
     resetTempSamples();
     sampleTemps();
-    float tempAvg1 = (((tempTotal1)*3300/(float)tempDiv1)-400.0)/19.5;
+    float tempAvg1 = ((((tempTotal1)*3300/(float)tempDiv1)-400.0)/19.5);
     return tempAvg1;
 }
 float getAvgTemp2()
 {
     resetTempSamples();
     sampleTemps();
-    float tempAvg2 = (((tempTotal2)*3300/(float)tempDiv2)-400.0)/19.5;
+    float tempAvg2 = (((((tempTotal2)*3300/(float)tempDiv2)-400.0)/19.5)-1);
     return tempAvg2;
 }
 float getAvgTemp3()
 {
     resetTempSamples();
     sampleTemps();
-    float tempAvg3 = (((tempTotal3)*3300/(float)tempDiv3)-400.0)/19.5;
+    float tempAvg3 = (((((tempTotal3)*3300/(float)tempDiv3)-400.0)/19.5));
     return tempAvg3;
 }
-float getAvgTemp4()
-{
-    resetTempSamples();
-    sampleTemps();
-    float tempAvg4 = (((tempTotal4)*3300/(float)tempDiv4)-400.0)/19.5;
-    return tempAvg4;
-}
 int main() {
-    
     tempDiv1 = 0;
     tempDiv2 = 0; 
-    tempDiv3 = 0;
-    tempDiv4 = 0;
-    int a,b;   
+    tempDiv3 = 0;  
     pc.printf("MBED ready..\r\n");
-    sampleTemps();
+    sampleTemps(); 
     while(1){     
         sampleTemp();                        
-        float k=getAvgTemp1()-getAvgTemp2();
-        float i=getAvgTemp3()-getAvgTemp4();
-        pc.printf("Temp1:%f\nTemp2:%f\n",getAvgTemp1(),getAvgTemp2());
-        pc.printf("Temp3:%f\nTemp4:%f\n",getAvgTemp3(),getAvgTemp4());
-            a = k * 2;
-            b = i * 2;
-        {
-        for(int p = start; p < end; p += a) 
-        pwm1.pulsewidth_us(p);
-        wait_ms(10);
-        }
-        {
-        for(int q = start; q < end; q += b)
-        pwm2.pulsewidth_us(q);
-        wait_ms(10);
-        }
-}
-}
\ No newline at end of file
+        pc.printf("T2=%f          T1=%f           T3=%f\n",getAvgTemp2(),getAvgTemp1(),getAvgTemp3());          // T1,T2,T3
+        if(getAvgTemp1()>getAvgTemp2()||getAvgTemp1()>getAvgTemp3()){
+        wait_ms(4000);
+        }else if(getAvgTemp2()-getAvgTemp1()>0.5||getAvgTemp1()-getAvgTemp3()>0.5){
+            for(int i = 0; i <=200; i++){
+                pwm1.pulsewidth_us(2000-i*5);
+                pwm2.pulsewidth_us(2000-i*5);
+                wait_ms(4000);
+                }
+        }else(getAvgTemp3()>getAvgTemp1()||getAvgTemp1()>getAvgTemp2()){
+            for(int i = 0; i <=200 ; i++){
+                pwm1.pulsewidth_us(1000+i*5);   //xia max 2000
+                pwm2.pulsewidth_us(1000+i*5);   //shang max 2000 
+                wait_ms(4000);
+                }if(i == 200){                      //xia shang tong shi 2000
+             for(int i = 0; i <=200; i++){     
+                pwm1.pulsewidth_us(2000+i*5);   //xia 1500+max1000 = 3000
+                pwm2.pulsewidth_us(2000-i*5);     //shang 2000-max1000 = 1000
+                wait_ms(4000); 
+                }     
+             }
+
+
+}