NEWS
LED Stripe mit Helligkeit steuern
-
HI,
ich möchte einen LED Stripe mit dem HM Helligkeitssensor steuern.
Habe mir die Helligkeit Lux, den Schaltzustand des Stripes und die Stufe der Helligkeit des Stripes in Flot als Diagramm zur Kontrolle gelegt.
Das Problem nun ist das der Stripe zwar aus ist aber die Helligkeit laufend zwischen 0 und 50% pendelt.
Anbei ein Foto vom Diagramm und Skript.
Blau Helligkeit in %
Rot an oder aus Stripe
Gelb wäre die Helligkeit draußen die ist aber größer als das Diagramm zur ZeitWie kann ich das beheben?
Tobias -
@tobi83
Du verkettest 4 fallsblöcke hintereinander, ohne dafür zu sorgen das nach der ersten Aktion keine weitere Aktion folgt:
Falls a mache x
falls b mache y
Falls c mache zWas du brauchst ist
Falls a mache x
Sonst falls b mache y
Sonst falls x mache zDen “sonst falls” Baustein bekommst du eingeblendet wenn du das Zahnrad im falls Baustein benutzt.
Dazu kommt das wenn die Helligkeit um 200 schwankt kommt es genau zu diesem hin und her schalten. Ich würde direkt am Anfang noch ein falls einbauen:
Da wo Aktion erst hier steht kommt der ganze falls-sonst Baum rein.
Damit reagiert das ganze nur wenn der Wert sich hinreichend weit geändert hat. Da wo ich 10 eingetragen habe kannst du gerne auch weniger eintragen.
A.
-
@Asgothian
Danke dir
Werd ich nachher anpassenDanke
-
@tobi83
Nachtrag: mir ist da noch ein Fehler in dem von mir vorgeschlagenen blockly aufgefallen:
An Stelle des “vorherigen Wert” musst du einen Wert speichern.
Vor dem trigger definierest du eine Variable “letzterWert”
Dann kommt die falls Abfrage von oben, wobei du “vorheriger Wert” durch die Variable “letzterWert” ersetzt.
Als erste Aktion im dann Zweig setzt du letzterWert auf den aktuellen Wert des Datenpunktes.A.
-
@Asgothian also brauche ich 2 Variablen mit einem Wert ?
Kann ich das im selben Skript machen oder ein zweites ? -
@tobi83 eine Variable. Den Baustein für “wert” findest du bei den triggert. Ich glaube in der Auswahl steht da objektid drin, du kannst aber verschiedenes da eintragen (wert, vorheriger Wert, Quelle, etc.)
Es geht in einem Skript.
A.
-
HI,
entweder ist es zu spät oder ich verstehs am PC nicht.
Habe mir eine Variable gemacht wo ich den Wert speichern kann.
Habe unter Trigger auch den Baustein gefunden und auf Wert eingestellt.
Aber vor welchem Trigger muss ich den Wert speichern?
Und den Baustein Absolut finde ich nicht bei mir.....
-
@tobi83
Ich kann gerade leider kein Bild vom blockly machen. Trotzdem Versuch ich mal es besser zu erklären;In dem von dir gelisteten blockly war als erste Aktion ein trigger. Vor diesen Block muss er Block mit der Definition der Variablen.
Im trigger kommt als erstes die von mir gepostet falls Abfrage.
Der “absolut” Baustein ist bei den Mathematik Bausteinen, im Werkzeugkasten aber als Wurzel vordefiniert.
Da wo ich “Aktion erst hier” geschrieben habe muss als erstes rein:
Setze wert der Variablen auf den aktuellen Wert des datenpunktes.
Danach kommen die ganzen falls - sonst falls mit denen du das Licht steuerst - alle noch in dem von mir gepusteten falls Zweig.A.
-
@tobi83
letzterWert, level und ein sind Variablen.
Man sollte nicht mehrere "steuere" hintereinander ausführen - deshalb die Variablen. -
@paul53 Hi Paul, Danke für Dein Foto. So ein gebilde wäre bei mir nie raus gekommen. Hab das ganze nachgebaut.
Bin gespannt.
Hat aber erstmal gedauert bis ich das Skript verstanden habe....
So, das einschalten klappt, nur wenn ich mit der Lampe den Sensor auf 27000 Lux erhelle geht die Lampe nicht aus.
Auch das verändern der Helligkeit klappt. -
So, alles das runter regeln als es Hell wurde hat geklappt nur leuchtet es seitdem mit 50% weiterhin durch.
Hab den Stripe erstmal ausgeschaltet das er nicht sinnlos läuft
Anbei mein Skript vielleicht hab ich was falsch gemacht?
Tobias -
@tobi83 sagte:
hab ich was falsch gemacht?
Vergleiche mal die Bilder.
-
@paul53 ach ganz oben ist noch ne Zeile. Die ist gestern untergegangen
-
@tobi83 sagte:
ganz oben ist noch ne Zeile.
Das ist nicht der einzige Unterschied !
- äußerer falls-Block
- Quadratwurzel --> Betrag
-
-
Hi
Läuft bisher ohne ProblemeVielen Dank !!!
Tobias