Inhaltsverzeichnis:

Vergleich der Sonar-Entfernungsmesser LV-MaxSonar-EZ und HC-SR04 mit Arduino - Gunook
Vergleich der Sonar-Entfernungsmesser LV-MaxSonar-EZ und HC-SR04 mit Arduino - Gunook

Video: Vergleich der Sonar-Entfernungsmesser LV-MaxSonar-EZ und HC-SR04 mit Arduino - Gunook

Video: Vergleich der Sonar-Entfernungsmesser LV-MaxSonar-EZ und HC-SR04 mit Arduino - Gunook
Video: Der große Deeper Vergleich! Wer kann was?! 2024, November
Anonim
Vergleich der Sonar-Entfernungsmesser LV-MaxSonar-EZ und HC-SR04 mit Arduino
Vergleich der Sonar-Entfernungsmesser LV-MaxSonar-EZ und HC-SR04 mit Arduino
Vergleich der Sonar-Entfernungsmesser LV-MaxSonar-EZ und HC-SR04 mit Arduino
Vergleich der Sonar-Entfernungsmesser LV-MaxSonar-EZ und HC-SR04 mit Arduino

Ich finde, dass viele Projekte (insbesondere Roboter) die Messung der Entfernung zu einem Objekt in Echtzeit erfordern oder davon profitieren können. Sonar-Entfernungsmesser sind relativ kostengünstig und können leicht an einen Mikrocontroller wie den Arduino angeschlossen werden.

Dieses Instructable vergleicht zwei leicht zu erwerbende Sonar-Entfernungsmesser und zeigt, wie man sie mit dem Arduino verbindet, welcher Code erforderlich ist, um Werte von ihnen zu lesen, und wie sie sich in verschiedenen Situationen gegeneinander messen. Ich hoffe, dass Sie daraus einen Einblick in die Vor- und Nachteile der beiden Geräte erhalten, die Ihnen helfen, das am besten geeignete Gerät in Ihrem nächsten Projekt zu verwenden.

Ich wollte das äußerst beliebte HC-SR04 (Bug-Eye)-Gerät mit dem weniger verbreiteten LV-MaxSonar-EZ-Gerät vergleichen, um zu sehen, wann ich vielleicht das eine anstelle des anderen verwenden möchte. Ich wollte meine Erkenntnisse und mein Setup teilen, damit Sie mit den beiden experimentieren und entscheiden können, welche Sie in Ihrem nächsten Projekt verwenden möchten.

Warum diese beiden…

Warum der HC-SR04?Der 'Bug-Eye' HC-SR04 ist extrem beliebt - aus mehreren Gründen:

  • Es ist günstig - 2 USD oder weniger, wenn es in großen Mengen gekauft wird
  • Es ist relativ einfach, eine Schnittstelle zu
  • Viele, viele Projekte verwenden es - daher ist es bekannt und gut verstanden

Warum das LV-MaxSonar-EZ?

  • Es ist sehr einfach, eine Schnittstelle zu
  • Es hat einen guten/einfachen Formfaktor, um es in ein Projekt zu integrieren
  • Es hat 5 Versionen, die unterschiedliche Messanforderungen erfüllen (siehe Datenblatt)
  • Es ist (normalerweise) viel genauer und zuverlässiger als das HC-SR04
  • Es ist erschwinglich - 15 bis 20 US-Dollar

Außerdem hoffe ich, dass Sie Teile des Arduino-Codes, den ich für den Vergleich geschrieben habe, für Ihre Projekte nützlich finden, auch über Entfernungsmesseranwendungen hinaus.

Annahmen:

  • Sie kennen Arduino und die Arduino IDE
  • Die Arduino IDE ist installiert und funktioniert auf Ihrem bevorzugten Entwicklungscomputer (PC/Mac/Linux)
  • Sie haben eine Verbindung von der Arduino-IDE zu Ihrem Arduino, um Programme hochzuladen und auszuführen und zu kommunizieren

