Projekte

Abstand mit einem Sonarsensor auf einem Arduino messen

HC-SR04 ultrasonic sensor with Arduino (Quick tutorial for beginners) (Oktober 2018).

Anonim

Abstand mit einem Sonarsensor auf einem Arduino messen


Lass dich messen!

Sonarsensoren

Sonars beliebteste und wichtigste Anwendung ist es, unter Wasser "sehen" zu können. Sonar verwendet die Ausbreitung von Ton, um Objekte zu erkennen. Da Schallwellen in Wasser weiter wandern als in der Luft, wird Sonar aus diesem Grund gegenüber anderen Arten von Sensoren wie Radar bevorzugt. Obwohl es für Unterwassermessungen bevorzugt wird, kann Sonar immer noch in der Luft verwendet werden; Es besteht jedoch die geringe Möglichkeit von Interferenzen, die wir bei der Entfernungsmessung sehen könnten.

Es gibt zwei Arten von Sonaren: passives Sonar und aktives Sonar. Aktives Sonar hat einen Sender und einen Detektor: Abhängig von der Zeit, die das Signal benötigt, um zum Sonar zurückzukehren, kann es die Reichweite oder Entfernung eines Objekts und seine Ausrichtung erfassen. Es erkennt auch die Stärke eines Signals, um zu bestimmen, wie lange es dauerte, bis der Empfänger es aufgenommen hat. Passive Sonare werden verwendet, um Signale von Schiffen und anderen Meereslebewesen wie Walen und U-Booten aufzunehmen. Passive Sonare haben keine Emitter; Sie empfangen nur Schallwellen, die auf sie zukommen.

Stückliste

  1. Arduino Uno
  2. MaxBotix Ultraschall-Entfernungsmesser
  3. 3 lose Drähte
  4. Lötkolben
  5. Lot
  6. Computer mit Arduino IDE (Integrierte Entwicklungsumgebung)
  7. USB Typ B zum Anschluss des Arduino
  8. Multimeter

Wir werden einen Arduino Uno als unseren Mikroprozessor verwenden, um in der Lage zu sein, die von dem Sonar erfasste Entfernung zu lesen. Das Sonar, das wir verwenden, ist der Ultraschall-Entfernungsmesser von Maxbotix, aber alle Modelle, die diesem ähnlich sind und eine Ausgabe als Impulsbreite oder Analog haben, könnten in diesem Projekt verwendet werden. Die drei losen Drähte werden an den Ultraschall-Entfernungsmesser gelötet. Wir benötigen das Löt- und Lötgerät, um Drähte an den Sensor zu löten. Sobald alles eingelötet und an Ort und Stelle ist, muss der Code unten auf dem Arduino über die IDE hochgeladen werden, und es wird auch mit einem USB-Typ B verbunden werden

Anfangen

Da der Arduino und der Code die Ausgabe des Sonars in Volt interpretieren, wollen wir nicht, dass es irgendwelche falschen Verbindungen oder Kurzschlüsse zwischen der Schaltung gibt, so müssen wir sicherstellen, dass wenn die Stifte verlötet sind, keine Lötmittelrückstände vorhanden sind kann einen Kurzschluss verursachen.

Die 3 Pins, die an den Sonarsensor gelötet werden, sind unten gezeigt.

Löten Sie einen Draht an den Boden, V in von +5 Volt, und den zweiten von der Unterseite, die die Pulsweitenausgabe ist. Nachdem Sie diese drei Stifte gelötet haben, reinigen Sie sie mit einem Wattestäbchen und etwas Alkohol um die Löcher herum, um eventuelle Rückstände zu entfernen, die vom Lötmittel zurückbleiben könnten. Um auf Kurzschlüsse zu prüfen, verwenden Sie das Multimeter und prüfen Sie den Widerstand zwischen diesen drei Pins. Zwischen GND und +5 V sollte OL oder unendlicher Widerstand liegen. Wenn Sie das Multimeter auf eine Öffnung überprüfen oder die Kontinuität prüfen, sollte es nicht angezeigt werden. Wenn zwischen diesen drei Pins Kontinuität besteht, müssen Sie die Drähte entlöten und eventuelle Lötmittelreste entfernen. Sobald die Drähte am Sonar-Sensor angelötet sind und Sie keine Kurzschlüsse festgestellt haben, können Sie sich mit dem Arduino verbinden.

Wie verbinde ich den Sensor mit dem Arduino?

Sie können den Sensor und das Arduino oben mit einem Steckbrett als Medium verbinden oder Sie können direkt vom Sensor mit dem Arduino verbinden. Der Sensor wird auf dem Arduino geerdet und erhält Strom vom + 5V-Ausgang des Arduino. Der Pulsbreitenausgang des Sensors wird mit einem beliebigen Eingang des Arduino verbunden, der eine Pulsbreite annehmen kann. In diesem Fall verwende ich den digitalen Pin 3.

 #include "Maxbotix.h" Maxbotix rangeSensorPW(3, Maxbotix::PW, Maxbotix::LV); // #3 Defines which Digital Input in being Read //Maxbotix:PW defines that the Arduino is reading PW signals void setup() { Serial.begin(9600); } void loop() { unsigned long start; Serial.println("Reading 1st Sensor"); //Serial Monitor will print this line start = millis(); // Number of Milli seconds until the Sonar Receives the signal it sent out Serial.print("PW 1: "); Serial.print(rangeSensorPW.getRange()*.393701); // Multiply by this to convert Cm to Inches Serial.print(" inches - "); Serial.print(millis() - start); Serial.println("ms"); Serial.println(); delay(1500); // Wait for 1.5 Seconds } 

Arduino-Sonarcode

Wenn der Arduino wie in der obigen Abbildung gezeigt angeschlossen ist und der Code hochgeladen wurde, können Sie den seriellen Monitor öffnen und die Entfernungen werden alle 1, 5 Sekunden in Inch angezeigt. Wenn Sie den seriellen Monitor ausführen, erhalten Sie je nach Position des Sonarsensors eine bestimmte Anzahl von Zoll. Wenn Sie Ihre Hand oder ein anderes großes Objekt dort platzieren, wo das Sonar ausgerichtet ist, liest es das auch und zeigt seine Entfernung an. Für dieses spezielle Sonar beträgt die Reichweite 20 Fuß.

Im Folgenden sehen Sie, wie der serielle Monitor und der Code aussehen sollten, sobald sie ausgeführt werden. Fröhliches Gebäude!

Gib diesem Projekt einen Versuch für dich selbst! Holen Sie sich die Stückliste.