» Electronics » Arduino »Tunay na tumpak na ultrasonic rangefinder

Napaka tumpak na ultrasonic rangefinder



Ang HC-SR04 ultrasonic rangefinder na ito ay pinahusay gamit ang sensor ng LM35 temperatura.

Mula sa paaralan maaari mong isipin na ang bilis ng tunog ay nakasalalay sa density ng hangin, at ang density ng hangin ay nakasalalay sa temperatura.
Kinakalkula namin ang temperatura gamit ang pormula na ito
temp2 = (temp / 1023.0) * 5.0 * 1000/10;

Kung saan ang temp2 ay ang tapos na halaga ng temperatura pagkatapos ng pormula,
At kung saan ang temp ay ang raw na halaga mula sa sensor.

Ano ang kailangan namin:
  • Ultrasonic Rangefinder HC-SR04
  • Arduino
  • Breadboard
  • Mga Jumper
  • Thermistor LM35 (Sensor ng temperatura)


Tandaan na ang HC-SR04 ay dumating sa dalawang anyo -
Narito mayroon akong isang mahusay at ito ay stest na sumusukat sa distansya.
Pareho silang sukat mula 4 cm hanggang 400 cm.
Pinapagana ng 3.3 hanggang 5 v


Upang magsimula sa, kinutya namin ang lahat sa isang breadboard.

Ultrasonic Sensor:
  • GND - gnd
  • Echo - 3 pin
  • Trig - 2 pin
  • Vcc - 5v

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

Napaka tumpak na ultrasonic rangefinder

Dapat itong ganito:

Susunod na punan namin ang sketch.
I-download ang library para sa HC-SR04 sensor -
iarduino_hc-sr04.zip [299.69 Kb] (mga pag-download: 207)

I-download ang sketch -
sketch_mar23f.zip [338 b] (mga pag-download: 157)

#include  // ikonekta ang library upang gumana sa ultrasonic sensor HC-SR04
iarduino_HC_SR04 hcsr (2,3); // magpahiwatig ng mga contact Trig at Echo
int temp = 0; // hilaw na temperatura
float temp2 = 0; // handa na ang halaga ng temperatura

walang bisa pag-setup () {// tumakbo ng 1 oras
  Serial.begin (9600); // simulan ang monitor ng port
  pinMode (A0, INPUT); // magpakilala sa contact A0 bilang input
}

walang bisa loop () {// inuulit ang isang walang katapusang bilang ng mga beses
  temp = analogRead (A0); // basahin ang halaga ng contact A0 at italaga ang variable temp dito
  temp2 = (temp / 1023.0) * 5.0 * 1000/10; // kalkulahin ang hilaw na halaga ayon sa pormula upang makuha ang natapos na halaga ng temperatura
  Serial.println (hcsr.distance (temp2)); // isulat ang handa na saklaw sa monitor ng port
  pagkaantala (1000); // pagkaantala ng 1 segundo
}

At narito ang isang sketsa para sa isang LCD display-
I-download ang sketch -
sketch_mar23f-1.zip [861 b] (mga pag-download: 139)


#include  // ikonekta ang library upang gumana sa ultrasonic sensor HC-SR04
#include  // ikonekta ang library upang gumana kasama ang pagpapakita sa I2C bus

LiquidCrystal_I2C lcd (0x27, 16, 2); // denote (address, haligi, linya)
iarduino_HC_SR04 hcsr (2,3); // magpahiwatig ng mga contact Trig at Echo

int temp = 0; // hilaw na temperatura
float temp2 = 0; // handa na ang halaga ng temperatura

walang bisa pag-setup () {// tumakbo ng 1 oras
  lcd.init (); // pasiyahin ang pagpapakita
  lcd.backlight (); // i-on ang backlight ng display
  pinMode (A0, INPUT); // magpakilala sa contact A0 bilang input
}

walang bisa loop () {// inuulit ang isang walang katapusang bilang ng mga beses
  temp = analogRead (A0); // basahin ang halaga ng contact A0 at italaga ang variable temp dito
  temp2 = (temp / 1023.0) * 5.0 * 1000/10; // kalkulahin ang hilaw na halaga ayon sa pormula upang makuha ang natapos na halaga ng temperatura
  lcd.setCursor (2, 0); // ilagay ang cursor sa 2 haligi at 0 hilera
  lcd.print (temp2); // isulat ang distansya
  lcd.setCursor (5,0); // ilagay ang cursor sa 5th haligi at ika-0 na hilera
  lcd.print ("cm"); // sumulat ng cm
  pagkaantala (1000); // pagkaantala ng 1 segundo
}


Sumulat ng mga komento at katanungan, sasagutin ko ang lahat!
10
10
10

