Paano Ikonekta Ang HC-SR04 Ultrasonic Rangefinder Sa Arduino

Talaan ng mga Nilalaman:

Paano Ikonekta Ang HC-SR04 Ultrasonic Rangefinder Sa Arduino
Paano Ikonekta Ang HC-SR04 Ultrasonic Rangefinder Sa Arduino

Video: Paano Ikonekta Ang HC-SR04 Ultrasonic Rangefinder Sa Arduino

Video: Paano Ikonekta Ang HC-SR04 Ultrasonic Rangefinder Sa Arduino
Video: ARDUINO NANO + Ultrasonic sensor HC-SR04 2024, Mayo
Anonim

Sa artikulong ito, ikonekta namin ang HC-SR04 ultrasonic rangefinder-sonar sa Arduino.

Ultrasonic sensor HC-SR04
Ultrasonic sensor HC-SR04

Kailangan

  • - Arduino;
  • - ultrasonic sensor HC-SR04;
  • - pagkonekta ng mga wire.

Panuto

Hakbang 1

Ang pagkilos ng HC-SR04 ultrasonic rangefinder ay batay sa prinsipyo ng echolocation. Nagpapalabas ito ng mga tunog na salpok sa kalawakan at tumatanggap ng isang senyas na nakalarawan mula sa isang balakid. Ang distansya sa bagay ay natutukoy ng oras ng pagpapalaganap ng alon ng tunog sa balakid at likod.

Ang tunog ng alon ay na-trigger sa pamamagitan ng paglalapat ng isang positibong pulso ng hindi bababa sa 10 microseconds sa TRIG binti ng rangefinder. Sa sandaling matapos ang pulso, ang rangefinder ay nagpapalabas ng isang pagsabog ng mga tunog na pulso na may dalas na 40 kHz sa puwang sa harap nito. Sa parehong oras, ang algorithm para sa pagtukoy ng oras ng pagkaantala ng nakalantad na signal ay inilunsad, at isang lohikal na yunit ay lilitaw sa ECHO leg ng rangefinder. Sa sandaling makita ng sensor ang nakalantad na signal, lilitaw ang isang zero na lohika sa ECHO pin. Ang tagal ng signal na ito ("Echo delay" sa figure) ay tumutukoy sa distansya sa object.

Saklaw ng pagsukat ng distansya ng HC-SR04 rangefinder - hanggang sa 4 na metro na may resolusyon na 0.3 cm Angulo ng pagmamasid - 30 degree, mabisang anggulo - 15 degree. Ang kasalukuyang pagkonsumo sa standby mode ay 2 mA, sa panahon ng pagpapatakbo - 15 mA.

Ang prinsipyo ng pagpapatakbo ng ultrasonic rangefinder HC-SR04
Ang prinsipyo ng pagpapatakbo ng ultrasonic rangefinder HC-SR04

Hakbang 2

Ang power supply ng ultrasonic rangefinder ay isinasagawa na may boltahe na +5 V. Ang iba pang dalawang mga pin ay konektado sa anumang mga digital port ng Arduino, kumokonekta kami sa 11 at 12.

Pagkonekta sa HC-SR04 Ultrasonic Rangefinder sa Arduino
Pagkonekta sa HC-SR04 Ultrasonic Rangefinder sa Arduino

Hakbang 3

Ngayon magsulat tayo ng isang sketch na tumutukoy sa distansya sa balakid at i-output ito sa serial port. Una, itinakda namin ang mga numero ng mga TRIG at ECHO pin - ito ang mga pin 12 at 11. Pagkatapos ay idedeklara namin ang gatilyo bilang isang output at echo bilang isang input. Pinasimulan namin ang serial port sa 9600 baud. Sa bawat pag-uulit ng loop (), binabasa namin ang distansya at i-output ito sa port.

Ang pagpapaandar na getEchoTiming () ay bumubuo ng isang trigger pulse. Lumilikha lamang ito ng kasalukuyang 10 microseconds pulse, na kung saan ay isang gatilyo para sa pagsisimula ng radiation ng rangefinder ng isang sound packet sa kalawakan. Pagkatapos ay naaalala niya ang oras mula sa simula ng pagpapadala ng sound wave hanggang sa pagdating ng echo.

Kinakalkula ng pagpapaandar ng getDistance () ang distansya sa object. Mula sa kurso sa pisika ng paaralan, naaalala namin na ang distansya ay katumbas ng bilis na pinarami ng oras: S = V * t. Ang bilis ng tunog sa hangin ay 340 m / s, ang oras sa mga microsecond na alam natin ay "duratuion". Upang makuha ang oras sa ilang segundo, hatiin ng 1,000,000. Dahil ang tunog ay naglalakbay ng dalawang beses ang distansya - sa object at pabalik - kailangan mong hatiin ang distansya sa kalahati. Kaya't lumalabas na ang distansya sa bagay na S = 34000 cm / sec * tagal / 1.000.000 sec / 2 = 1.7 cm / sec / 100, na isinulat namin sa sketch. Gumagawa ang microcontroller ng pagpaparami nang mas mabilis kaysa sa dibisyon, kaya pinalitan ko ang "/ 100" ng katumbas na "* 0, 01".

Pag-sketch para sa pagtatrabaho sa ultrasonic sonar HC-SR04
Pag-sketch para sa pagtatrabaho sa ultrasonic sonar HC-SR04

Hakbang 4

Gayundin, maraming mga aklatan ang naisulat upang gumana sa isang ultrasonic rangefinder. Halimbawa, ang isang ito: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Ang silid-aklatan ay naka-install sa isang karaniwang paraan: mag-download, i-unzip sa direktoryo ng mga aklatan, na matatagpuan sa folder na may Arduino IDE. Pagkatapos nito, maaaring magamit ang silid-aklatan.

Pag-install ng library, magsulat tayo ng isang bagong sketch. Ang resulta ng trabaho nito ay pareho - ipinapakita ng serial port monitor ang distansya sa bagay sa sentimetro. Kung sumulat ka ng float dist_cm = ultrasonic. Ranging (INC); sa sketch, pagkatapos ang distansya ay ipapakita sa pulgada.

Ultrasonic sonar sketch gamit ang library
Ultrasonic sonar sketch gamit ang library

Hakbang 5

Kaya, nakakonekta namin ang HC-SR04 ultrasonic rangefinder sa Arduino at nakatanggap ng data mula dito sa dalawang magkakaibang paraan: paggamit ng isang espesyal na silid-aklatan at wala.

Ang bentahe ng paggamit ng silid-aklatan ay ang halaga ng code ay makabuluhang nabawasan at ang pagiging madaling mabasa ng programa ay napabuti, hindi mo kailangang tuklasin ang mga intricacies ng aparato at maaari mo agad itong magamit. Ngunit ito rin ang kawalan: hindi mo gaanong naiintindihan kung paano gumagana ang aparato at kung anong mga proseso ang nagaganap dito. Sa anumang kaso, aling pamamaraan ang gagamitin nasa iyo.

Inirerekumendang: