Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: FreescaleIAP MODSERIAL mbed monitor timer0
Fork of 19_Taster_a by
Diff: main.cpp
- 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
