Hallo Liebe Forumsmitglieder,
ich habe einen ToF Sensor Typ VL6180X und benötige einen Code der mir nicht nur den Abstand anzeigt (davon gibt es genug Beispiele) sondern bei dem ich bei einem bestimmten Abstand (in meinem Fall 50 mm) eine Aktion ausführen kann.
Wie kann ich den Wert bei
Serial.print(sensor.getDistance()); für eine Aktion auslesen und weiterverarbeiten z.B mit
if („gemessener Abstand“ >50) goto Start;
wobei „gemessener Abstand“ den Wert in der Klammer repräsentiert.
ganz am Anfang starten und Grundlagen lernen. ansonsten gibt es Forum-Bereich für bezahlbare Anfragen.
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden.
Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
mfg ein Moderator.
wie wärs mit einem if?
int abstand = sensor.getDistance();
if (abstand >= 50) doSomething();
Bei genau 50mm oder wenn Abstand > 50mm oder wenn Abstand < 50mm
Die Geschichte löst man über Logisches Denken.
lege Dir einen Merker an, der den Wert "nicht ausglöst" erhält.
Im Code legst Du Dir eine Prüfung an:
Wenn Merker == nichtAusgelöst && Abstandbedingung == erfüllt
DANN
Merker = ausgelöst
Aktion ausführen
Jetzt musst Du nur noch festlegen, wann der Merker wieder gelöscht wird.
Indem Du den ausgelesenen Wert mit einem Referenzwert (50) vergleichst eventuell vorher in eine Variable speicherst.
Das ist der theoretische Teil.
Der praktische ist, daß Du mal das Programmieren / die Programmiersprache lernen mußt. Deine Fragen dünken mir, daß Du von programmierung gar nichts verstehst, darum wundert es mich umso mehr, daß Du mit GOTO kommst.
Es gibt GOTO in C, aber es ist sehr sehr sehr selten sinnvoll es zu benutzen. Wer GOTO verwendet zeigt eher daß er die Logik hinter C nicht verstanden hat als daß er ein überragender Programmierer ist der alle Kniffe kennt.
Ich habe auch mit Basic auf dem ZX81 / VC20 / C64 angefangen und dort gab es nur GOTO, GOSUB und keine zusammengefaßte Programmblöcke wie in C mit den geschwungenen Klammern. DA mußte man das Programm mit GOTO strukturieren.
Bitte lerne ein bißchen C / C++ programmieren. Einige Arduino Tutorials genügen schon.
Bei praktischen Fragen helfen wir gerne.
Grüße Uwe
Herzlichen Dank an noiasca, dien Vorschlag hat sofort funktioniert, Danke.
Bisher habe ich immer Beispielscatches gebraucht, bei denen der Wert, den ich verwenden wollte einen Namen hatte wie z.B. beim Ultraschallentfernungsmesser dort heißt der Messwert „distanceCM“, den konnte ich dann mit „if“ …. weiterverwenden. Dein Vorschlag wird mir in Zukunft viel Sucherei nach passenden Beispielen ersparen.
An alle anderen, dass ich nicht wirklich programmieren kann weiß ich selber, sonnst müßte ich ja nicht fragen. Ich kann genug um verschiedene Beispiele in ein Programm zusammenzufassen mehr brauche ich nicht. Programmieren ist für mich nur Mittel zum Zweck um einfache Funktionen in Projekten zu steuern. Um Programmieren richtig zu lernen fehlt mir einfach die Zeit, daher hoffe ich einfach, dass mir auch in Zukunft im „Ernstfall“ jemand hilft.
Allen Forenmitgliedern wünsche ich ein glückliches neues Jahr
Jetzt hast du von @noiasca ein Beispiel, wie man eine Variable definiert und ihr einen Initialisierungswert zuweist.
Glaub mir: Das brauchst du. Und noch einiges mehr. Das lässt sich nicht vermeiden, wenn du dich mit diesem Hobby beschäftigst.
Bitte Sketch.
Ich würde Dir auch etwas Programmlernen Nahelegen da dann der Umbau von Beispielprogrammen einfach besser funktioniert. Die Zeit die Du fürs Lernen verlierst gewinnst Du dann beim Programmieren.
Ich sage nicht C bzw C++ perfekt zu lernen. Davon bin auch ich meilenweit entfernt. Ich meine mal so 10 Stunden zu investieren um zu verstehen, wohin der Hase läuft.
Das mit der Variable ist sehr einfaches Basic.
Grüße Uwe
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.