- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 14

Thema: Relais-Zeitsteuerung mit Digispark

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.095
    Delay sollte man wenn möglich vermeiden. Für einfache Dinge reicht es aber. Besser wäre es mit Interrupts zu arbeiten.

    MfG Hannes

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    29.10.2013
    Beiträge
    8
    Hallo Hannes,

    vielen Dank nochmal für Deine Nachricht.

    Delay sollte man wenn möglich vermeiden.

    Warum wird dann sehr oft Delay verwendet???

    Also ich habe jetzt einige Sketche im Netz angeschaut und fast in jeden wird der Befehl Delay verwendet, wenn es um Zeitvariablen geht. Da sind auch sehr lange Programme bei. Z.B. wenn es um Windgeschwindigkeiten geht.

    Selbst im Arduino-Buch "Grundlagen zur Programmierung" von U.S findest du fast keinen Sketch ohne Delay. z.B. Taster entprellen; Ein-und Ausschaltverzögerung usw.


    Viele Grüße
    Mexico 67

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.04.2008
    Beiträge
    282
    Das mit den Grundlagen war keineswegs als Angriff sondern vollkommen ernst gemeint. Wer sich in der Zukunft nur halbwegs intentsiv mit Digisparks / Arduinos beschäftigen will, kommt da einfach nicht drum rum. Und das Anlegen von Variablen oder die Verwendung von If/Then Entscheidungen gehört zur absoluten Grundlage jeder Programmiersprache.

    Delay sollte man deshalb nicht verwenden, weil es die Ausführung des gesamten Programm-Codes blockiert. So kann man zum Beispiel nicht mehr auf Tasten-Eingaben oder andere Signale reagieren. In den Beispielen wird es deshalb immer verwendet, weil es einfach ist und man in der Regel ja gerade etwas anderes demonstrieren will. In einem Beispiel einen sog. endlichen Zustandautomaten zu zeigen nur um zu veranschaulichen, wie man einen Pin umschaltet ist nicht besonders lehrreich!

    Ein Sketch, wie man eine LED ohne Verwendung von Delay zum Blinken bringt, ist übrigens sogar in den Beispielen der IDE enthalten (BlinkyWithoutDelay) ... deshalb muss hier keiner zeigen, wie es geht! Wie gesagt: wenn die Software nie was anderes machen soll als beschrieben und klar ist, dass sie nie erweitert wird, dann kann man das auch so machen. Meist "wächst" Software aber mit der Zeit ... und dann macht es Sinn, es gleich von Anfang an "richtig" zu machen.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    29.10.2013
    Beiträge
    8
    redround
    Ich will keine LED zum Blinken bringen, denn dann hätte ich auch den angegebenen Sketch für das Relais nehmen können und eine LED daran anschließen.Die hätte dann auch geblinkt.
    Man sollte halt den Text richtig durchlesen um zu wissen um was es geht.

    - - - Aktualisiert - - -

    Hallo Hannes,

    Ich verwende auch delays wenn es ein einfaches Testprogramm ist

    genau, das sollte ein Testprogramm sein.

    1. ob der Digispark und das Relais überhaupt funktionieren.
    2. ob ich mein Projekt (TV-Box automatisch einschalten) überhaupt mit dem Digispark durchführen kann.

    Und wenn man dann als blutiger Anfänger ( wie mehrmals geschrieben) auf solche Leute (redrount) trifft, die dann nur tadeln können aber keinen Sketch zusammen bringen (oder nicht helfen wollen) wie es richtig und einfacher funktioniert. Dann möchte man sich nicht mehr mit dem Programmieren auseinandersetzen.

    Aber gottseidank gibt es noch andere Foren die einem Anfänger gerne helfen wollen.

    Hannes ich bedanke mich für Deine Hilfe und schließ hiermit das Thema.

    Freundliche Grüße
    mexico67

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.095
    Du darfst dich nur nicht entmutigen lassen. Jeder hat einmal damit anfangen müssen, es ist noch kein Meister vom Himmel gefallen.

    Und das man delays vermeiden sollte war nur ein Hinweis.

    MfG Hannes

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.04.2008
    Beiträge
    282
    Wenn ich mich nicht irre, habe ich auch den Code für die Lösung Deines Problems gepostet. Mir also vorzuwerfen, ich würde nur tadeln ist also echt daneben! Auch habe ich erklärt, warum man delay() in vielen Beispielen findet und warum man es trotzdem vermeiden sollte. Auch das hat in meinen Augen nichts mit tadeln zu tun. Und ich habe auch gesagt, wo Du ein erstes Beispiel dafür findest. Auch da sehe ich keinen Tadel!

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.095
    Delay ist einfach zu verwenden. Der Nachteil von Delay ist, das nur dieser Befehl abgearbeitet wird (außer Interrupts). Ein weiterer Nachteil ist das es relativ ungenau ist, da die verschiedenen Interrupts das Delay unterbrechen. Wenn genaue Zeiten benötigt werden (als Beispiel Geschwindigkeit messen) muss man, damit es genau wird, Interrupts verwenden.
    Ein weiterer Vorteil von Interrupts ist das man den uC "schlafen legen" kann (Sleepmodes), das geht bei Delay nicht.

    Ich verwende auch delays wenn es ein einfaches Testprogramm ist oder bei Initialisierungen,....

    Die delay Funktion ist ein einfacher Zähler.

    MfG Hannes

Ähnliche Themen

  1. Digispark PRO jetzt auch in Deutschland verfügbar
    Von redround im Forum Arduino -Plattform
    Antworten: 3
    Letzter Beitrag: 19.12.2014, 12:20
  2. Zeitsteuerung+Temperaturmessung
    Von Projekt 2252 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 22
    Letzter Beitrag: 10.04.2012, 20:22
  3. Zeitsteuerung
    Von Maxibot im Forum Elektronik
    Antworten: 12
    Letzter Beitrag: 20.08.2010, 00:33
  4. Zeitsteuerung für asuro
    Von Hans2 im Forum Asuro
    Antworten: 16
    Letzter Beitrag: 13.12.2008, 17:55
  5. Hilfe bei Zeitsteuerung
    Von Blamaster im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 40
    Letzter Beitrag: 13.03.2007, 20:46

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress