Gast
#4460092
Hallo,
ich bräuchte mal eure Hilfe bei nem Programm. Ich komm einfach auf keine
einfache aber effektive Lösung...
Zu meinem Programm:
Mein Motor läuft für ein paar Sekunden, wenn ein Analogwert
(Phototransistor) und ein Füllstand (errechnet mit einem Abstandsensor)
unter einem gewissen Wert liegt. Funktioniert auch einwandfrei.
Aber ich möchte, dass dies nur einmal bei Dämmerungung, also bei
Unterschreiten des Analogwerts passiert und nicht ständig bei einem
Schatten, längere Dunkelheit oder ähnliches. Also möchte ich diese
Funktion nach einer Aktivierung für z.B. 9 Stunden sperren. Wie ist das
möglich?? Bitte um Hilfe...
Ausschnitt des Codes:
// Auswertung - Automatik-Betrieb - Motor Start
else if (fototransistor_wert <= 100 && abstand <= behaeltergroesse &&
abstand >= 5) {
motor_start();
motor_bit = 1;
}
// Motor stoppen
else if (motor_bit == 1) {motor_stop1();}
int motor_stop1()
{
// Aktuelle Zeit bestimmen
unsigned long aktuelle_Zeit_2 = millis();
// Überprüfung der Laufzeit des Motors
if (aktuelle_Zeit_2 - alte_zeit_motor > motor_laufzeit) {
// Vergleichszeit aktualisieren
alte_zeit_motor = aktuelle_Zeit_2;
// Motor Stop setzen
analogWrite(Ausgang3_PWM, 0);
}
}