- SF800 Solar Speicher Tutorial         
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
    Neuer Benutzer Öfters hier
    Registriert seit
    29.10.2013
    Beiträge
    8
    Hallo Hannes,

    Herzlichen Dank für Deine Antwort.

    Leider habe ich für den Digispark keinen anderen Sketch

    Habe den Sketch für das Relais hier http://digistump.com/wiki/digispark/tutorials/relay herunterkopiert und mit dem Programm Digispark-Arduino 1.0.4 kompeiliert und dann in den Digispark geladen.Danach schaltet das Relais nach Spannungsanlegung wie beschrieben.

    Laut Arduino-Befehlsliste ist Loop eine Schleife, aber wenn ich die Loop entferne, bringt mit das Programm eine Fehlermeldung.
    void setup() {
    // Initialize the relay pin as output
    pinMode(5, OUTPUT);
    }

    {
    digitalWrite(5, HIGH); // Turn the relay on
    delay(1000); // Wait for a second
    digitalWrite(5, LOW); // Turn the relay off
    delay(1000); // Wait for a second
    }

    Fehlermeldung:
    expected unqualified-id before`{`token
    sketch_ian28a:6: error: expected unqualified-id before`{`token

    MFG Mexico67 (Richard)

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Mit der Software kenne ich mich leider nicht aus. Ich arbeite nur mit AVR-Studio.

    Was du machen kannst (nicht die eleganteste Variante) ist das du eine variable nimmst. Die Ausgänge schaltest du nur wenn die Variable 0 ist. Nach dem ersten Durchlauf änderst du die Variable auf 1, somit werden die Ausgänge nicht mehr geschalten.

    MfG Hannes

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

    vielen Dank für Deine Antwort und Hilfe.
    Habe jetzt die Schleife (Loop) mal gelassen und Delay Low geändert. Ist zwar nicht das was ich wollte, aber eventuell ist noch jemand da, der mir weiter helfen kann. Hier nochmal der sketch.
    void setup()
    {
    pinMode(5, OUTPUT); // Initialize the relay pin as output
    }

    void loop()
    {
    digitalWrite(5, HIGH); // Relais an Pin 5 einschalten
    delay(5000); // schalte Relais nach 5 Sekunden aus
    digitalWrite(5, LOW); // Relais am Pin 5 ausschalten
    delay(86400000); // schalte Relais nach 24 Stunden wieder ein
    }
    somit schaltet das Relais bei Spannungsanlegung ein und nach 5 Sekunden wieder aus und alle 24 Stunden das gleiche.

    Viele Grüße
    Mexico67 (Richard)

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.04.2008
    Beiträge
    282
    Du solltest Dich dringend mit den Grundlagen der Arduino-Programmierung vertraut machen. Grundsätzlich sollte man delay() eigentlich immer versuchen zu vermeiden ... also auch das delay(5000) - zumindest wenn Du vorhast, die Software noch zu erweitern. Wenn sie wirklich nichts anderes machen soll:

    boolean ReRun = false;

    void setup()
    {
    pinMode(5, OUTPUT); // Initialize the relay pin as output
    }

    void loop()
    {
    if (ReRun == false) {
    digitalWrite(5, HIGH); // Relais an Pin 5 einschalten
    delay(5000); // schalte Relais nach 5 Sekunden aus
    digitalWrite(5, LOW); // Relais am Pin 5 ausschalten

    ReRun = true;
    }
    }

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

    Du solltest Dich dringend mit den Grundlagen der Arduino-Programmierung vertraut machen.

    Entschuldigung!! Wie ich bereits am Anfang geschrieben habe, bin ich noch Anfänger der Programmierung, deswegen weiß ich über die Befehle noch nicht Bescheid.
    Die Software möchte ich nicht erweitern, da sie jetzt den Zweck erfüllt, übrigens auch ohne den Sketch groß umzustellen, sondern nur mit dem Befehl (while(1) )
    Das Reset erfolgt ja mit der Spannungsunterbrechung.

    Das Relais soll mir nur bei Spannungsanlegung kurzzeitig einen Taster an einem Gerät ( TV-Box) ersetzten.
    Des weiteren ist auf dem AT-Tiny 85 nur ca. 6KB Platz also für kein größeres Programm.
    Auch der Code ist von der Hersteller-Fa. des Digispark für das Relais angegeben worden und ich denke daß es dann mit dem delay auch passen muß.
    Trotzdem vielen Dank für Ihre Hilfe.
    Ihr angegebener Code funktioniert auch.

    MFG
    Mexico67

    PS: Wenn Sie mich schon kritisieren, wo bleibt dann der alternative Sketch ohne delay von ihrer seite??
    Geändert von mexico67 (29.01.2016 um 18:13 Uhr)

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

    MfG Hannes

  7. #7
    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

Ä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
  •  

LiFePO4 Speicher Test