HC-SR04: sve o ultrazvučnom senzoru

HC-SR04 senzor

Ponekad je potrebno Izmjerite udaljenosti a za to imate na raspolaganju nekoliko senzora. Već smo posvetili članak za razgovor o a visoko precizni senzor udaljenosti kao što je VL52L0X. Ovaj je senzor bio tipa ToF 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 koja koji vam je na dohvat ruke HC-SR04.

U slučaju HC-SR04 senzor udaljenosti, udaljenost se mjeri ultrazvukom. Sustav je sličan optičkoj metodi VL52L0X. Odnosno, emitira se, dolazi do odbijanja i prima se, ali u ovom je slučaju umjesto lasera ili IR to ultrazvuk. Ako ste zaljubljenik u elektroniku, robotiku ili amaterski proizvođač, možete ga koristiti za brojne DIY projekte kao što su sustavi za otkrivanje prepreka za robote, senzori prisutnosti itd.

Što je HC-SR04?

Pa, očito je, kao što sam već komentirao u prethodnim odlomcima, HC-SR04 je nisko precizni senzor udaljenosti 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.

Pojava HC-SR04 vrlo je prepoznatljiv i lako prepoznatljiv. Uz to, vrlo je popularan predmet u Arduino početnim paketima i neophodan za mnoštvo projekata. Lako ga je prepoznati 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. Djeluje na frekvenciji od 40 Khz, stoga je za ljude nečujan.

Načela ultrazvučnog senzora

Načelo u kojem Temelji se na simulaciji one koja se koristi kada bacite kamen u bunar kako biste izmjerili njegovu dubinu. Bacate kamen i vrijeme koliko 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 senzor ste vi.

ESP8266
Povezani č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 sklop će napraviti potrebne proračune tog odjeka za određivanje udaljenosti. To vam također može biti poznato ako poznajete sustav 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. Zapamti to [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 udari u prepreku i put natrag, pa će biti približno pola ovoga ...

Pinout i listovi s podacima

Već znate da je najbolje vidjeti cjelovite podatke o modelu koji ste stekli pronađite tablicu podataka beton proizvođača. Na primjer, ovdje je Tehnički list Sparkfuna, ali postoji mnogo više dostupnih u PDF-u. Međutim, ovdje su najvažniji tehnički podaci 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.
  • hranjenje: 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 djeluje: 15 mA
  • Efektivni kut: <15º, ovisno o kutovima predmeta, možda ćete dobiti bolje ili lošije rezultate.
  • Izmjerena udaljenost: od 2 cm do 400 cm, iako od 250 cm rezolucija neće biti baš 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 primjena.
  • cijena: od oko 0,65 €

Integracija s Arduinom

HC-SR04 s Arduinom

u povezivanje s Arduinom ne može biti jednostavnije. Jednostavno morate biti zaduženi za povezivanje GND-a na odgovarajući izlaz vašeg Arduina označenog kao takvog, Vcc s Arduino 5v napajanjem i druga dva pina HC-SR04 s ulazima / izlazima odabranim za vaš projekt. 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. Prije toga morate biti sigurni da je u NISKOJ vrijednosti.

Kao kod za Arduino IDE, ne morate koristiti bilo koju knjižnicu ili nešto slično s ostalim komponentama. Samo izradite 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. Primjerice, 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 baza:

//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 svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Jose dijo

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