Update vom 10.05.15

Dependencies:   FreescaleIAP MODSERIAL mbed monitor timer0

Fork of 18_PT1000 by Temp27

Revision:
11:7bc691148135
Parent:
10:84387eed15b5
Child:
12:d5a745de5380
--- a/main.cpp	Mon Aug 18 08:27:08 2014 +0000
+++ b/main.cpp	Mon Aug 18 12:53:33 2014 +0000
@@ -36,7 +36,9 @@
 //------------------------------------------------------------------------------
 // Zuordnung von Eingängen und Ausgängen
 
+DigitalIn in1(PTA16);
 InterruptIn tropfen(PTA16);                     // Eingang für Tropfensensor >> nur Port A und D
+
 PwmOut heizung(PTA13);                          // Ausgang für den PWM der die Heizung steuert
 
 DigitalOut r(LED_RED);
@@ -120,9 +122,12 @@
 //
 void tropfen_handler()
 {
-    if(t.read_us() > 1000)
+    if(t.read_us() > 10000) //falls Tropfen weniger als 1 ms Lichtschranke blockiert, wird er nicht gewertet.
     {
-        tropfen_anz++;
+        if (in1 == 0)
+        {
+            tropfen_anz++;
+        }
     }
     t.reset();
     t.start();    
@@ -295,14 +300,17 @@
        //-------------------------------------------
        // Prüfen ob Tropfenzahl erreicht
        
-       
-       if (tropfen_anz >= drops){
-       
-            // mit einer 9 die Tropfen sperren
-       if(send_flag){   com.putc('9');          // Trofensteuerung wird ausgeschaltet
-                        send_flag = false;      // Flag zur Programmsteuerung
-                        LED6 = 1;               // zeigt Status Tropfensteuerung an
-                    }
+       if (f_flag)
+       {
+           if (tropfen_anz >= drops){
+           
+                // mit einer 9 die Tropfen sperren
+                if(send_flag){   
+                    com.putc('9');          // Trofensteuerung wird ausgeschaltet
+                    send_flag = false;      // Flag zur Programmsteuerung
+                    LED6 = 1;               // zeigt Status Tropfensteuerung aus
+                }
+            }
        }
                  
        //-------------------------------------------
@@ -316,9 +324,11 @@
        
        //-------------------------------------------
        // Tropfensteuerung freigeben
+       // down
        
        if (down_timer.GetTimerStatus(1) == 0)
        {
+          //down_timer.SetCountdownTimer(timer nr,Zeiteinheit: 1 = ms o. 2 = s,tropfperiode);
           down_timer.SetCountdownTimer(1,2,tropfperiode);
           
           //-------------------------------------------
@@ -329,7 +339,7 @@
               
               // mit einer 1 die Tropfen freigeben
               if (~send_flag){ 
-                com.putc('1');           // Tropfensteuerung freigeben
+                com.putc('1');           // Tropfensteuerung freigeben von Magnetventil 1
                 send_flag=true;          // Flag zum Status der Tropfensteuerung
                 LED6 = 0;                // Anzeige zum Status der Tropfensteuerung
               }
@@ -342,7 +352,7 @@
        
        if (down_timer.GetTimerStatus(2) == 0)
        {
-            down_timer.SetCountdownTimer(2,1,500);
+            down_timer.SetCountdownTimer(2,1,1000);
             
             //------------------------------------------------------
             // PT1000 Kanal 1 ( Fühler in Flüssigkeit) lesen und die Temperatur berechnen