Magdagdag ng isang puna

    • ngitinakangitixaxaok langhindi alamyahoonea
      bosskumamottangaoooo-ooagresibolihim
      sorrysayawsayaw2sayaw3kapatawarantumulonginumin
      humintomga kaibiganmabutigoodgoodsipolswoondila
      usokpumapalakpakkrayolaipahayagnakakainisdon-t_mentionpag-download
      initnakakainistumawa1mdapagpupulongnakikipag-usapnegatibo
      hindi_ipopcornparusahanbasahintakottakotpaghahanap
      panunuyasalamat_youitoto_clueumniktalamaksumang-ayon
      masamabeeeblack_eyeblum3namulamagyabanginip
      censoredkaaya-ayalihim2nagbabantatagumpayyusun_bespectacled
      shokrespektlolnagustuhanmaligayang pagdatingkrutoyya_za
      ya_dobryikatulongne_huliganne_othodimapusokpagbabawalmalapit
13 komento
Panauhang Alexander
Saan nagmula ang formula na ito:
temp2 = (temp / 1023.0) * 5.0 * 1000/10
Maaari mo bang sabihin sa akin nang mas detalyado, kung saan nagmula ang mga halagang ito?
Gusto ko ring magdagdag ng point 4. Huwag gumamit para sa mga sukat, para lamang sa mga aparato sa automation!
Naiintindihan ko (paghuhusga ng mga nasa itaas na mga parameter) na ang mga tagubilin para sa hitsura nito ay tulad nito:
1. Kunin ang HC-SR04 sa iyong kaliwang kamay, at ang Atoruchka, o marker, sa iyong kanan.
2. Tantyahin ang distansya sa pamamagitan ng mata at isulat ito.
3. Ibalik sa kahon ang HC-SR04.
ok lang
Quote: "Mga tampok ng ultrasonic rangefinder HC-SR04
Saklaw ng pagsukat: mula sa 2 cm hanggang 400 cm.
Katumpakan ng pagsukat: ± 1 cm (sa maximum na saklaw ± 3 cm).

Tanong: Paano "mabigat" ang pagwawasto ng temperatura sa kabuuang error?
Naniniwala ako na ang produktong homemade ay hindi ipinatupad, walang larawan ng tapos na aparato at operasyon nito.
Itinuturing ko ang produktong homemade na ito bilang "childish", ngunit ang artikulo ay hindi nagpapakita o ngumunguya kung paano ikonekta ang pagpapakita. Para sa mga nagsisimula, ang aming mga site ay hindi maliwanag, ngunit ang mga nakaranas ay hindi nangangailangan nito. Chew at ipakita ang lahat ng gawa sa bahay.
Quote: Anton Martyanov
Sa katunayan, naiiba sila hindi lamang sa inskripsyon kundi pati na rin sa kawastuhan!

Ayon sa dokumentasyon o nakita mo ba ito?
Ang may-akda
Sa katunayan, naiiba sila hindi lamang sa inskripsyon kundi pati na rin sa kawastuhan!
Ngunit hindi ba ito sapat ??? boss Halimbawa, hindi ko rin gusto kapag ang mga markings ay nakasulat sa ibaba kalahating metro !!! nakangiti hindi alam
At bakit masama pa rin ito, maliban sa taas ng pagmamarka?
Ang may-akda
Ang hindi maganda ay ang inskripsiyon na HC-SR04 0.5 cm mas mababa
Napaka tumpak
At ano ang kawastuhan? Ano ang ginamit bilang isang sanggunian? Ano ang error sa temperatura?
Tandaan na ang HC-SR04 ay dumating sa dalawang anyo -
Mayroon akong isang mahusay
At alin sa palagay mo ang masama?
Sasabihin ko sa iyo mula sa aking sariling karanasan na ang isang ultrasonic rangefinder, tulad ng "contactless roulette" ay isang pagwawasto !!!
Ang isa ay nakahiga sa paligid ng hindi kinakailangan ...
At hindi dahil sa hindi sapat na katumpakan, ngunit dahil maaari lamang nilang masukat ang distansya sa isang sapat na malaking pader ng solidong materyal ... Ngunit sa likod na dingding ng isang angkop na lugar sa pader na ito - walang paraan !!! At hindi rin ito gagana kung ang pader na ito ay puno ng mga kasangkapan at iba pang mga bagay, at may maliit na "window" na walang kalat ...
Muli, subukang sukatin ang distansya sa isang peg na hinimok sa lupa !!!

At sa greenhouse?)))
At sa dingding na natatakpan ng tela?)))
At sa harapan, naka-paste na sa mga slab ng lana ng mineral, ngunit wala pa rin ang pangwakas na patong?))))
At bago ang bawat isa sa sampung mga rafters ay nakaayos sa isang hilera?
At mula sa pader hanggang sa dulo ng board na ipinako sa kisame upang putulin ang kinakailangang haba at isara ang "hole" na ito ???

Wala sa itaas ang gagana para sa iyo !!!

At kung ano ang susukat sa ito sa panahon ng pagkumpuni, o sa isang site ng konstruksiyon, halimbawa ??? Tanging ang laki at lugar ng lugar, habang wala sa mga kasangkapan sa bahay ???

Sa madaling sabi, inihagis ko ito sa istante ilang taon na ang nakalilipas, at, naalala ang kawikaan tungkol sa "mabangis, na nagbabayad ng dalawang beses", napagpasyahan kong kailangan kong bumili ng laser ....

Pinapayuhan ka naming basahin:

Ipasa ito para sa smartphone ...