» elektronikk » Arduino »Meget nøyaktig ultrasonisk avstandsmåler

Meget nøyaktig ultrasonisk avstandsmåler



Denne ultrasoniske avstandsmåleren HC-SR04 er forbedret med temperatursensoren LM35.

Fra skolen kan du huske at lydens hastighet avhenger av lufttettheten, og lufttettheten avhenger av temperaturen.
Vi vil beregne temperaturen ved å bruke denne formelen
temp2 = (temp / 1023,0) * 5,0 * 1000/10;

Hvor temp2 er den ferdige temperaturverdien etter formelen,
Og hvor temp er råverdien fra sensoren.

Hva vi trenger:
  • Ultrasonisk avstandsmåler HC-SR04
  • Arduino
  • Labkort
  • jumpers
  • Thermistor LM35 (temperatursensor)


Husk at HC-SR04 kommer i to former -
Her har jeg en god en og den måler stabilt avstand.
De måler begge fra 4 cm til 400 cm.
Drevet av 3.3 til 5 v


Til å begynne med, håner vi det hele på en brødplate.

Ultralydsensor:
  • GND - gnd
  • Ekko - 3 pinner
  • Trig - 2 pinner
  • Vcc - 5v

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

Meget nøyaktig ultrasonisk avstandsmåler

Det skal være slik:

Deretter fyller vi ut skissen.
Last ned bibliotek for HC-SR04 sensor -
iarduino_hc-sr04.zip [299.69 Kb] (nedlastinger: 207)

Last ned skisse -
sketch_mar23f.zip [338 b] (nedlastinger: 157)

#include  // koble biblioteket til å fungere med ultralydsensoren HC-SR04
iarduino_HC_SR04 hcsr (2,3); // betegner kontaktene Trig og Echo
int temp = 0; // rå temperatur
float temp2 = 0; // klar temperaturverdi

void setup () {// kjør 1 gang
  Serial.begin (9600); // start portmonitoren
  pinMode (A0, INPUT); // betegner kontakt A0 som input
}

void loop () {// gjentar et uendelig antall ganger
  temp = analog Les (A0); // lese verdien av kontakt A0 og tilordne variabelen temp til den
  temp2 = (temp / 1023,0) * 5,0 * 1000/10; // beregne råverdien i henhold til formelen for å få den ferdige temperaturverdien
  Serial.println (hcsr.distance (temp2)); // skriv klar rekkevidde på portmonitoren
  forsinkelse (1000); // forsinkelse 1 sekund
}

Og her er en skisse for en LCD-skjerm-
Last ned skisse -
sketch_mar23f-1.zip [861 b] (nedlastinger: 139)


#include  // koble biblioteket til å fungere med ultralydsensoren HC-SR04
#include  // koble biblioteket til å fungere med skjermen på I2C-bussen

LiquidCrystal_I2C lcd (0x27, 16, 2); // betegne (adresse, kolonner, linjer)
iarduino_HC_SR04 hcsr (2,3); // betegner kontaktene Trig og Echo

int temp = 0; // rå temperatur
float temp2 = 0; // klar temperaturverdi

void setup () {// kjør 1 gang
  lcd.init (); // initialiser skjermen
  lcd.backlight (); // slå på bakgrunnsbelysningen på skjermen
  pinMode (A0, INPUT); // betegner kontakt A0 som input
}

void loop () {// gjentar et uendelig antall ganger
  temp = analog Les (A0); // lese verdien av kontakt A0 og tilordne variabelen temp til den
  temp2 = (temp / 1023,0) * 5,0 * 1000/10; // beregne råverdien i henhold til formelen for å få den ferdige temperaturverdien
  lcd.set Markør (2, 0); // sett markøren på 2 kolonner og 0 rad
  lcd.print (temp2); // skriv avstanden
  lcd.setCursor (5,0); // plasser markøren på 5. kolonne og 0. rad
  lcd.print ("cm"); // skriv cm
  forsinkelse (1000); // forsinkelse 1 sekund
}