Es gibt Instructables und andere Ressourcen, die Ihnen bei Bedarf dabei helfen.

Lieferungen

  • HC-SR04 'Bug-Eye'-Entfernungsmesser
  • LV-MaxSonar-EZ (0, 1, 2, 3, 4 - Ich verwende eine '1', aber alle Versionen haben die gleiche Schnittstelle)
  • Arduino UNO
  • Lötfreies Steckbrett
  • Stiftleiste - 7-polig 90° (für das MaxSonar-Gerät siehe * unten für die Verwendung von 180°)
  • Flachbandkabel-Jumper - 5-adrig, männlich-männlich
  • Flachbandkabel-Jumper - 2-adrig, männlich-männlich
  • Überbrückungskabel - männlich-männlich
  • Anschlusskabel - rot & schwarz (für die Stromversorgung von Arduino zum Steckbrett und Steckbrett zu Geräten)
  • Computer mit Arduino IDE und USB-Kabel zum Anschluss an das Arduino UNO

* Dem MaxSonar ist kein Header beigefügt, sodass Sie einen Header verwenden können, der für Ihr Projekt am besten geeignet ist. Für dieses Instructable habe ich einen 90 ° -Header verwendet, um das Anschließen an das Steckbrett zu erleichtern. In einigen Projekten kann ein 180 ° (gerade) Header besser sein. Ich füge ein Foto bei, um zu zeigen, wie man das anschließt, damit Sie sie nicht wechseln müssen. Wenn Sie lieber einen 180 ° -Header verwenden möchten, benötigen Sie einen zusätzlichen 7-adrigen Flachbandkabel-Jumper zum Anschließen, wie mein Foto zeigt.

Git Hub-Repository: Projektdateien

Schritt 1: Die Jagd…

Die Jagd…
Die Jagd…

Bevor wir auf die Details eingehen, wie Sie die Dinge anschließen können, damit Sie mit diesen beiden fantastischen Geräten selbst experimentieren können, wollte ich ein paar Dinge beschreiben, von denen ich hoffe, dass dieses Instructable Ihnen hilft.

Da das MaxSonar-Gerät im Vergleich zum HC-SR04-Gerät weniger verwendet und verstanden wird, wollte ich zeigen:

  • So verbinden Sie das MaxSonar-Gerät mit einem Mikrocontroller (in diesem Fall einem Arduino)
  • So nehmen Sie Messungen an den verschiedenen Ausgängen des MaxSonar-Geräts vor
  • Vergleichen Sie die Schnittstelle des MaxSonar-Geräts mit dem HC-SR04-Gerät
  • Testen Sie die Fähigkeit, Entfernungen von Objekten mit unterschiedlichen Oberflächen zu messen
  • Warum Sie möglicherweise ein Gerät dem anderen vorziehen (oder beide gleichzeitig verwenden)

Ich hoffe, dieses Instructable hilft Ihnen bei dieser Verfolgungsjagd …

Schritt 2: Erste Schritte - Arduino-Breadboard-Setup

Erste Schritte - Arduino-Breadboard-Setup
Erste Schritte - Arduino-Breadboard-Setup

Wenn Sie mit Arduino Prototypen erstellt haben, haben Sie wahrscheinlich bereits ein Arduino-Breadboard-Setup, mit dem Sie vertraut sind. Wenn ja, bin ich zuversichtlich, dass Sie es für dieses Instructable verwenden können. Wenn nicht, habe ich meine so eingerichtet - Sie können sie gerne für dieses und zukünftige Projekte kopieren.

  1. Ich befestige das Arduino UNO und ein kleines drahtloses Steckbrett an einem 3-3/8 "x 4-3/4" (8,6 x 12,0 cm) Stück Plastik mit Gummifüßen an der Unterseite.
  2. Ich verwende rotes und schwarzes 22-AWG-Anschlusskabel, um + 5 V und GND vom Arduino mit der Stromverteilerleiste des Steckbretts zu verbinden
  3. Ich füge einen 10µF-Tantalkondensator in die Strom-Erde-Verteilerleiste ein, um das Stromrauschen zu reduzieren (dieses Projekt erfordert dies jedoch nicht)

