Hallo,
ich arbeite aktuell an einem Projekt bei dem es unter anderem darum geht eine Stoppuhr via Sensor daten zu steuern.
Sobald Flüssigkeit einen Durchflussensor passiert, soll dieser die Stoppuhr starten. Wenn keine Flüssigkeit mehr fließt soll der Wert angezeigt werden.
Mein Code funktioniert auch zu 95%, das heißt: Ich habe l/sekunde, Gesamtmenge und Stoppuhr auf einem LCD, allerdings schaffe ich es nicht die oben genannte Funktion zu programmieren.
Den Codeabschnitt, welcher das ganze Steuern soll sieht so aus:
digitalWrite(ledPin, LOW); // Initiate LED and Step Pin States
sensorValue = flowRate;
if (flagA == 0 && flowRate > 0.0 && blinking == false)
{
startTime = millis(); // store the start time
blinking = true; // turn on blinking while timing
flagA == 1;
}
else if (flagA == 1 && flowRate == 0.0 && blinking == true)
{
lcd.setCursor(0, 0);
blinking = false; // turn off blinking, all done timing
// Routine to report elapsed time
elapsedTime = millis() - startTime; // store elapsed time
elapsedMinutes = (elapsedTime / 60000L);
elapsedSeconds = (elapsedTime / 1000L); // divide by 1000 to convert to seconds - then cast to an int to print
elapsedFrames = (elapsedTime / interval); // divide by 100 to convert to 1/100 of a second - then cast to an int to print
fractional = (int)(elapsedFrames % frameRate); // use modulo operator to get fractional part of 100 Seconds
fractionalSecs = (int)(elapsedSeconds % 60L); // use modulo operator to get fractional part of 60 Seconds
fractionalMins = (int)(elapsedMinutes % 60L); // use modulo operator to get fractional part of 60 Minutes
flagA = 0;
Wie man sicher sieht bin ich alles andere als nen Profi und muss mir den meisten Teil des Codes ergooglen bzw. mich massiv einlesen.
Wenn jemand von euch ne Idee hat, wie ich den Code zum laufen bekommen soll, dann freue ich mich auf eine Antwort. Bei Bedarf poste ich auch den gesamten Code.
Danke!