Skriv kommentarer og spørsmål, jeg vil svare på alt!
10
10
10

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær
13 kommentar
Gjest Alexander
Hvor kommer denne formelen fra:
temp2 = (temp / 1023,0) * 5,0 * 1000/10
Kan du fortelle meg mer detaljert, hvor kom disse verdiene fra?
Jeg vil også legge til punkt 4. Ikke bruk til målinger, bare for automatiseringsenheter!
Jeg forstår (med utgangspunkt i parametrene ovenfor) at instruksjonene for det ser ut som dette:
1. Grip HC-SR04 i venstre hånd og Atoruchka eller markør til høyre.
2. Beregn avstanden med øye og skriv den ned.
3. Sett HC-SR04 tilbake i esken.
ok
Sitat: “Funksjoner av den ultralyds avstandsmåleren HC-SR04
Måleområde: fra 2 cm til 400 cm.
Målenøyaktighet: ± 1 cm (ved maksimal avstand ± 3 cm).

Spørsmål: Hvor "tung" er temperaturkorreksjonen i den totale feilen?
Jeg tror at det hjemmelagde produktet ikke ble implementert, det er ingen bilder av det ferdige apparatet og dets drift.
Jeg anser dette hjemmelagde produktet som "barnslig", men artikkelen viser ikke eller tygger hvordan du kobler til skjermen. For nybegynnere er nettstedene våre uklare, men erfarne trenger det ikke. Tygge og vis alle hjemmelaget.
Sitat: Anton Martyanov
Faktisk skiller de seg ikke bare i inskripsjon, men også i nøyaktighet!

I henhold til dokumentasjonen eller kom du over dette?
Forfatteren
Faktisk skiller de seg ikke bare i inskripsjon, men også i nøyaktighet!
Men er det ikke nok ??? sjef For eksempel liker jeg det heller ikke når markeringene er skrevet under en halv meter !!! smiler dontknow
Og hvorfor er det fortsatt ille, bortsett fra høyden på markeringen?
Forfatteren
Den dårlige er påskriften HC-SR04 0,5 cm lavere
Veldig nøyaktig
Og hva er nøyaktigheten? Hva ble brukt som referanse? Hva er temperaturfeilen?
Husk at HC-SR04 kommer i to former -
Jeg har det bra
Og hvilken synes du er dårlig?
Jeg vil fortelle deg fra min egen erfaring at en ultralyd avstandsmåler, som "kontaktløs roulette" er en velvære !!!
Man ligger rundt som unødvendig ...
Og ikke på grunn av utilstrekkelig nøyaktighet, men fordi de bare kan måle avstanden til en tilstrekkelig stor vegg av solid materiale ... Men til bakveggen til en nisje i denne veggen - på ingen måte !!! Og det vil ikke fungere hvis denne veggen er full av møbler og andre ting, og det bare er et lite "vindu" fritt for rot ... (I dette tilfellet er det lettere å ikke frigjøre veggen fra alt dette, men bare bruk vanlig rulett).
Prøv igjen å måle avstanden til en knagg som er kjørt ned i bakken !!!

Og til drivhuset?)))
Og til veggen dekket med stoff?)))
Og til fasaden, allerede limt inn med mineralullplater, men fortsatt uten det endelige belegget?))))
Og før hver av de ti sperrene ordnet på rad?
Og fra veggen til enden av tavlen allerede spikret i taket for å kutte av den nødvendige lengden og lukke dette "hullet" ???

Ingen av de ovennevnte vil ordne seg for deg !!!

Og hva skal man da måle med det under reparasjon, eller på en byggeplass, for eksempel ??? Bare størrelsen og arealet på lokalene, mens de er fri for møbler ???

Kort sagt, jeg kastet den på hylla for et par år siden, og husker ordtaket om den "avaricious, som betaler to ganger", bestemte jeg meg for å kjøpe laser ...

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...