Cum Se Conectează Telemetrul Cu Ultrasunete HC-SR04 La Arduino

Cuprins:

Cum Se Conectează Telemetrul Cu Ultrasunete HC-SR04 La Arduino
Cum Se Conectează Telemetrul Cu Ultrasunete HC-SR04 La Arduino

Video: Cum Se Conectează Telemetrul Cu Ultrasunete HC-SR04 La Arduino

Video: Cum Se Conectează Telemetrul Cu Ultrasunete HC-SR04 La Arduino
Video: grafic distante masurate de senzor ultrasonic pe ecran OLED (3) 2024, Decembrie
Anonim

În acest articol, vom conecta telemetrul cu ultrasunete HC-SR04-sonar la Arduino.

Senzor cu ultrasunete HC-SR04
Senzor cu ultrasunete HC-SR04

Necesar

  • - Arduino;
  • - senzor cu ultrasunete HC-SR04;
  • - conectarea firelor.

Instrucțiuni

Pasul 1

Acțiunea telemetrului cu ultrasunete HC-SR04 se bazează pe principiul ecolocației. Emite impulsuri sonore în spațiu și primește un semnal reflectat de un obstacol. Distanța față de obiect este determinată de timpul de propagare al undei sonore către obstacol și înapoi.

Unda sonoră este declanșată prin aplicarea unui impuls pozitiv de cel puțin 10 microsecunde piciorului TRIG al telemetrului. De îndată ce pulsul se termină, telemetrul emite o explozie de impulsuri sonore cu o frecvență de 40 kHz în spațiul din fața acestuia. În același timp, algoritmul pentru determinarea timpului de întârziere a semnalului reflectat este lansat și o unitate logică apare pe piciorul ECHO al telemetrului. De îndată ce senzorul detectează semnalul reflectat, pe pinul ECHO apare un zero logic. Durata acestui semnal („Echo delay” din figură) determină distanța față de obiect.

Gama de măsurare a distanței telemetrului HC-SR04 - până la 4 metri cu o rezoluție de 0,3 cm. Unghi de observare - 30 grade, unghi efectiv - 15 grade. Consumul de curent în modul de așteptare este de 2 mA, în timpul funcționării - 15 mA.

Principiul de funcționare al telemetrului cu ultrasunete HC-SR04
Principiul de funcționare al telemetrului cu ultrasunete HC-SR04

Pasul 2

Alimentarea telemetrului cu ultrasunete se realizează cu o tensiune de +5 V. Ceilalți doi pini sunt conectați la orice porturi digitale ale Arduino, ne vom conecta la 11 și 12.

Conectarea telemetrului cu ultrasunete HC-SR04 la Arduino
Conectarea telemetrului cu ultrasunete HC-SR04 la Arduino

Pasul 3

Acum să scriem o schiță care determină distanța față de obstacol și o transmite către portul serial. Mai întâi, setăm numerele pinilor TRIG și ECHO - aceștia sunt pinii 12 și 11. Apoi declarăm declanșatorul ca o ieșire și ecoul ca o intrare. Inițializăm portul serial la 9600 baud. La fiecare repetare a buclei (), citim distanța și o trimitem la port.

Funcția getEchoTiming () generează un impuls de declanșare. Acesta creează doar un curent de impuls de 10 microsecunde, care este un declanșator pentru declanșarea radiației de către telemetrul unui pachet de sunet în spațiu. Apoi își amintește timpul de la începutul transmiterii undei sonore până la sosirea ecoului.

Funcția getDistance () calculează distanța față de obiect. Din cursul de fizică școlară, ne amintim că distanța este egală cu viteza înmulțită cu timpul: S = V * t. Viteza sunetului în aer este de 340 m / s, timpul în microsecunde pe care îl știm este „duratuion”. Pentru a obține timpul în secunde, împărțiți la 1.000.000. Deoarece sunetul parcurge de două ori distanța - până la obiect și înapoi - trebuie să împărțiți distanța în jumătate. Deci, se pare că distanța până la obiectul S = 34000 cm / sec * durată / 1.000.000 sec / 2 = 1.7 cm / sec / 100, pe care am scris-o în schiță. Microcontrolerul efectuează multiplicarea mai repede decât divizarea, așa că am înlocuit „/ 100” cu echivalentul „* 0, 01”.

Schiță pentru lucrul cu sonar cu ultrasunete HC-SR04
Schiță pentru lucrul cu sonar cu ultrasunete HC-SR04

Pasul 4

De asemenea, multe biblioteci au fost scrise pentru a funcționa cu un telemetru cu ultrasunete. De exemplu, acesta: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Biblioteca este instalată într-un mod standard: descărcați, dezarhivați directorul bibliotecilor, care se află în folderul cu ID-ul Arduino. După aceea, biblioteca poate fi utilizată.

După ce am instalat biblioteca, să scriem o nouă schiță. Rezultatul muncii sale este același - monitorul serial al portului afișează distanța până la obiect în centimetri. Dacă scrieți float dist_cm = ultrasonic. Ranging (INC); în schiță, atunci distanța va fi afișată în inci.

Schiță cu sonar cu ultrasunete folosind bibliotecă
Schiță cu sonar cu ultrasunete folosind bibliotecă

Pasul 5

Așadar, am conectat telemetrul cu ultrasunete HC-SR04 la Arduino și am primit date de la acesta în două moduri diferite: folosind o bibliotecă specială și fără.

Avantajul utilizării bibliotecii este că cantitatea de cod este redusă semnificativ și lizibilitatea programului este îmbunătățită, nu trebuie să vă adânciți în complexitatea dispozitivului și îl puteți folosi imediat. Dar acesta este și dezavantajul: înțelegeți mai puțin cum funcționează dispozitivul și ce procese au loc în el. În orice caz, ce metodă să folosiți depinde de dvs.

Recomandat: