» Elektronik » Arduino »Sehr genauer Ultraschall-Entfernungsmesser

Sehr genauer Ultraschall-Entfernungsmesser



Dieser Ultraschall-Entfernungsmesser HC-SR04 wurde mit dem Temperatursensor LM35 erweitert.

Aus der Schule können Sie sich daran erinnern, dass die Schallgeschwindigkeit von der Luftdichte und die Luftdichte von der Temperatur abhängt.
Wir werden die Temperatur mit dieser Formel berechnen
temp2 = (temp / 1023,0) * 5,0 * 1000/10;

Wobei temp2 der fertige Temperaturwert nach der Formel ist,
Und wo Temp ist der Rohwert vom Sensor.

Was wir brauchen:
  • Ultraschall-Entfernungsmesser HC-SR04
  • Arduino
  • Steckbrett
  • Jumper
  • Thermistor LM35 (Temperatursensor)


Beachten Sie, dass HC-SR04 in zwei Formen erhältlich ist:
Hier habe ich eine gute und sie misst stabil die Entfernung.
Sie messen beide von 4 cm bis 400 cm.
Angetrieben von 3,3 bis 5 v


Zunächst verspotten wir alles auf einem Steckbrett.

Ultraschallsensor:
  • GND - gnd
  • Echo - 3 Stifte
  • Trig - 2 Stifte
  • Vcc - 5v

Thermistor LM35:
  • 1 - 5v
  • 2 - A0
  • 3 - GND

Sehr genauer Ultraschall-Entfernungsmesser

Es sollte so sein:

Als nächstes füllen wir die Skizze aus.
Bibliothek für HC-SR04 Sensor herunterladen -
iarduino_hc-sr04.zip [299,69 Kb] (Downloads: 207)

Skizze herunterladen -
scale_mar23f.zip [338 b] (Downloads: 157)

#include  // Verbinde die Bibliothek, um mit dem Ultraschallsensor HC-SR04 zu arbeiten
iarduino_HC_SR04 hcsr (2,3); // Kontakte Trig und Echo bezeichnen
int temp = 0; // Rohtemperatur
float temp2 = 0; // bereit Temperaturwert

void setup () {// 1 Mal ausführen
  Serial.begin (9600); // Starten Sie den Port Monitor
  pinMode (A0, INPUT); // Kontakt A0 als Eingang bezeichnen
}}

void loop () {// wiederholt sich unendlich oft
  temp = analogRead (A0); // Lesen Sie den Wert von Kontakt A0 und weisen Sie ihm die Variable temp zu
  temp2 = (temp / 1023,0) * 5,0 * 1000/10; // Berechne den Rohwert gemäß der Formel, um den fertigen Temperaturwert zu erhalten
  Serial.println (hcsr.distance (temp2)); // schreibe den Bereitschaftsbereich in den Port Monitor
  Verzögerung (1000); // 1 Sekunde verzögern
}}

Und hier ist eine Skizze für ein LCD-Display.
Skizze herunterladen -
scale_mar23f-1.zip [861 b] (Downloads: 139)


#include  // Verbinde die Bibliothek, um mit dem Ultraschallsensor HC-SR04 zu arbeiten
#include  // Verbinde die Bibliothek, um mit der Anzeige auf dem I2C-Bus zu arbeiten

LiquidCrystal_I2C lcd (0x27, 16, 2); // bezeichnen (Adresse, Spalten, Zeilen)
iarduino_HC_SR04 hcsr (2,3); // Kontakte Trig und Echo bezeichnen

int temp = 0; // Rohtemperatur
float temp2 = 0; // bereit Temperaturwert

void setup () {// 1 Mal ausführen
  lcd.init (); // Anzeige initialisieren
  lcd.backlight (); // Hintergrundbeleuchtung des Displays einschalten
  pinMode (A0, INPUT); // Kontakt A0 als Eingang bezeichnen
}}

void loop () {// wiederholt sich unendlich oft
  temp = analogRead (A0); // Lesen Sie den Wert von Kontakt A0 und weisen Sie ihm die Variable temp zu
  temp2 = (temp / 1023,0) * 5,0 * 1000/10; // Berechne den Rohwert gemäß der Formel, um den fertigen Temperaturwert zu erhalten
  lcd.setCursor (2, 0); // Setzen Sie den Cursor auf 2 Spalten und 0 Zeilen
  lcd.print (temp2); // schreibe die Entfernung
  lcd.setCursor (5,0); // Platziere den Cursor in der 5. Spalte und der 0. Zeile
  lcd.print ("cm"); // schreibe cm
  Verzögerung (1000); // 1 Sekunde verzögern
}}


Schreibe Kommentare und Fragen, ich werde alles beantworten!
10
10
10

