ich versuche gerade ein kleines Ultraschallprojekt zu erstellen und komme nicht weiter:
Szenario: Der Sensor misst den Abstand zu einem Hindernis, z.B. 10cm. Jetzt soll bei einer Über- oder Unterschreitung des Abstandes von z.B. 2cm (Variable: abweichung) ein „X“ für „Fehler“ angezeigt werden, wohingegen das Verbleiben im Bereich einer Abweichung von weniger als 2cm nach oben oder unten einen Haken für „OK“ anzeigt.
Hallo Norbert,
im Block „setze abweichung …“ müsstest du die Variable sensor durch die Zahl 10 (oder eine im Startblock definierte Variable „sollAbstand“ ersetzen. Sonst bleibt der Wert von Abweichung immer im gewünschten Bereich 2.
VG
Hallo, vielen Dank für den Tipp. Wenn ich Ihren Vorschlag ansehe, dann ließe sich dieses Vorgehen m.M.n. leichter durch eine einfachere Wenn-Dann-Beziehung lösen.
Bei fest definiertem Abstand funktioniert das Ganze perfekt und ist auch wesentlich leichter zu programmieren, z.B. Wenn Sensor > 5 dann Fehler, ansonsten OK.
Vielleicht noch eine kurze Verdeutlichung meines Ziels:
In meinem Fall möchte ich aber einen beliebigen Abstand, der dann als „sollAbstand“ gespeichert wird, definieren und dieser Soll-Abstand darf dann eine bestimmte Abweichung nach oben oder unten nicht über-/unterschreiten.
Grundsätzlich würde ich diesen Soll-Abstand gerne bei einem Start des Programms z.B. mit der A-Taste messen u. definieren und dann eine nachfolgende Abweichung erfassen und bewerten.
Beim nächsten Druck der Taste könnte man dann wieder einen anderen, neuen Abstand definieren u. bewerten.
Der beliebige sollAbstand sollte sich einfach realisieren lassen:
Ein „wenn TasteA gedrückt“ (ohne sonst) im Startblock und im Dauerhaftblock, darin die Zuweisung des aktuell gemessenen Abstands an die Variable sollAbstand.
Da ich gerade keinen Ultraschallsensor zur Hand habe, kann ich es nicht selber ausprobieren.
Hier der Code für den Lichtsensor (Ultraschall hab ich halt gerade nicht):
Beim Startblock könnte auch Knopf A als Bedingung für’s setzen des Sollwerts verwendet werden, dann wäre der Zeitpunkt für den Startwert präziser, aber der kann ja im Dauerhaftblock beliebig oft korrigiert werden.
Kommt auf die Reihenfolge in wenn - sonst an: bei mir war wenn „grün = ok“ und sonst „rot = Überschreitung“, darum logischerweise das „und“ in der Bedingung, bei dir ist es eben umgekehrt.
Deshalb hast du ja auch in deiner Variante in der Bedingung < und >, ich hatte <= und >= .