BEARBEITEN: Die Antwort, auf die ich ursprünglich verwiesen habe, wurde gelöscht, daher werde ich sie bearbeiten, um Informationen von beiden aufzunehmen ...
Ein üblicher Ansatz für die Entfernungsmessung ist die Verwendung eines IR-Sensors, beispielsweise des hier gefundenen SHARP ( https://www.sparkfun.com/products/8958 ). Grundsätzlich handelt es sich hierbei um eine IR-LED und einen 1-D-Bildsensor in Kombination mit einem integrierten DSP. Der 1-D-Bildsensor nimmt das reflektierte Licht in einem Winkel auf, der von der Entfernung des Objekts zum Sensor abhängt, wie hier gezeigt: AFAIK, die IR-Abstandssensoren sind nur mit analoger Spannungsausgabe erhältlich, daher benötigen Sie eine freie A / D-Pin an Ihrem Mikrocontroller.
Eine andere Alternative ist ein Ultraschallsensor. Es gibt billigere Alternativen, aber eine, mit der meine Schüler Erfolg hatten, ist folgende: https://www.sparkfun.com/products/9495 .
Dieses spezielle Gerät ist praktisch, da es drei verschiedene Auslesemethoden hat. Sie können entweder eine analoge Spannung verwenden (die Sie mit einem A / D-Wandler eines Mikrocontrollers digitalisieren können) oder serielle Daten direkt lesen. Sie können auch eine PWM ausgeben lassen, was nützlich sein kann, wenn Sie einige Servomotoren direkt antreiben (nicht sicher, ob sie tatsächlich servokompatibel sind).
Die Verwendung von Ultraschall gegenüber Infrarot hat einige Vor- und Nachteile. Ultraschall ist gegenüber verschiedenen Oberflächen robuster und die Strahlbreite kann durch Auswahl eines bestimmten Sensors variiert werden (damit Sie Hindernisse in einem breiteren oder engeren Bereich aufnehmen können). Auf der anderen Seite können mehrere Sensoren Störungen verursachen, obwohl es Möglichkeiten gibt, dies zu umgehen. Außerdem sind Ultraschallsensoren tendenziell teurer als die zuvor erwähnten IR-Sensoren.
Auch die Maxbotix-Ultraschallsensoren verfügen über Jesus (siehe PCB). Dies kann je nach Anwendung ein Vorteil oder ein Nachteil sein.