Kommentar hinzufügen

    • lächelnlächeltxaxaokweiß nichtYahoonea
      ChefKratzerDummkopfjaja-jaaggressivGeheimnis
      Entschuldigungtanzendance2Tanz3VerzeihungHilfeGetränke
      hör aufFreundegutgut gutpfeifenOhnmachtZunge
      RauchklatschenCrayerklärenspöttischdon-t_mentionherunterladen
      Hitzeärgerlichlach1mdaTreffenMoskingnegativ
      not_iPopcornbestrafenlesenerschreckenAngstSuche
      verspottendankedasto_clueumnikakutstimme zu
      schlechtbeeeblack_eyeblum3errötenprahlenLangeweile
      zensiertAngenehmheitsecret2drohenSiegyusun_bespectacled
      shokrespektlolvorgezogenWillkommenKrutoyya_za
      ya_dobryiHelferne_huliganne_othodiFludVerbotschließen
13 Kommentare
Gast Alexander
Woher kommt diese Formel:
temp2 = (temp / 1023.0) * 5.0 * 1000/10
Können Sie mir genauer sagen, woher diese Werte stammen?
Ich würde auch Punkt 4 hinzufügen. Nicht für Messungen verwenden, nur für Automatisierungsgeräte!
Ich verstehe (gemessen an den obigen Parametern), dass die Anweisungen dafür ungefähr so ​​aussehen:
1. Nehmen Sie den HC-SR04 in Ihre linke Hand und den Atoruchka oder Marker in Ihre rechte.
2. Schätzen Sie die Entfernung mit dem Auge und schreiben Sie sie auf.
3. Setzen Sie den HC-SR04 wieder in die Box ein.
ok
Zitat: „Eigenschaften des Ultraschall-Entfernungsmessers HC-SR04
Messbereich: von 2 cm bis 400 cm.
Messgenauigkeit: ± 1 cm (im maximalen Bereich ± 3 cm).

Frage: Wie "gewichtig" ist die Temperaturkorrektur im Gesamtfehler?
Ich glaube, dass das hausgemachte Produkt nicht implementiert wurde, es gibt kein Foto des fertigen Geräts und seiner Funktionsweise.
Ich betrachte dieses hausgemachte Produkt als "kindisch", aber der Artikel zeigt oder kaut nicht, wie das Display angeschlossen werden soll. Für Anfänger sind unsere Seiten unklar, aber erfahrene brauchen sie nicht. Kauen und zeigen Sie alle hausgemachten.
Zitat: Anton Martyanov
Tatsächlich unterscheiden sie sich nicht nur in der Inschrift, sondern auch in der Genauigkeit!

Laut Dokumentation oder sind Sie darauf gestoßen?
Der Autor
Tatsächlich unterscheiden sie sich nicht nur in der Inschrift, sondern auch in der Genauigkeit!
Aber ist das nicht genug ??? Chef Zum Beispiel mag ich es auch nicht, wenn die Markierungen unter einem halben Meter geschrieben sind !!! lächelt weiß nicht
Und warum ist es bis auf die Höhe der Markierung immer noch schlecht?
Der Autor
Das schlechte ist die Inschrift HC-SR04 0,5 cm tiefer
Sehr genau
Und wie genau ist das? Was wurde als Referenz verwendet? Was ist der Temperaturfehler?
Beachten Sie, dass HC-SR04 in zwei Formen erhältlich ist:
Ich habe einen guten
Und welches denkst du ist schlecht?
Ich werde Ihnen aus eigener Erfahrung sagen, dass ein Ultraschall-Entfernungsmesser wie "kontaktloses Roulette" eine Verwöhnung ist !!!
Man liegt als unnötig herum ...
Und das nicht wegen unzureichender Genauigkeit, sondern weil sie nur den Abstand zu einer ausreichend großen Wand aus festem Material messen können ... Aber zur Rückwand einer Nische in dieser Wand - auf keinen Fall !!! Und es funktioniert auch nicht, wenn diese Wand mit Möbeln und anderen Dingen übersät ist und es nur ein kleines "Fenster" gibt, das frei von Unordnung ist ... (In diesem Fall ist es einfacher, die Wand nicht von all dem zu befreien, sondern nur normales Roulette zu verwenden.)
Versuchen Sie erneut, den Abstand zu einem in den Boden gerammten Stift zu messen !!!

Und zum Gewächshaus?)))
Und an die mit Stoff bedeckte Wand?)))
Und an die Fassade, bereits mit Mineralwolleplatten verklebt, aber noch ohne Endbeschichtung?))))
Und vor jedem der zehn in einer Reihe angeordneten Sparren?
Und von der Wand bis zum Ende des Bretts bereits an die Decke genagelt, um die gewünschte Länge abzuschneiden und dieses "Loch" zu schließen ???

Keines der oben genannten wird für Sie funktionieren !!!

Und was soll man dann während der Reparatur oder auf einer Baustelle damit messen ??? Nur die Größe und Fläche der Räumlichkeiten, während frei von Möbeln ???

Kurz gesagt, ich habe es vor ein paar Jahren ins Regal geworfen, und als ich mich an das Sprichwort über den "Geizhals, der zweimal zahlt" erinnerte, habe ich beschlossen, einen Laser zu kaufen ...

Wir empfehlen Ihnen zu lesen:

Gib es für das Smartphone ...