Relay nur eine bestimmte Zeit ansteuern (gelöst)

  • Hi Leute,

    wie kann ich am besten realisieren ein Relay nur 5 sec z.B. angesteuert zu lassen?

    Ich möchte gerne einen 3 Wege Mischer steuern, und da die Temperatur sich nur langsam ändert, würde ich gerne kurz ansteuern, warten und wieder ansteuern. geht das mit time.sleep zwischen jedem if und else?

    danke schonmal für eure Ideen

  • Hallo antaril!

    :geek:

    Ich sehe Dein Script nicht... muss wohl an meinem Display liegen... :conf:

    bin grad nicht in der nähe meines Pis, heute Abend kann ich skript liefern.

    Im Prinzip habe ich so aufgebaut. Ist aber nur grob dargestellt also keine richtige schreibweise...

    Es funktioniert auch, ich würde das ganze gerne nur etwas träger machen...

    Code
    if temp1 < 38°C Relay1 High
    
    else relay1 Low
    
    if temp1 > 35°C Relay2 Low
    
    else relay2 HighA
  • keine ne Idee. wie man einen GPIO nur eine bestimmte zeit angesteuert lässt?

    Einmal editiert, zuletzt von antaril (27. Oktober 2017 um 06:55)

    • Offizieller Beitrag

    Naja, z.B. eine Funktion, die auf HIGH schaltet, dann ein sleep(60) für eine Minute und danach wieder auf LOW schaltet. Die Funktion dann bei Bedarf aufrufen.

    Da gibts aber sicher noch bessere Lösungen, z.B. über die aktuelle Zeit... Dazu gabs hier im Forum hin und wieder Beiträge.

  • Hallo Antaril,

    so?

    oder


    Beide Programme schalten ein Relais ein bzw. aus und schalten / prüfen im Abstand von 2500 MS

    Wobei es angeraten sei, statt einer einzigen festgelegten Temperatur eine Hysterese zu verwenden. Dadurch bleibt bei schaltet sich bei Heizungen diese oberhalb einer Maximaltemperatur aus, unterhalb einer Minimaltemperatur ein. Liegt die Temperatur zwischen den beiden Temperaturen, ändert sich am Status nichts (entweder wird geheizt oder abgekühlt. Die Formel, die sich dahinter verbirgt, kannst Du im verlinkten Beitrag nachlesen.


    [OT]

    [/OT]


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    2 Mal editiert, zuletzt von Andreas (27. Oktober 2017 um 08:12)

  • Hi Andreas,

    was Icon kann, kann Python schon lange :richter:

    Python
    heizung = 1 if t-17 < 1 else 0 if 21-t < 0 else heizung

    und

    Python
    heizen(1) if t < 17 else heizen(0) if t > 21 else None

    Das else None am Ende ist leider Notwendig, das None macht einfach nichts. genau so gut könnte hier 1, 123, "foo" oder ein anderer Funktionsaufruf stehen. Ob es jetzt pythonic ist, darüber ließe sich streiten. Jaja, Icon ist kürzer...

  • Andreas

    kann ich deinen code grad so verwenden? Also meinen raus, deinen rein?

    Code
    link GPIO
    $define Relais1 17
    $define Relais2 27
    procedure main()
        repeat
        {   t = temperaturmessen()
            if t < 38 then GPIO(Relais1, HIGH, 2500) else GPIO(Relais1, LOW, 2500)
            if t > 35 then GPIO(Relais2, LOW, 2500) else GPIO(Relais2, HIGH, 2500)
        }
    end
  • Hallo antaril,

    Andreas

    kann ich deinen code grad so verwenden? Also meinen raus, deinen rein?

    Ja, wenn Du in der Programmiersprache Icon programmieren möchtest.

    Nein, wenn Du das nicht möchtest.

    Ich arbeite gerade am Icon-Tutorial Teil 32 (an dessen 1. von momentan 4 Kapiteln). Da kommt ein Cobol-Programmierer zu Wort, der Schnittstellen Cobol <-> Icon programmiert hat. Der hat ein paar passende Worte zu Icon gefunden. So sinngemäß "Icon macht komplizierte Sachen schwer - Icon macht schwere Sachen einfach." Recht hat er...

    Es lohnt sich aber auf jeden Fall, da mal reinzuschauen.


    was Icon kann, kann Python schon lange :richter: ... . Jaja, Icon ist kürzer...

    Na ja, welche Programmiersprache ist älter? Na siehste!

    Ja, Icon-Code ist meistens kürzer als der in anderen Programmiersprachen.

    Ich muss weiter, durch's Ländle der Schwoben und der Badener fahren. Denn weiterhin gibt es nur zwei Sorten von Menschen: die Badischen und die Unsümbadischen!

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • habs hinbekommen... funktioniert super!! Da der Stellmotor sich sehr langsam dreht sind 5 sec pause eigentlich perfekt! Regelt schön die temp, und wenn sie im "grünen" Bereich ist, muss die Steuerung gar nichts machen ;) Danke für eure Vorschläge!!

    Einmal editiert, zuletzt von antaril (28. Oktober 2017 um 16:58)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!