HC-SR04: vse o ultrazvočnem senzorju

Senzor HC-SR04

Včasih je treba Izmerite razdalje in za to imate na voljo več senzorjev. Za pogovor o a. Smo že namenili članek visoko natančni senzor razdalje, kot je VL52L0X. Ta senzor je bil tipa ToF in je temeljil na zelo natančnih meritvah zahvaljujoč laserju. Če pa natančnost za vas ni tako pomembna in želite nekaj, kar vam omogoča merjenje razdalj po nizki ceni, obstaja še ena možnost, da na dosegu roke je HC-SR04.

V primeru HC-SR04 senzor razdalje, razdalja se meri z ultrazvokom. Sistem je podoben optični metodi VL52L0X. To pomeni, da se odda, odbije in sprejme, vendar je v tem primeru namesto laserja ali IR to ultrazvok. Če ste navdušeni nad elektroniko, robotiko ali ljubiteljskim izdelovalcem, jo ​​lahko uporabite za številne DIY projekte, kot so sistemi za odkrivanje ovir za robote, senzorji prisotnosti itd.

Kaj je HC-SR04?

No, očitno je, kot sem že komentiral v prejšnjih odstavkih, HC-SR04 je nizko natančen senzor razdalje, ki temelji na ultrazvoku. Z njim omogoča enostavno in hitro merjenje razdalj, čeprav se načeloma za to ne uporablja. Najpogosteje se uporablja kot pretvornik za odkrivanje ovir in njihovo izogibanje prek drugih mehanizmov, povezanih z odzivom senzorja.

Videz HC-SR04 je zelo prepoznaven in lahko prepoznaven. Poleg tega je zelo priljubljen izdelek v začetnih kompletih Arduino in je potreben za številne projekte. Preprosto ga je mogoče prepoznati, ker ima dve "očesi", ki sta pravzaprav ultrazvočni napravi, ki ju ta modul integrira. Eden od njih je ultrazvočni oddajnik, drugi pa sprejemnik. Deluje s frekvenco 40 Khz, zato je za ljudi neslišen.

Načela ultrazvočnega senzorja

Načelo, v katerem Temelji na simulaciji tistega, ki ga uporabimo, ko vržemo kamen v vodnjak, da izmerimo njegovo globino. Vržete kamen in čas, koliko časa traja, da pade na dno. Nato opravite izračune hitrosti za pretečeni čas in dobite razdaljo, ki jo je kamen prehodil. Toda v tem primeru ste senzor vi.

ESP8266
Povezani članek:
ESP8266: modul WIFI za Arduino

V HC-SR04 bo sevalnik oddajal ultrazvoke in ko se bodo odbijali od predmeta ali ovire, jih bo sprejemnik sprejemal. The vezje bo opravil potrebne izračune tega odmeva za določitev razdalje. To vam je morda znano tudi, če poznate sistem, ki ga nekatere živali, kot so delfini, kiti ali netopirji, uporabljajo za iskanje ovir, plena itd.

S štetjem časa od pošiljanja impulza do prejema odziva lahko natančno določimo čas in razdaljo. Zapomni si to [Prostor = čas hitrosti] v primeru HC-SR04 pa morate to količino razdeliti na / 2, saj je izmerjen čas, ko ultrazvok pride ven in potuje skozi vesolje, dokler ne zadene ovire in poti nazaj, tako da bo približno polovica tega ...

Izrezki in podatkovni listi

Že veste, da je najbolje videti popolne podatke o modelu, ki ste ga pridobili poiščite podatkovni list proizvajalčev beton. Na primer, tukaj je Podatkovni list Sparkfun, vendar je v PDF-ju na voljo še veliko več. Tu pa so najpomembnejši tehnični podatki HC-SR04:

  • Pinout: 4 nožice za napajanje (Vcc), sprožilec (sprožilec), sprejemnik (odmev) in ozemljitev (GND). Sprožilec označuje, kdaj je treba aktivirati senzor (ko se zažene ultrazvok), in tako bo mogoče vedeti čas, ki je pretekel, ko sprejemnik sprejme signal.
  • hranjenje: 5 v
  • Frekvenca ultrazvoka: 40 Khz, človeško uho lahko sliši samo od 20Hz do 20Khz. Vse pod 20Hz (infrazvok) in nad 20Khz (ultrazvok) ne bo zaznavno.
  • Poraba (v pripravljenosti): <2mA
  • Poraba deluje: 15 mA
  • Učinkovit kot: <15º, odvisno od kotov objektov boste morda imeli boljše ali slabše rezultate.
  • Izmerjena razdalja: od 2 cm do 400 cm, čeprav ločljivost od 250 cm ne bo zelo dobra.
  • Srednja ločljivost: 0.3 cm razlike med dejansko razdaljo in meritvijo, zato so meritve kljub temu, da niso zelo natančne kot laser, sprejemljive za večino aplikacij.
  • cena: od približno 0,65 €

Integracija z Arduinom

HC-SR04 z Arduinom

za povezava z Arduinom ne more biti enostavnejša. Preprosto morate biti odgovorni za priključitev GND na ustrezen izhod vašega Arduina, označenega kot takega, Vcc z dovodom Arduino 5v in druga dva zatiča HC-SR04 z vhodi / izhodi, izbranimi za vaš projekt. V zgornji shemi Fritzinga lahko vidite, da je preprosto ...

Eno samo morate upoštevati, da mora tiger sprejeti električni impulz vsaj 10 mikrosekund, da se pravilno aktivira. Prej se prepričajte, da je v LOW vrednosti.

Kar se tiče koda za Arduino IDE, vam ni treba uporabljati nobene knjižnice ali česa podobnega, tako kot z drugimi komponentami. Samo naredite formulo za izračun razdalje in še malo ... Seveda, če želite, da vaš projekt naredi nekaj kot odziv na merjenje senzorja HC-SR04, boste morali dodati kodo, ki jo potrebujete. Na primer, namesto da preprosto prikažete meritve na konzoli, lahko servomotorje premaknete v eno ali drugo smer za določeno razdaljo, da se izognete oviri, ali da se motor ustavi, sproži se alarm, ko zazna bližino itd. .

 Več informacij o programiranju: Arduino priročnik (brezplačen PDF)

To lahko na primer vidite osnovna koda za uporabo kot osnova:

//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;
}


Komentar, pusti svojega

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   jose je dejal

    Razlaga se mi je zdela zelo koristna in preprosta.