Dies bietet eine schöne Plattform, mit der sich leicht Prototypen erstellen lassen.

Schritt 3: Verdrahten Sie das LV-MaxSonar-EZ

Verkabeln Sie das LV-MaxSonar-EZ
Verkabeln Sie das LV-MaxSonar-EZ
Verkabeln Sie das LV-MaxSonar-EZ
Verkabeln Sie das LV-MaxSonar-EZ
Verkabeln Sie das LV-MaxSonar-EZ
Verkabeln Sie das LV-MaxSonar-EZ

Mit einem 90°-Header, der auf das MaxSonar-Gerät gelötet ist, ist es einfach, es in das Steckbrett zu stecken. Das 5-polige Flachbandkabel verbindet dann den MaxSonar mit dem Arduino, wie in der Abbildung zu sehen. Neben dem Flachbandkabel verwende ich kurze rote und schwarze Anschlusskabel von der Stromverteilerschiene, um das Gerät mit Strom zu versorgen.

Verdrahtung:

MaxSonar Arduino Farbe
1 (SW) Strom-GND Gelb
2 (PW) Digital-5 Grün
3 (AN) Analog-0 Blau
4 (RX) Digital-3 Violett
5 (TX) Digital-2 Grau
6 (+5) +5 BB-PWR-Schiene rot
7 (GND) GND BB-PWR-Schiene Schwarz

Notiz:

Lassen Sie sich nicht durch die Anzahl der in diesem Instructable verwendeten Verbindungen davon abhalten, das MaxSonar für Ihr Projekt in Betracht zu ziehen. Dieses Instructable verwendet alle MaxSonar-Schnittstellenoptionen, um zu veranschaulichen, wie sie funktionieren und um sie miteinander und mit dem HC-SR04-Gerät zu vergleichen. Für eine bestimmte Verwendung (mit einer der Schnittstellenoptionen) verwendet ein Projekt im Allgemeinen einen oder zwei der Schnittstellenpins (plus Strom und Masse).

Schritt 4: Verdrahten Sie den HC-SR04

Der HC-SR04 wird normalerweise mit einem bereits angebrachten 90°-Header geliefert, sodass er einfach in das Steckbrett eingesteckt werden kann. Das 2-polige Flachbandkabel verbindet dann den HC-SR04 mit dem Arduino, wie in der Abbildung zu sehen. Neben dem Flachbandkabel verwende ich kurze rote und schwarze Anschlusskabel von der Stromverteilerschiene, um das Gerät mit Strom zu versorgen.

HC-SR04 Arduino Farbe
1 (VCC) +5 BB-PWR-Schiene rot
2 (TRIG) Digital-6 Gelb
3 (ECHO) Digital-7 Orange
4 (GND) GND BB-PWR-Schiene Schwarz

Schritt 5: Verdrahten Sie den Optionsselektor 'HC-SR04'

Als ich dieses Projekt begann, war meine Absicht einfach, die verschiedenen Schnittstellenoptionen des MaxSonar-Geräts zu testen. Nachdem ich das in Betrieb genommen hatte, entschied ich, dass es schön wäre, es mit dem allgegenwärtigen HC-SR04 (Bugeye)-Gerät zu vergleichen. Ich wollte jedoch in der Lage sein, ohne es auszuführen/zu testen, also habe ich eine Option/einen Test im Code hinzugefügt.

Der Code überprüft einen Eingangs-Pin, um zu sehen, ob das HC-SR04-Gerät in den Messwert und die Ausgabe einbezogen werden soll.

Im Diagramm ist dies als Schalter dargestellt, aber auf dem Steckbrett verwende ich einfach ein Überbrückungskabel (wie auf den Fotos zu sehen). Wenn das Kabel mit GND verbunden ist, wird der HC-SR04 in die Messungen einbezogen. Der Code "zieht hoch" (macht den Eingang hoch / wahr) im Arduino, so dass der HC-SR04 nicht gemessen wird, wenn er nicht niedrig gezogen (mit GND verbunden) ist.

