» Elektronica » Arduino »Zeer nauwkeurige ultrasone afstandsmeter

Zeer nauwkeurige ultrasone afstandsmeter



Deze HC-SR04 ultrasone afstandsmeter is verbeterd met de LM35 temperatuursensor.

Van school kun je je herinneren dat de snelheid van geluid afhangt van de dichtheid van lucht en de dichtheid van lucht hangt af van temperatuur.
Met deze formule berekenen we de temperatuur
temp2 = (temp / 1023.0) * 5.0 * 1000/10;

Waar temp2 de uiteindelijke temperatuurwaarde is na de formule,
En waar temp de ruwe waarde van de sensor is.

Wat we nodig hebben:
  • Ultrasone afstandsmeter HC-SR04
  • Arduino
  • Broodplank
  • Truien
  • Thermistor LM35 (temperatuursensor)


Houd er rekening mee dat HC-SR04 in twee vormen voorkomt:
Hier heb ik een goede en het meet stabiel afstand.
Ze meten allebei van 4 cm tot 400 cm.
Aangedreven door 3.3 tot 5 v


Om te beginnen bespotten we het allemaal op een breadboard.

Ultrasone sensor:
  • GND - GND
  • Echo - 3 pinnen
  • Trig - 2 pinnen
  • Vcc - 5v

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

Zeer nauwkeurige ultrasone afstandsmeter

Het zou zo moeten zijn:

Vervolgens vullen we de schets in.
Bibliotheek voor HC-SR04-sensor downloaden -
iarduino_hc-sr04.zip [299.69 Kb] (downloads: 207)

Schets downloaden -
sketch_mar23f.zip [338 b] (downloads: 157)

#include  // sluit de bibliotheek aan om te werken met de ultrasone sensor HC-SR04
iarduino_HC_SR04 hcsr (2,3); // verwijzen naar contacten Trig en Echo
int temp = 0; // ruwe temperatuur
float temp2 = 0; // klaar temperatuurwaarde

ongeldige setup () {// 1 keer uitvoeren
  Serial.begin (9600); // start de poortmonitor
  pinMode (A0, INPUT); // geef contact A0 aan als invoer
}

void loop () {// herhaalt een oneindig aantal keren
  temp = analogRead (A0); // lees de waarde van contact A0 en wijs er de variabele temp aan toe
  temp2 = (temp / 1023.0) * 5.0 * 1000/10; // bereken de onbewerkte waarde volgens de formule om de voltooide temperatuurwaarde te krijgen
  Serial.println (hcsr.distance (temp2)); // Schrijf het ready-bereik in de poortmonitor
  vertraging (1000); // vertraging 1 seconde
}

En hier is een schets voor een LCD-scherm-
Schets downloaden -
sketch_mar23f-1.zip [861 b] (downloads: 139)


#include  // sluit de bibliotheek aan om te werken met de ultrasone sensor HC-SR04
#include  // verbind de bibliotheek om te werken met de weergave op de I2C-bus

LiquidCrystal_I2C lcd (0x27, 16, 2); // aanduiden (adres, kolommen, regels)
iarduino_HC_SR04 hcsr (2,3); // verwijzen naar contacten Trig en Echo

int temp = 0; // ruwe temperatuur
float temp2 = 0; // klaar temperatuurwaarde

ongeldige setup () {// 1 keer uitvoeren
  lcd.init (); // initialiseer het scherm
  lcd.backlight (); // zet de schermverlichting aan
  pinMode (A0, INPUT); // geef contact A0 aan als invoer
}

void loop () {// herhaalt een oneindig aantal keren
  temp = analogRead (A0); // lees de waarde van contact A0 en wijs er de variabele temp aan toe
  temp2 = (temp / 1023.0) * 5.0 * 1000/10; // bereken de onbewerkte waarde volgens de formule om de voltooide temperatuurwaarde te krijgen
  lcd.setCursor (2, 0); // zet de cursor op 2 kolommen en 0 rijen
  lcd.print (temp2); // schrijf de afstand
  lcd.setCursor (5,0); // plaats de cursor op de 5e kolom en 0e rij
  lcd.print ("cm"); // schrijf cm
  vertraging (1000); // vertraging 1 seconde
}


