INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
brauche Hilfe, zeitlicher Ablauf
03.03.2020, 14:01
Beitrag #1
brauche Hilfe, zeitlicher Ablauf
Guten Tag zusammen,

ich bin hier neu und beschäftige mich erst seit ein paar Tagen mit dem Arduino.

Vielleicht kann mir hier ja jemand helfen.

Ich möchte für meinen Fischteich eine kleine "Futtermaschine" bauen, die soll in einem kleinen Haus meiner Gartenbahn untergebracht werden.

Der Ablauf soll wie folgt sein:

- Eine Auslösung soll automatisch alle ca. 24h oder per Taster erfolgen
- es soll eine LED anfangen zu blinken
- dann soll Schrittmotor1 5 Umdrehungen vorwärts laufen
- Pause 5 Sekunden
- Schrittmotor2 soll 10 Umdrehungen vorwärts laufen
- 2 Sekunden Pause
- Schrittmotor2 soll 5 Umdrehungen rückwärts laufen
- 2 Sekunden Pause
- Schrittmotor1 5 Umdrehungen rückwärts
- 5 Sekunden Pause
- LED soll aufhören zu blinken
- das ganze soll sich dann nach ca. 24h (besser 23h:59min) oder bei Tastendruck wiederholen


Ich weiß mein Sketch ist falsch und nicht komplett. Ich kenne mich noch nicht aus.
Mir fehlt der erste Teil mit der 24h Zeitschaltung und die parallele Auslösung per Taster und die LED blinkt auch nur einmal und nicht die ganze Zeit über.

Es wäre nett, wenn mir jemand helfen könnte.

Code:
#include <Stepper.h>
int LED=13;
int SPU = 2048;  // Schritte pro Umdrehung
Stepper MotorSchieber(SPU, 3,5,4,6);   //Motor für Schieber unter Abwurf
Stepper MotorSchnecke(SPU, 7,9,8,10);  // Motor für Förderschnecke

void setup() {
pinMode(13, OUTPUT);                  
MotorSchieber.setSpeed(5);        // Geschwindigkeit in U/min
MotorSchnecke.setSpeed(10);       // Geschwindigkeit in U/min
}