Obwohl sich dieses Instructable in einen Vergleich der beiden Geräte verwandelte, beschloss ich, dies an Ort und Stelle zu belassen, um zu veranschaulichen, wie Sie verschiedene Geräte / Optionen in Ihr Projekt einschließen / ausschließen können.

Steckbrett Arduino Farbe
GND BB-PWR-Schiene Digital-12 Weiß

Schritt 6: Damit alles funktioniert…

Damit alles funktioniert…
Damit alles funktioniert…
Damit alles funktioniert…
Damit alles funktioniert…
Damit alles funktioniert…
Damit alles funktioniert…

Jetzt, wo alles angeschlossen ist, ist es an der Zeit, die Dinge zum Laufen zu bringen!

Wie in 'Annahmen' erwähnt, werde ich nicht erklären, wie die Arduino-IDE funktioniert oder wie man einen Arduino programmiert (im Detail).

In den folgenden Abschnitten wird der in diesem Projekt enthaltene Arduino-Code aufgeschlüsselt.

Bitte entpacken Sie das vollständige Archiv an einen Ort, den Sie für Ihre Arduino-Entwicklung verwenden. Laden Sie den Code `MaxSonar-outputs.ino` in Ihre Arduino IDE und legen Sie los!

Schritt 7: Projektlayout

Das Projekt enthält Informationen zum LV-MaxSonar-EZ-Gerät, den Schaltplan, eine README und den Arduino-Code. Der Schaltplan liegt im Fritzing-Format sowie als PNG-Bild vor. Die README ist im Markdown-Format.

Schritt 8: Code-Einleitung…

In diesem Instructable kann ich nicht jeden Aspekt des Codes durchgehen. Ich behandle einige der High-Level-Details. Ich empfehle Ihnen, den Kommentar auf oberster Ebene im Code zu lesen und sich mit den Methoden zu befassen.

Die Kommentare enthalten viele Informationen, die ich hier nicht wiederholen werde.

Es gibt ein paar Dinge, auf die ich im 'Setup'-Code hinweisen möchte…

  • Die `_DEBUG_OUTPUT` - Variable und #define-Anweisungen
  • Definitionen der Arduino-Pins, die für die Schnittstelle verwendet werden
  • Definitionen der in Berechnungen verwendeten Umrechnungsfaktoren

Das Debugging wird im gesamten Code verwendet, und ich werde zeigen, wie es dynamisch ein- und ausgeschaltet werden kann.

Die 'Definitionen' werden für die Arduino-Pins und Konvertierungen verwendet, um die Verwendung dieses Codes in anderen Projekten zu erleichtern.

Debuggen…

Der Abschnitt 'Debugging' definiert eine Variable und einige Makros, die es einfach machen, Debugging-Informationen bei Bedarf in die serielle Ausgabe einzufügen.

Die boolesche Variable `_DEBUG_OUTPUT` wird im Code auf false gesetzt (könnte auf true gesetzt werden) und wird als Test in den `DB_PRINT…` Makros verwendet. Es kann dynamisch im Code geändert werden (wie in der Methode `setDebugOutputMode` zu sehen).

Globale…

Nach den Definitionen erstellt und initialisiert der Code einige globale Variablen und Objekte.

  • SoftwareSerial (siehe nächster Abschnitt)
  • _loopCount - Wird verwendet, um alle 'n' Zeilen einen Header auszugeben
  • _inputBuffer - Wird verwendet, um serielle/Terminal-Eingaben zu sammeln, um Optionen zu verarbeiten (Debug ein/aus)

Schritt 9: Arduino Software-Seriell…

Eine der Schnittstellenoptionen von MaxSonar ist ein serieller Datenstrom. Das Arduino UNO bietet jedoch nur eine einzige serielle Datenverbindung, die mit dem USB-Anschluss verwendet / geteilt wird, um mit der Arduino IDE (Hostcomputer) zu kommunizieren.

