this is BOSCH oil temp. measurement program write for STM32 (Nucleo- F746ZG)

Files at this revision

API Documentation at this revision

Comitter:
rahulp5
Date:
Wed Jan 13 08:20:53 2021 +0000
Parent:
0:a1e3728036c5
Commit message:
change temp to 25

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r a1e3728036c5 -r e79bc88f73d6 main.cpp
--- a/main.cpp	Mon Nov 02 12:30:34 2020 +0000
+++ b/main.cpp	Wed Jan 13 08:20:53 2021 +0000
@@ -26,15 +26,15 @@
 
 int main() 
 {
-    Buzzer = 1;
-    led1 = 1;
-    led2 = 1;
-    led3 = 1;
-    led4 = 1;
-    led5 = 1;
-    led6 = 1;
-    led7 = 1;
-    led8 = 1;
+    Buzzer = 0;
+    led1 = 0;
+    led2 = 0;
+    led3 = 0;
+    led4 = 0;
+    led5 = 0;
+    led6 = 0;
+    led7 = 0;
+    led8 = 0;
 
     float val1, val2, val3, val4, val5, val6, val7, val8;
       
@@ -49,22 +49,35 @@
     float totalavg1, totalavg2, totalavg3, totalavg4, totalavg5, totalavg6, totalavg7, totalavg8 = 0.0;
     
     float Rx;
+    
     //for 3v
     //float C = -74.26;
+    
     //for 5v
     float C = 106.85;
+    
     //for 3.3v
     //float slope = 167.03;
+    
+        
     //for 5v
     float slope = 48.31;
     
+    //for sensor supply 5v adc reff 3.3v 1) 1.10 for 30 deg c 2) 0.09 fpr 30deg c
+    //float C = 110.42;
+    //float C = 88.9;
+    //float slope = 14.21;
+    //float slope = 20.73;
+    
+    
+    
     float calibration;
     
     float R0 = 100.0;
     
     float alpha = 0.00385;
     
-    float tempTh = 30;
+    float tempTh = 26;
             
     while(true) 
     {
@@ -72,7 +85,8 @@
         for(int i=0; i < 50; i++)
         {
             val1 = vrefint1.read_u16();
-                    
+             //pc.printf("%3.2f",val1);       
+            //Volts1 = (val1/65536)*3.3;
             Volts1 = (val1/65536)*3.3;
             Rx = Volts1*slope+C;
             temp1= (Rx/R0-1.0)/alpha;
@@ -143,7 +157,7 @@
             tempC8=temp8-calibration;
             avg8[i]=tempC8;
         
-            wait(0.01);
+            wait(0.02);
         }
         
         for(int j=0; j < 50; j++)
@@ -158,60 +172,85 @@
           totalavg8 =  totalavg8 + avg8[j];
           wait(0.01);
         }
-        
-        pc.printf("%3.2f    %3.2f   %3.2f   %3.2f   %3.2f   %3.2f   %3.2f   %3.2f\n", totalavg1/50, totalavg2/50, totalavg3/50, totalavg4/50, totalavg5/50, totalavg6/50, totalavg7/50, totalavg8/50);
+        totalavg1 = (int)totalavg1/50;
+        totalavg2 = (int)totalavg2/50;
+        totalavg3 = (int)totalavg3/50;
+        totalavg4 = (int)totalavg4/50;
+        totalavg5 = (int)totalavg5/50;
+        totalavg6 = (int)totalavg6/50;
+        totalavg7 = (int)totalavg7/50;
+        totalavg8 = (int)totalavg8/50;
         
-        if((totalavg1 || totalavg2 || totalavg3 || totalavg4 || totalavg5 || totalavg6 || totalavg7 || totalavg8) > tempTh)
-            Buzzer = 0;
+        totalavg1 -= 6;
+        totalavg2 -= 2;
+        totalavg3 -= 7;
+        totalavg4 -= 2;
+        totalavg5 -= 2;
+        totalavg6 -= 2;
+        totalavg7 -= 2;
+        totalavg8 -= 2;
+        
+        pc.printf("%3.2f    %3.2f   %3.2f   %3.2f   %3.2f   %3.2f   %3.2f   %3.2f\n", totalavg1, totalavg2, totalavg3, totalavg4, totalavg5, totalavg6, totalavg7, totalavg8);
+        
+        if((totalavg1 >= tempTh && totalavg1 < 100 ) || (totalavg2 >= tempTh && totalavg2 < 100 ) || (totalavg3 >= tempTh && totalavg3 < 100 ) || (totalavg4 >= tempTh && totalavg4 < 100)  || (totalavg5 >= tempTh && totalavg5 < 100 ) || (totalavg6 >= tempTh && totalavg6 < 100)  || (totalavg7 >= tempTh && totalavg7 < 100 ) || (totalavg8 >= tempTh && totalavg8 < 100 ))
+            Buzzer = 1;
+           
         else
-            Buzzer = 1;
+            Buzzer = 0;
+            
         
-        if(totalavg1 > tempTh)
+        if((totalavg1 >= tempTh) && (totalavg1 < 100))
+        {
+            led1 = 1;
+            //pc.printf("Relay 1 is ON\n");
+            }
+        else
+        {
             led1 = 0;
-        else
-            led1 = 1;
+            //pc.printf("Relay 1 is OFF\n");
+            }
         totalavg1 = 0;
             
-        if(totalavg2 > tempTh)
+        if((totalavg2 >= tempTh) && (totalavg2 < 100))
+            led2 = 1;
+        else
             led2 = 0;
-        else
-            led2 = 1;
         totalavg2 = 0;
             
-        if(totalavg3 > tempTh)
+        if((totalavg3 >= tempTh) && (totalavg3 < 100))
+            led3 = 1;
+        else
             led3 = 0;
-        else
-            led3 = 1;
         totalavg3 = 0;
             
-        if(totalavg4 > tempTh)
+        if((totalavg4 >= tempTh) && (totalavg4 < 100))
+            led4 = 1;
+        else
             led4 = 0;
-        else
-            led4 = 1;
         totalavg4 = 0;
             
-        if(totalavg5 > tempTh)
+        if((totalavg5 >= tempTh) && (totalavg5 < 100))
+            led5 = 1;
+        else
             led5 = 0;
-        else
-            led5 = 1;
         totalavg5 = 0;
         
-        if(totalavg6 > tempTh)
+        if((totalavg6 >= tempTh) && (totalavg6 < 100))
+            led6 = 1;
+        else
             led6 = 0;
-        else
-            led6 = 1;
         totalavg6 = 0;
             
-        if(totalavg7 > tempTh)
+        if((totalavg7 >= tempTh) && (totalavg7 < 100))
+            led7 = 1;
+        else
             led7 = 0;
-        else
-            led7 = 1;
         totalavg7 = 0;
             
-        if(totalavg8 > tempTh)
+        if((totalavg8 >= tempTh) && (totalavg8 < 100))
+            led8 = 1;
+        else
             led8 = 0;
-        else
-            led8 = 1;
         totalavg8 = 0;