HC-SR04: kõik ultrahelianduri kohta

HC-SR04 andur

Mõnikord on see vajalik Mõõtke vahemaid ja selleks on teie käsutuses mitu andurit. Oleme juba pühendanud artikli, et rääkida a suure täpsusega kaugusandur, näiteks VL52L0X. See andur oli ToF-tüüpi ja põhines tänu oma laserile väga täpsetel mõõtmistel. Kuid kui täpsus pole teie jaoks nii oluline ja soovite midagi, mis võimaldab teil mõõta vahemaid madala hinnaga, on see veel üks võimalus käeulatuses on HC-SR04.

Puhul HC-SR04 kauguseandur, kaugust mõõdetakse ultraheliga. Süsteem sarnaneb VL52L0X optilise meetodiga. See tähendab, et see eraldub, toimub põrge ja see võetakse vastu, kuid sel juhul on see laser või IR asemel ultraheli. Kui olete kirglik elektroonika, robootika või amatööride tootmise vastu, saate seda kasutada paljude isetegemisprojektide jaoks, näiteks takistuste tuvastamise süsteemid robotite jaoks, kohalolekuandurid jne

Mis on HC-SR04?

Noh, see on ilmne, nagu ma juba eelmistes lõikudes kommenteerisin, HC-SR04 on madala täpsusega kaugusandur, mis põhineb ultrahelil. Sellega võimaldab see hõlpsalt ja kiiresti mõõta vahemaid, kuigi põhimõtteliselt seda selleks tavaliselt ei kasutata. Enamasti kasutatakse seda andurina takistuste tuvastamiseks ja nende vältimiseks muude anduri reageerimisega seotud mehhanismide kaudu.

Välimus HC-SR04 on väga eristatav ja kergesti äratuntav. Lisaks on see Arduino stardikomplektides üsna populaarne toode ja vajalik paljude projektide jaoks. See on kergesti tuvastatav, kuna sellel on kaks "silma", mis on tegelikult ultraheliseadmed, mida see moodul integreerib. Üks neist on ultraheli kiirgaja ja teine ​​vastuvõtja. See töötab sagedusel 40 Khz, seetõttu pole see inimestele kuuldav.

Ultrahelianduri põhimõtted

Põhimõte, milles See põhineb selle simulatsioonil, mida kasutati, kui viskate kivi kaevu, et mõõta selle sügavust. Viskad kivi ja aja, kui kaua võtab aega selle põhja langemine. Seejärel arvutate kulunud aja kiiruse ja saate kivi läbitud vahemaa. Kuid sel juhul olete andur teie.

ESP8266
Seotud artikkel:
ESP8266: WIFI-moodul Arduinole

HC-SR04 kiirgab emitter ultraheli ja kui nad põrkuvad esemelt või takistuselt välja viisil, kuidas vastuvõtja neid tabab. The skeem teeb vajalikud arvutused selle kaja kauguse määramiseks. See võib teile ka tuttav olla, kui teate süsteemi, mida mõned loomad, näiteks delfiinid, vaalad või nahkhiired takistuste, saakloomade jms leidmiseks kasutavad.

Lugedes pulsi saatmisest kuni vastuse saabumiseni kuluvat aega, saab aega ja seega ka kaugust täpselt määrata. Mäleta seda [Ruum = kiiruse aeg] kuid HC-SR04 puhul peate selle koguse jagama / 2-ga, kuna aega on mõõdetud alates ultraheli väljumisest ja ruumi liikumisest kuni takistuseni ja tagasiteeni, nii et see on umbes pool sellest ...

Pinout ja andmelehed

Te juba teate, et omandatud mudeli täielike andmete nägemiseks on kõige parem leidke andmeleht tootja betoon. Näiteks siin on a Sparkfuni andmeleht, kuid PDF-is on palju muud saadaval. Siin on aga HC-SR04 kõige olulisemad tehnilised andmed:

  • pinout: 4 kontakti toite (Vcc), päästiku (päästik), vastuvõtja (kaja) ja maanduse (GND) jaoks. Päästik näitab, millal peaks andur aktiveeruma (kui ultraheli käivitatakse) ja seega on võimalik teada, kui palju aega kulub vastuvõtja signaali vastuvõtmisel.
  • toitmine: 5 V
  • Ultraheli sagedus: 40 Khz, inimese kõrv kuuleb ainult vahemikus 20Hz kuni 20Khz. Kõik alla 20Hz (infraheli) ja üle 20Khz (ultraheli) ei ole tajutav.
  • Tarbimine (ooterežiimis): <2mA
  • Tarbimine töötab: 15 mA
  • Efektiivne nurk: <15º, olenevalt objektide nurkadest võivad teil olla paremad või halvemad tulemused.
  • Mõõdetud kaugus: alates 2cm kuni 400cm, kuigi alates 250 cm pole eraldusvõime eriti hea.
  • Keskmine eraldusvõime: 0.3 cm variatsioon tegeliku kauguse ja mõõtmise vahel, nii et hoolimata sellest, et seda ei peeta eriti täpseks nagu laser, on mõõtmised enamiku rakenduste jaoks üsna vastuvõetavad.
  • hind: alates umbes 0,65 €

Integreerimine Arduinoga

HC-SR04 koos Arduinoga

et selle ühendamine Arduinoga ei saa olla lihtsam. Peate lihtsalt vastutama GND ühendamise eest sellisena märgitud Arduino vastava väljundiga, Vcc Arduino 5v toiteallikaga ja HC-SR04 ülejäänud kaks kontakti teie projekti jaoks valitud sisendite / väljunditega. Ülemises Fritzingi skeemis näete, et see on lihtne ...

Teil peab lihtsalt olema üks kaalutlus, et tiiger peab korralikult aktiveerumiseks saama vähemalt 10 mikrosekundilise elektrilise impulsi. Varem peate veenduma, et selle väärtus on LOW.

Mis puutub Arduino IDE kood, ei pea te teiste komponentidega kasutama ühtegi teeki ega muud sellist. Lihtsalt tehke valem, et arvutada vahemaa ja vähe muud ... Muidugi, kui soovite, et teie projekt teeks midagi vastusena HC-SR04 anduri mõõtmisele, peate lisama vajaliku koodi. Näiteks võite mõõtmete lihtsalt konsoolil kuvamise asemel panna servomootorid takistuse vältimiseks teatud vahemaade jaoks liikuma ühes või teises suunas või mootori seiskamiseks, aktiveerima häire, kui see tuvastab läheduse jne. .

 Lisateave programmeerimise kohta: Arduino käsiraamat (tasuta PDF)

Näiteks näete seda põhikood, mida baasina kasutada:

//Define las constantes para los pines donde hayas conectado el pin Echo y Trigger
const int EchoPin = 8;
const int TriggerPin = 9;
 
void setup() {
   Serial.begin(9600);
   pinMode(TriggerPin, OUTPUT);
   pinMode(EchoPin, INPUT);
}

//Aquí la muestra de las mediciones
void loop() {
   int cm = ping(TriggerPin, EchoPin);
   Serial.print("Distancia medida: ");
   Serial.println(cm);
   delay(1000);
}

//Cálculo para la distancia
int ping(int TriggerPin, int EchoPin) {
   long duration, distanceCm;
   
   digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio ponemos a LOW 4us
   delayMicroseconds(4);
   digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 10us
   delayMicroseconds(10);
   digitalWrite(TriggerPin, LOW);
   
   duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microsegundos
   
   distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
   return distanceCm;
}


Kommentaar, jätke oma

Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

      Jose DIJO

    Leidsin, et seletus on väga kasulik ja lihtne.