Glücklicherweise gibt es in der Arduino-IDE eine Bibliothekskomponente, die ein Paar der Arduino-Digital-I/O-Pins verwendet, um eine serielle I/O-Schnittstelle zu implementieren. Da die serielle Schnittstelle von MaxSonar 9600 BAUD verwendet, ist diese 'Software'-Schnittstelle perfekt in der Lage, die Kommunikation zu handhaben.

Für diejenigen, die einen Arduino-Mega (oder ein anderes Gerät mit mehreren seriellen HW-Ports) verwenden, können Sie den Code so anpassen, dass ein physischer serieller Port verwendet wird und die SW-Serial überflüssig wird.

Die Methode "setup" initialisiert die Schnittstelle "SoftwareSerial", die mit dem MaxSonar-Gerät verwendet werden soll. Es wird nur der Empfang (RX) benötigt. Die Schnittstelle ist 'invertiert', um der Ausgabe des MaxSonars zu entsprechen.

Schritt 10: Code - Einrichtung

Wie oben beschrieben initialisiert die Methode "setup" die Schnittstelle "SoftwareSerial" sowie die physikalische serielle Schnittstelle. Es konfiguriert die Arduino I/O-Pins und sendet einen Header.

Schritt 11: Code - Schleife

Der `loop`-Code durchläuft folgendes:

  • Ausgabe eines Headers (wird zum Debuggen und für den Plotter verwendet)
  • Lösen Sie den MaxSonar aus, um eine Messung durchzuführen
  • Lesen Sie den MaxSonar Pulse-Width-Wert ab
  • Lesen Sie den MaxSonar Serial-Data-Wert
  • Lesen Sie den MaxSonar-Analogwert aus
  • Aktivieren Sie die Option 'HC-SR04' und, falls aktiviert:

    Triggern und lesen Sie das HC-SR04-Gerät

  • Geben Sie die Daten in einem tabulatorgetrennten Format aus, das vom seriellen Plotter verwendet werden kann
  • Warten Sie, bis genügend Zeit verstrichen ist, damit eine weitere Messung durchgeführt werden kann

Schritt 12: Code - Lösen Sie das MaxSonar aus. PW-Wert lesen

Der MaxSonar hat zwei Modi: „getriggert“und „kontinuierlich“

Dieses Instructable verwendet den "getriggerten" Modus, aber viele Projekte können von der Verwendung des "kontinuierlichen" Modus profitieren (siehe Datenblatt).

Bei Verwendung des 'getriggerten' Modus ist der erste gültige Ausgang der Impulsbreite (PW)-Ausgang. Danach sind die restlichen Ausgaben gültig.

Der `tiggerAndReadDistanceFromPulse` pulsiert den Trigger-Pin des MaxSonar-Geräts und liest den resultierenden Pulsweiten-Distanzwert aus

Beachten Sie, dass MaxSonar im Gegensatz zu vielen anderen Sonargeräten die Round-Trip-Konvertierung übernimmt, sodass die abgelesene Entfernung die Entfernung zum Ziel ist.

Diese Methode verzögert auch so lange, bis die anderen Ausgänge des Geräts gültig sind (seriell, analog).

Schritt 13: Code - MaxSonar-Serienwert lesen

Nachdem der MaxSonar ausgelöst wurde (oder im 'kontinuierlichen' Modus), wird bei aktivierter serieller Ausgabeoption (über den 'BW - Pin-1'-Regler) ein serieller Datenstrom in der Form "R nnn" gesendet, gefolgt durch einen CARRIAGE-RETURN '\r'. Das ' nnn ' ist der Wert in Zoll zum Objekt.

Die Methode `readDistanceFromSerial` liest die seriellen Daten (von der seriellen Schnittstelle der Software) und wandelt den Wert 'nnn' in dezimal um. Es enthält eine ausfallsichere Zeitüberschreitung für den Fall, dass kein serieller Wert empfangen wird.