void loop() {
  digitalWrite(13, HIGH);         // LED an
  delay(1000);                    // Pause in Millisekunden
  digitalWrite(13, LOW);          // LED aus
  delay(1000);                    // Pause in Millisekunden
    
  MotorSchieber.step(10240);      // Motor macht 10240 Schritte also 5 Umdrehungen
  delay(5000);                    // Pause in Millisikunden
  

  MotorSchnecke.step(20480);      // Motor macht 20480 Schritte also 10 Umdrehungen vorwärts
  delay(2000);                    // Pause in Millisekunden
  MotorSchnecke.step(10240);      // Motor macht 10240 Schritte also 5 Umdrehungen zurück
  delay(2000);                    // Pause in Millisekunden

  MotorSchieber.step(-10240);     // Motor macht -10240 Schritte also 5 Umdrehungen zurück

mit freundlichen Grüßen
Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.03.2020, 15:22
Beitrag #2
RE: brauche Hilfe, zeitlicher Ablauf
Du brauchst eine "Schrittkette, Ablaufsteuerung" und die darf keine delay() enthalten.
Sieh dir dazu in den Beispielen der IDE "BlinkWithoutDelay" an und versuche es zu verstehen.
Eine gute Beschreibung dazu findest du auch hier im Forum: BlinkWithoutDelay

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.03.2020, 15:24
Beitrag #3
RE: brauche Hilfe, zeitlicher Ablauf
Zuerst brauchst Du mal eine RTC für die Zeit (der Arduino ist zu ungenau).
Ich empfehle die DS3231, die ist langzeitstabil.

Dann solltest Du Dich entscheiden, ob Du für 13:45 mit 13*60+45 = 825 oder mit 13*100+45 = 1345 rechnen willst. Also in "Minuten" rechenen und vergleichen.

Dann lernst Du erst mal die RTC stellen und einlesen.
Immer wenn die alte Minute != der neuen Minute ist, schaust Du, ob man was machen muss.
Delay brauchst Du überhaupt nicht.

Dann solltest Du Dich mit strukt (struktur) beschäftigen und mit Arrays.
Die übersichtlichste Variante wäre dann objektorientiert, das braucht aber ein wenig mehr Einarbeitung.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2020, 02:00
Beitrag #4
RE: brauche Hilfe, zeitlicher Ablauf
@hotsystems Danke für den Tip, leider bringt mich das Beispiel als Anfänger nicht weiter. Ich kann den Code kopieren und einfügen und die LED´s machen genau was sie sollen und zwar alle gleichzeitig. Das Unterprogamm LED2 ist leider nicht erklärt und die led2 nirgends definiert nur die led_2. Somit fehlt leider eine Erklärung für diesen scheinbar nicht ganz unwichtigen Teil.

Wenn ich meinen Schrittmotor in den loop-Teil einfüge funktiert alles nicht mehr. Die LED´s wechseln ihren Zustand nur noch, wenn der Motor seine Bewegung beendet hat.


@Tommy56 Danke für den Hinweis der Echtzeituhr, ich habe mir eine DS3231 bestellt und werde damit experimentieren.

Gruß
Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2020, 08:57 (Dieser Beitrag wurde zuletzt bearbeitet: 04.03.2020 09:00 von MicroBahner.)
Beitrag #5
RE: brauche Hilfe, zeitlicher Ablauf
Das Problem mit dem Schrittmotor liegt daran, dass die Stepper.h den gesamten Programmablauf blockiert, während der Motor läuft.
Du könntest Dir mal meine MobaTools anschauen. Die enthalten Lösungen für dieses Problem ( der Ablauf des Schrittmotors blockiert den Sketch nicht ) und auch für die Zeitsteuerung von 'parallelen' Abläufen. Sie enthalten auch entsprechende Beispiele.
Ich hatte die ursprünglich für meine Modellbahn Kollegen geschrieben, die beim Arduino auch nicht immer so 'sattelfest' sind. Für die hatte ich auch mal ein Tutorial geschrieben, wo erklärt ist wie das mit den 'parallelen' Abläufen funktioniert. Da Du ja auch Züge im Kreis fahren lässt (Gartenbahn), könntest Du damit vielleicht auch was anfangen Wink

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2020, 13:05
Beitrag #6
RE: brauche Hilfe, zeitlicher Ablauf
Da Dir unsere Antworten anscheinend nicht gefallen weil Du es mit Crossposting versuchst, konnen wir ja damit aufhören.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2020, 14:30
Beitrag #7
RE: brauche Hilfe, zeitlicher Ablauf
@ MicroBahner Danke für den link, ich glaube das hilft mir weiter. Ich werde mich damit in den nächsten Tagen beschäfftigen, es sieht vielversprechend aus.


@ Tommy56 da ich wie gesagt Anfänger bin und es bekanntlich viele Wege gibt versuche ich natürlich soviele Info und Wege wie möglich zu ergründen um den besten für mich zu finden. z.B. hat dein RTC Hinweis mich ja auch weiter gebracht, da ist sonst keiner drauf eingegangen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2020, 16:44
Beitrag #8
RE: brauche Hilfe, zeitlicher Ablauf
(04.03.2020 02:00)tolotos789 schrieb:  @hotsystems Danke für den Tip, leider bringt mich das Beispiel als Anfänger nicht weiter. Ich kann den Code kopieren und einfügen und die LED´s machen genau was sie sollen und zwar alle gleichzeitig. Das Unterprogamm LED2 ist leider nicht erklärt und die led2 nirgends definiert nur die led_2. Somit fehlt leider eine Erklärung für diesen scheinbar nicht ganz unwichtigen Teil.

Wenn ich meinen Schrittmotor in den loop-Teil einfüge funktiert alles nicht mehr. Die LED´s wechseln ihren Zustand nur noch, wenn der Motor seine Bewegung beendet hat.
Ich habe auch nicht geschrieben, dass es leicht ist.
Da musst du sicher noch einiges lernen. Aber ohne diese Technik wird dein Projekt scheitern.
Also früh damit anfangen und es verstehen, dann kann es was werden.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Brauche Hilfe bei Arrays mega-hz 25 3.987 02.02.2021 16:57
Letzter Beitrag: Tommy56
  Erbitte Hilfe bei Counter für Einsteiger Gravtiy 19 795 25.01.2021 17:30
Letzter Beitrag: hotsystems
Question Hilfe bei Programmierung (Rainbow) AlexTimo1995 5 376 06.01.2021 17:26
Letzter Beitrag: Harry
  Hilfe, Bitweises Einschalten von Digitalausgängen Portregisterübergreifend Christian_Moba-Arduino 9 596 22.12.2020 01:25
Letzter Beitrag: Bitklopfer
  for Schleife behindert teilweise Ablauf rev.antun 5 376 23.11.2020 14:43
Letzter Beitrag: rev.antun
  Benötige dringende Hilfe bei CHAR DO3GE 4 565 07.10.2020 10:41
Letzter Beitrag: Tommy56
  RGB Controller Hilfe bei der Programmierung Jumbo_27 1 519 15.08.2020 17:32
Letzter Beitrag: Tommy56
  Brauch Hilfe bei Laser Nevelierung mit Traktor Schild SiR WonG 4 1.035 26.07.2020 10:00
Letzter Beitrag: SiR WonG
  Hilfe Millis treibt mich in den Wahnsinn Nefrett 17 2.399 04.05.2020 20:53
Letzter Beitrag: Tommy56
  Brauche Hilfe, Was Stimmt an meinem Sketch nicht Andi-1090 12 1.869 20.03.2020 10:04
Letzter Beitrag: hotsystems

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste