Hi, ich möchte gerne für mein Ardu-Rover (Fahrzeug) einen Ultraschallsensor und einen Servomotor verwenden. Der Servomotor dient als Lenkung vorne und soll dementsprechend auf die Informationen vom Ultraschallsensor reagieren. Z.b Ultraschallsensor scannt Umgebung ab und sieht das rechts von ihm, sich ein Gegenstand befindet, dieser soll mit der Lenkung umfahren werden. Nur wie kombiniere ich diese beiden Komponeten und es gibt sooo viele Möglichkeiten wo sich Gegenstände befinden können und wie dann der Servo einlenken muss. Ich habe einfach keinen Ansatz. Kann mir vielleicht einer weiterhelfen? Danke ;=)
English Version:
Hello, I would like to use an ultrasonic sensor and a servo motor for my Ardu rover (vehicle). The servomotor serves as a front steering and should react accordingly to the information from the ultrasonic sensor. For example, the ultrasonic sensor scans the surroundings and sees that there is an object to the right of it, which should be avoided with the steering. But how do I combine these two components and there are sooo many possibilities where objects can be and how the servo then has to steer. I just don't have a clue. Can someone help me? thanks ;=)
Wenn Du die Umgebung mit einem Ultraschallwandler abscannen willst damit Du erkennst daß irgendwo ein Gegenstand im Weg steht mußt Du den Ultraschallsensor drehen und somit einen gewissen Winkel drehen und so mehrere Messungen machen um so die Richtung des/der Hindernisses zu ermitteln.
zB: https://www.instructables.com/Scan-Nearby-Objects-Using-ARDUINO/
und Arduino Radar | Ultrasonic Sensor | Arduino Sonar - YouTube
Grüße Uwe
Hallo,
eigentlich kennst Du das doch von einem PKW mit Abstandssensoren . Da gibt es vorne mindestens zwei. einer links und einer rechts. Damit gibt´s 4 Zustände: frei, Hindernis links, Hindernis rechts, Hindernis gerade davor. Welche Strategie Du davon ableitest bleibt Dir überlassen.
Ich finde Uwe´s Idee mit dem beweglichen Sensor auch gut.
Heinz
Erstmal danke für die umfassende Rückmeldung. Ich hatte ganz vergessen zu erwähnen, dass der Ultraschallsensor auch durch einen Servomotor beweglich ist. Aber die Idee finde ich sehr gut, dass es nur hinten, rechts, links und vorne gibt das macht es wesentlich einfacher. Ich hätte nur noch eine Frage..Kann ich dieses dann mit einer if-schleife programmieren? also wenn der ultraschallsensor links und rechts ein hinderniss sieht, soll der servon an den rädern nicht einlenken und weiter fahren, dieses könnte man doch gut mit einer if bedingung programmieren?
Grüße David
Nein
Es gibt nämlich keine IF-SCHLEIFE.
Und an goto denkst Du bitte gar nicht.
Grüeß Uwe
Hallo
Na ja natürlich kannst Du da mit if was machen, indem du dann im Ablauf verzweigst.
Wenn links ein Hindernis ist
Dann nach rechts lenken
Ansonsten wenn rechts ein Hindernis ist
Dann nach links lenken
ansonsten geradeaus fahren
Sowas in etwa , jetzt must du das ein bisschen in if...
Else if
Else
Übersetzen
Heinz
Danke für die Antwort
Ultraschall_Radar123.ino (2,5 KB)
Ich habe alles richtig gemacht und och wird mir dieser Fehler angezeigt: Fehler beim kompilieren für das Board Arduino Uno. Kann mir jemand weiterhelfen?
Wenn Du die genaue Fehlermeldung (in Codetags) posten würdest, könnte man Dir evtl. helfen.
Außerdem setze Deinen Sketch bitte direkt in den Beitrag in Codetags.
Wie das geht, steht hier.
Gruß Tommy
Hallo,
ich habe mir den Sketch mal angesehen , da sind verschieden Fehler drin.
z.B
#include <Servo.h>.
hinten der Punkt muss weg.
Zudem wird zweimal eine Function
distanz = berechneteDistanz()
;
aufgerufen. Die gibtes aber nicht. Dafür steht im loop ein
int berechneteDistanz();
Vermutlich soll das die Funktion sein. Da fehlen dann aber die öffnende und schließende Klammern, und es darf nicht so im loop stehen.
Du solltest die Fehleranzeige in der IDE einschalten. Datei/Voreinstellungen / Compiler Warnungen Alle
Heinz
Nachtrag
was hast Du denn da zusammen kopiert mir eröffnet sich kein Sinn aus dem Sketch. Wozu sind die 4 Ausgänge da, was ist GSM ? Es gibt mindestens eine Lib um den Ultraschall Sensor einfacher auszulesen.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.