Schritt 14: Code - MaxSonar-Analogwert lesen

Der analoge Anschluss von MaxSonar liefert kontinuierlich eine Ausgangsspannung proportional zur zuletzt gemessenen Distanz. Dieser Wert kann nach der Initialisierung des Gerätes jederzeit ausgelesen werden. Der Wert wird innerhalb von 50 ms nach der letzten Distanzmessung aktualisiert (getriggerter oder kontinuierlicher Modus).

Der Wert ist (Vcc/512) pro Zoll. Bei einer Vcc vom Arduino von 5 Volt beträgt der Wert also ~ 9,8 mV / Zoll. Die Methode "readDistanceFromAnalog" liest den Wert vom analogen Arduino-Eingang und wandelt ihn in einen "Zoll"-Wert um.

Schritt 15: Code - Triggern und lesen Sie den HC-SR04

Obwohl es Bibliotheken zum Lesen des HC-SR04 gibt, habe ich festgestellt, dass einige von ihnen mit verschiedenen Geräten, mit denen ich getestet habe, unzuverlässig sind. Ich habe festgestellt, dass der Code, den ich in die Methode `sr04ReadDistance` eingefügt habe, einfach und zuverlässiger ist (so viel wie das billige HC-SR04-Gerät sein kann).

Diese Methode setzt und triggert dann das HC-SR04-Gerät und wartet dann auf die Messung der Rückimpulsbreite. Die Messung der Pulsbreite beinhaltet eine Zeitüberschreitung, um das Problem einer sehr langen Pulsdauer des HC-SR04 zu beheben, wenn kein Ziel gefunden werden kann. Eine Impulsbreite, die länger als eine Zielentfernung von ~ 3 m ist, wird als kein Objekt oder ein nicht erkennbares Objekt angesehen. Bei Erreichen des Timeouts wird als Distanz der Wert '0' zurückgegeben. Dieser 'Abstand' (Pulsbreite) kann mit den #define-Werten angepasst werden.

Die Impulsbreite wird in eine Round-Trip-Distanz umgewandelt, bevor sie als Distanz zum Objekt zurückgegeben wird.

Schritt 16: Code - Arduino IDE Serial Plotter Support

Code - Unterstützung für serielle Arduino IDE-Plotter
Code - Unterstützung für serielle Arduino IDE-Plotter

Nun zur Ausgabe!

Die `loop`-Methode löst die Erfassung der Entfernungsmessung von den beiden Geräten aus - aber was machen wir damit?

Natürlich werden wir es versenden, damit es auf der Konsole angesehen werden kann - aber wir wollen mehr!

Die Arduino IDE bietet auch die serielle Plotter-Schnittstelle. Wir werden dies verwenden, um ein Echtzeitdiagramm der Entfernung zu unserem Objekt aus den Ausgaben unserer beiden Geräte bereitzustellen.

Der serielle Plotter akzeptiert eine Kopfzeile, die Wertebeschriftungen enthält, und dann mehrere Reihen von begrenzten Werten, die als Diagramm geplottet werden sollen. Bei regelmäßiger Ausgabe der Werte (einmal alle 'so viele Sekunden') liefert der Graph eine Visualisierung der Entfernung zum Objekt über die Zeit.

Die `loop`-Methode gibt die drei Werte vom MaxSonar und den Wert vom HC-SR04 in einem durch Tabulatoren getrennten Format aus, das mit dem seriellen Plotter verwendet werden kann. Einmal alle 20 Zeilen gibt es den Header aus (nur für den Fall, dass der serielle Plotter mitten im Stream aktiviert ist).

Auf diese Weise können Sie die Entfernung zum Hindernis visualisieren und auch den Unterschied in den von den beiden Geräten zurückgegebenen Werten sehen.

Schritt 17: Code - Debuggen…

Code - Debuggen…
Code - Debuggen…
Code - Debuggen…
Code - Debuggen…

Debuggen ist eine Notwendigkeit. Wie können Sie ein Problem aufspüren, wenn etwas nicht wie erwartet funktioniert?

