Förderband bewegung

Hallo, aufgrund unserer Diplomarbeit versuchen wir ein Förderband durch einen Hebelschalter zu stoppen, der Hebelschalter wird ungefähr jede Sekunde 1 mal aktiviert. Hier ist das Programm:

void Foerderband(){
      vorher_hebel = digitalRead(Hebel);
      while(1)
      {
      zustand_hebel = digitalRead(Hebel);
      digitalWrite(AusgabePinFunction, HIGH);
      delay(5);
      if((zustand_hebel == LOW) && (zustand_hebel != vorher_hebel))
      {
        digitalWrite(AusgabePinFunction, LOW);
        return;
      }
        vorher_hebel = digitalRead(Hebel);
        Serial.println(vorher_hebel);
      }

Das Programm öffnet ganz normal die Funktion und startet die Bewegung. Leider hört das Förderband nicht auf sich zu drehen. Erst nach etwa 20 Sekunden wird das if erkannt und das Förderband gestoppt. Wisst ihr hier eventuell eine Antwort warum das Problem vorliegt? Danke für die Kommentare!

Hallo
Wie hast du denn den Schalter angeschlossen.
Wozu soll das while gut sein ?
Mit dem Schalter soll ein und aus geschaltet werden .
Sorry ich werde aus Deiner Beschreibung nicht klug

Der Code ist bis zur Unkenntlichkeit verstümmelt und wird selbst beim besten Willen nicht mal eine vollständige Funktion.
Was soll da erraten werden?

Ich sag Dir, Du hast irgendwo 15 Sekunden delay() - vermutlich in vielen kleinen Teilen da drin.

Also zeig was Du hast, dann kann Dir auch geholfen werden.

Hallo niki1764

Hier kommt ein bißl Pseudocode zum Aufbohren:

if (digitalRead(Hebel) == HIGH)  stoppFörderband (); 

Ich wünsche einen geschmeidigen Abend und viel Spass beim Programmieren in C++.

Und viel viel Erfolg bei der Präsentation der Diplomarbeit.

1 Like

das wird nix :smile:

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.