Schrijf opmerkingen en vragen, ik zal alles beantwoorden!
10
10
10

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
13 opmerkingen
Gast Alexander
Waar komt deze formule vandaan:
temp2 = (temp / 1023.0) * 5.0 * 1000/10
Kunt u mij meer in detail vertellen, waar komen deze waarden vandaan?
Ik zou ook punt 4 willen toevoegen. Niet gebruiken voor metingen, alleen voor automatiseringsapparatuur!
Ik begrijp (te oordelen naar de bovenstaande parameters) dat de instructies ervoor er ongeveer zo uitzien:
1. Pak de HC-SR04 in je linkerhand en de Atoruchka, of marker, in je rechterhand.
2. Schat de afstand met het oog en noteer deze.
3. Plaats de HC-SR04 terug in de doos.
ok
Citaat: “Kenmerken van de ultrasone afstandsmeter HC-SR04
Meetbereik: van 2 cm tot 400 cm.
Meetnauwkeurigheid: ± 1 cm (bij maximaal bereik ± 3 cm).

Vraag: Hoe "zwaar" is de temperatuurcorrectie in de totale fout?
Ik geloof dat het zelfgemaakte product niet is geïmplementeerd, er is geen foto van het voltooide apparaat en de werking ervan.
Ik beschouw dit zelfgemaakte product als "kinderachtig", maar het artikel laat niet zien of kauwen hoe het beeldscherm moet worden aangesloten. Voor beginners zijn onze sites onduidelijk, maar ervaren sites hebben het niet nodig. Kauw en laat al het zelfgemaakte zien.
Citaat: Anton Martyanov
In feite verschillen ze niet alleen qua inscriptie, maar ook qua nauwkeurigheid!

Volgens de documentatie of ben je dit tegengekomen?
De auteur
In feite verschillen ze niet alleen qua inscriptie, maar ook qua nauwkeurigheid!
Maar is dat niet genoeg ??? baas Ik vind het bijvoorbeeld ook niet leuk als de markeringen onder een halve meter zijn geschreven !!! glimlacht weet het niet
En waarom is het nog steeds erg, behalve de hoogte van de markering?
De auteur
De slechte is het opschrift HC-SR04 0,5 cm lager
Heel nauwkeurig
En wat is de nauwkeurigheid? Wat werd als referentie gebruikt? Wat is de temperatuurfout?
Houd er rekening mee dat HC-SR04 in twee vormen voorkomt:
Ik heb een goeie
En welke is volgens jou slecht?
Ik zal je uit eigen ervaring vertellen dat een ultrasone afstandsmeter, zoals "contactloze roulette", een verwennerij is !!!
Men ligt rond als onnodig ...
En niet vanwege onvoldoende nauwkeurigheid, maar omdat ze alleen de afstand kunnen meten tot een voldoende grote muur van massief materiaal ... Maar tot de achterwand van een nis in deze muur - absoluut niet !!! En het zal ook niet werken als deze muur bezaaid is met meubels en andere dingen, en er is maar een klein "raam" vrij van rommel ... (in dit geval is het gemakkelijker om de muur niet van dit alles te bevrijden, maar gewoon gewone roulette te gebruiken).
Nogmaals, probeer de afstand te meten tot een in de grond geslagen pen !!!

En naar de kas?)))
En aan de muur bedekt met stof?)))
En aan de gevel, al geplakt met minerale wolplaten, maar nog steeds zonder de laatste coating?))))
En voordat elk van de tien spanten op een rij staan?
En van de muur tot het einde van het bord dat al aan het plafond is genageld om de vereiste lengte af te snijden en dit "gat" te sluiten ???

Niets van het bovenstaande zal voor u werken !!!

En wat te meten tijdens reparatie of op een bouwplaats bijvoorbeeld ??? Alleen de grootte en de oppervlakte van het pand, zonder meubels ???

Kortom, ik gooide het een paar jaar geleden op de plank en, herinnerend aan het gezegde over de "hebzuchtige, die twee keer betaalt", besloot ik dat ik een laser moest kopen ...

We raden je aan om te lezen:

Geef het voor de smartphone ...