Ein erstes Verständnis sind oft einige „einfache“Textausgaben, die anzeigen können, was passiert. Diese können dem Code bei Bedarf hinzugefügt werden, um ein Problem aufzuspüren, und dann entfernt, sobald das Problem gelöst ist. Das Hinzufügen und Entfernen des Codes ist jedoch zeitaufwändig und kann an sich zu anderen Problemen führen. Manchmal ist es besser, es dynamisch aktivieren und deaktivieren zu können, während der Quellcode in Ruhe bleibt.

In diesem Instructable habe ich einen Mechanismus zum Aktivieren und Deaktivieren von Debugging-Druckanweisungen (serielle Ausgabe) dynamisch von der Eingabe aus dem Arduino IDE Serial Monitor aufgenommen (in einer kommenden Version wird der serielle Plotter voraussichtlich auch diese Eingabe bereitstellen).

Der boolesche Wert `_DEBUG_OUTPUT` wird in einer Reihe von #define-Druckmethoden verwendet, die innerhalb des Codes verwendet werden können. Der Wert der Variablen _DEBUG_OUTPUT wird verwendet, um das Drucken (Ausgabe senden) zu ermöglichen oder nicht. Der Wert kann innerhalb des Codes dynamisch geändert werden, wie es die Methode `setDebugOutputMode` tut.

Die Methode `setDebugOutputMode` wird von der `Schleife` aufgerufen, basierend auf der Eingabe von der seriellen Eingabe. Die Eingabe wird analysiert, um zu sehen, ob sie mit "Debug on/off | true/false" übereinstimmt, um den Debug-Modus zu aktivieren/deaktivieren.

Schritt 18: Fazit

Ich hoffe, dieses einfache Hardware-Setup und der Beispielcode können Ihnen helfen, die Unterschiede zwischen dem HC-SR04 und den LV-MaxSonar-EZ-Geräten zu verstehen. Beide sind sehr einfach zu bedienen, und ich glaube, dass jedes seine Vorteile hat. Zu wissen, wann man das eine oder das andere verwenden sollte, kann für ein erfolgreiches Projekt von entscheidender Bedeutung sein.

Übrigens - ich habe eine sehr einfach zu verwendende Methode zur genauen Messung der Entfernung zu einem Objekt mit dem LV-MaxSonar-EZ angedeutet… Sie können den Analogausgang (ein Draht) und den kontinuierlichen Messmodus verwenden, um die Entfernung bei Bedarf mit dem einfachen zu lesen Code in `readDistanceFromAnalog` direkt vom Arduino-Analogeingang. Ein Draht und (kondensiert) eine Codezeile!

Schritt 19: Alternative MaxSonar-Verbindung (mit 180°-Header)

Alternative MaxSonar-Verbindung (mit 180°-Header)
Alternative MaxSonar-Verbindung (mit 180°-Header)
Alternative MaxSonar-Verbindung (mit 180°-Header)
Alternative MaxSonar-Verbindung (mit 180°-Header)
Alternative MaxSonar-Verbindung (mit 180°-Header)
Alternative MaxSonar-Verbindung (mit 180°-Header)

Wie ich bereits erwähnt habe, wird der MaxSonar nicht mit einem angeschlossenen Header geliefert. Sie können also die für Ihr Projekt am besten geeignete Verbindung verwenden. In einigen Fällen kann ein (gerade) 180°-Header angemessener sein. Wenn das der Fall ist, wollte ich schnell zeigen, wie Sie das mit diesem Instructable verwenden können. Diese Illustration zeigt einen MaxSonar mit einem geraden Header, der mit einem männlich-weiblichen Flachbandkabel mit dem Steckbrett verbunden und dann wie im Rest des Artikels beschrieben mit dem Arduino verbunden ist.

Schritt 20: Arduino-Code

Der Arduino-Code befindet sich im Ordner 'MaxSonar-outputs' des Projekts im Sonar Range-Finder Vergleich

Empfohlen: