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.
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
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; }
Leidsin, et seletus on väga kasulik ja lihtne.