Ich habe ein Problem bei der Arbeit mit Variabeln.
Ich habe eine Variable „Helligkeit“ erstellt und wollte, dass mir der aktuelle Wert des Umgebungslichts in diese Variable geschrieben wird. Leider wird aber immer der maximale Wert 255 gesetzt. Nur bei manueller Eingabe eines Wertes funktioniert die Zuweisung.
Hat jemand eine Idee, weshalb?
Hoi PHGR_Makey,
von wo weisst Du, dass der Wert immer den Wert 255 annimmt?
Ich kann jedenfalls mit Helligkeit die Tonhöhe verändern, siehe Blockcode.
Grüsse, Lukas
Hallo Lukas
Ich lass mir den Wert im Anschluss anzeigen. Ausserdem funktioniert meine Idee nicht
Diese wäre eigentlich ziemlich simpel:
Miss den Wert des Umgebungslichts und schreibe diesen in die Variable “Helligkeit”. Sobald der Wert des Umgebungslichts kleiner als der zuvor gemessene Wert wird, schalte das LED Licht ein. Ansonsten schalte es aus.
Ohne die Variable funktioniert das auch. Nur: Ich möchte keinen fixen Wert vergeben, da das Programm in jedem Raum funktionieren soll (Stichwort: Alarmanlage). Dazu benötige ich zunächst den Wert des aktuellen Umgebungslichts…
Nimm doch die Zeile unter ‚Start‘ in die ‚unendlich oft‘-Schleife, dann die 2s Wartezeit, dann die ‚wenn‘-Bedingung, ansonsten musst Du ja beim betreten des neuen Zimmers auf den Rest-Knopf drücken, da ja der Start-Code nur ein einziges Mal ausgeführt wird.
Besten Dank für deinen Beitrag! Das hilft insofern, den Reset-Knopf bei Wechsel des Umgebungslichts nicht mehr drücken zu müssen. Es ändert allerdings nichts an der Tatsache, dass der Wert nicht korrekt in die Variable geschrieben wird, was mein Hauptproblem darstellt…
Vielen Dank für deine Hilfe! Sobald der Block “Schreibe” ausserhalb der Schleife ist, funktioniert das Programm nicht mehr. Ich habe das Problem nun wie folgt gelöst:
Beim ersten Durchgang der ersten Schleife wird der Wert 255 angegeben. Erst der zweite Durchgang führt zum korrekten Wert. Anschliessend wechselt das Programm ja in den “unendlich oft - Modus”. Somit muss ich meine “Alarmanlage” bei Neupositionierung einfach mit einem Druck auf den Reset-Knopf neu starten.
Nochmals vielen Dank für deine Zeit!