HC-SR04: sve o ultrazvučnom senzoru

HC-SR04 senzor

Ponekad je to potrebno Izmjerite udaljenosti a za to imate na raspolaganju nekoliko senzora. Već smo posvetili članak da razgovaramo o a senzor udaljenosti visoke preciznosti kao što je VL52L0X. Ovaj senzor je bio ToF tipa i zasnovan je na vrlo preciznim mjerenjima zahvaljujući svom laseru. Ali ako vam preciznost nije toliko važna i želite nešto što vam omogućuje mjerenje udaljenosti po niskoj cijeni, druga mogućnost je da koji vam je nadohvat ruke HC-SR04.

U slučaju HC-SR04 senzor udaljenosti, udaljenost se mjeri ultrazvukom. Sistem je sličan optičkoj metodi VL52L0X. Odnosno, emitira se, dolazi do odbijanja i prima se, ali u ovom slučaju to je ultrazvuk, umjesto da je laser ili IR. Ako ste zaljubljenik u elektroniku, robotiku ili amaterski proizvođač, možete ga koristiti za mnoštvo samostalnih projekata, poput sistema za otkrivanje prepreka za robote, senzora prisutnosti itd.

Šta je HC-SR04?

Pa, očito je, kao što sam već komentirao u prethodnim paragrafima, HC-SR04 je senzor udaljenosti male preciznosti zasnovan na ultrazvuku. Pomoću nje omogućuje vam lako i brzo mjerenje udaljenosti, iako se u principu obično ne koristi za to. Najčešće se koristi kao pretvarač za otkrivanje prepreka i njihovo izbjegavanje putem drugih mehanizama povezanih s odzivom senzora.

Izgled HC-SR04 je vrlo prepoznatljiv i lako prepoznatljiv. Uz to, vrlo je popularan predmet u Arduino početnim paketima i neophodan za mnoštvo projekata. Lako se prepoznaje jer ima dva "oka" koja su zapravo ultrazvučni uređaji koje ovaj modul integrira. Jedan od njih je ultrazvučni emiter, a drugi prijemnik. Radi na frekvenciji od 40 Khz, stoga je za ljude nečujan.

Principi ultrazvučnog senzora

Princip u kojem Zasnovan je na simulaciji one koja se koristi kada bacite kamen u bunar kako biste izmerili njegovu dubinu. Bacite kamen i vrijeme koliko mu treba da padne na dno. Zatim izračunate brzinu za proteklo vrijeme i dobijete udaljenost koju je kamen prešao. Ali u tom slučaju ste senzor vi.

ESP8266
Vezani članak:
ESP8266: WIFI modul za Arduino

U HC-SR04, emiter će emitirati ultrazvuk i kada se odbiju od predmeta ili prepreke na način kako će ih prihvatnik prihvatiti. The krug će izvršiti potrebne proračune tog odjeka za određivanje udaljenosti. Ovo vam može biti poznato i ako poznajete sistem koji neke životinje poput dupina, kitova ili šišmiša koriste za lociranje prepreka, plijena itd.

Brojeći vrijeme od slanja impulsa do primanja odgovora, vrijeme i stoga udaljenost mogu se odrediti s preciznošću. Zapamtite da [Prostor = vrijeme brzine] ali u slučaju HC-SR04, ovu količinu morate podijeliti sa / 2, jer se mjeri vrijeme od trenutka kada ultrazvuk izađe i putuje kroz svemir dok ne pogodi prepreku i put natrag, pa će biti približno pola ovog ...

Pinout i listovi s podacima

Već znate da je najbolje vidjeti kompletne podatke modela koji ste stekli pronađite tablicu podataka beton proizvođača. Na primjer, ovdje je a Sparkfun tablica podataka, ali postoji mnogo više dostupnih u PDF-u. Međutim, evo najvažnijih tehničkih podataka HC-SR04:

  • Pinout: 4 pina za napajanje (Vcc), okidač (okidač), prijemnik (Echo) i masu (GND). Okidač pokazuje kada senzor treba aktivirati (kada se pokrene ultrazvuk), pa na taj način možete znati vrijeme proteklo kad prijemnik primi signal.
  • Hrana: 5 V
  • Frekvencija ultrazvuka: 40 Khz, ljudsko uho može čuti samo od 20Hz do 20Khz. Sve ispod 20Hz (infrazvuk) i iznad 20Khz (ultrazvuk) neće biti osjetljivo.
  • Potrošnja (stanje pripravnosti): <2mA
  • Potrošnja radi: 15 mA
  • Efektivni ugao: <15º, ovisno o uglovima predmeta, možda ćete dobiti bolje ili lošije rezultate.
  • Izmjerena udaljenost: od 2 cm do 400 cm, iako rezolucija od 250 cm neće biti dobra.
  • Srednja rezolucija: Varijacija između stvarne udaljenosti i mjerenja od 0.3 cm, pa iako su mjerenja vrlo precizna poput lasera, mjerenja su sasvim prihvatljiva za većinu aplikacija.
  • Cijena: od oko 0,65 €

Integracija s Arduinom

HC-SR04 sa Arduinom

para povezivanje s Arduinom ne može biti lakše. Jednostavno morate biti zaduženi za povezivanje GND-a na odgovarajući izlaz vašeg Arduina označenog kao takvog, Vcc sa Arduino 5v napajanjem i druga dva pina HC-SR04 sa ulazima / izlazima odabranim za vaš projekat. Možete vidjeti da je to jednostavno u gornjoj shemi Fritzinga ...

Morate imati na umu da tigar mora primiti električni impuls od najmanje 10 mikrosekundi da bi se pravilno aktivirao. Prethodno morate biti sigurni da je u NISKOJ vrijednosti.

Što se tiče kod za Arduino IDE, ne morate koristiti bilo koju biblioteku ili nešto slično s ostalim komponentama. Samo napravite formulu za izračunavanje udaljenosti i još malo toga ... Naravno, ako želite da vaš projekt učini nešto kao odgovor na mjerenje senzora HC-SR04, morat ćete dodati kôd koji vam treba. Na primjer, umjesto jednostavnog prikazivanja mjerenja na konzoli, možete natjerati servomotore da se kreću u jednom ili drugom smjeru na određene udaljenosti kako bi se izbjegla prepreka ili da se motor zaustavi, alarm koji se aktivira kada otkrije blizinu itd. .

 Više informacija o programiranju: Arduino priručnik (besplatni PDF)

Na primjer, ovo možete vidjeti osnovni kod koji će se koristiti kao 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, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Jose rekao je

    Objašnjenje mi se učinilo vrlo korisnim i jednostavnim.