Hoe Om HC-SR04 Ultrasoniese Afstandmeter Aan Arduino Te Koppel

INHOUDSOPGAWE:

Hoe Om HC-SR04 Ultrasoniese Afstandmeter Aan Arduino Te Koppel
Hoe Om HC-SR04 Ultrasoniese Afstandmeter Aan Arduino Te Koppel

Video: Hoe Om HC-SR04 Ultrasoniese Afstandmeter Aan Arduino Te Koppel

Video: Hoe Om HC-SR04 Ultrasoniese Afstandmeter Aan Arduino Te Koppel
Video: Tutorial on Ultrasonic sensor HC-SR04 - Connections, interfacing & coding with Arduino 2024, Mei
Anonim

In hierdie artikel sal ons die ultrasoniese afstandmeter-sonar HC-SR04 met die Arduino verbind.

Ultrasoniese sensor HC-SR04
Ultrasoniese sensor HC-SR04

Nodig

  • - Arduino;
  • - ultrasoniese sensor HC-SR04;
  • - verbindingsdrade.

Instruksies

Stap 1

Die werking van die HC-SR04 ultrasoniese afstandmeter is gebaseer op die beginsel van eggolokasie. Dit gee klankimpulse in die ruimte uit en ontvang 'n sein wat deur 'n hindernis weerkaats word. Die afstand na die voorwerp word bepaal deur die voortplantingstyd van die klankgolf na die hindernis en terug.

Die klankgolf word veroorsaak deur 'n positiewe pols van minstens 10 mikrosekondes op die TRIG-been van die afstandmeter toe te pas. Sodra die pols eindig, stuur die meetmeter 'n uitbarsting van klankimpulse met 'n frekwensie van 40 kHz in die ruimte daarvoor uit. Terselfdertyd word die algoritme vir die bepaling van die vertragingstyd van die gereflekteerde sein van stapel gestuur en verskyn 'n logiese eenheid op die ECHO-been van die afstandmeter. Sodra die sensor die gereflekteerde sein bespeur, verskyn 'n logiese nul op die ECHO-pen. Die tydsduur van hierdie sein ("Echo vertraging" in die figuur) bepaal die afstand na die voorwerp.

Afstand meetbereik van HC-SR04 afstandmeter - tot 4 meter met 'n resolusie van 0,3 cm. Waarnemingshoek - 30 grade, effektiewe hoek - 15 grade. Die huidige verbruik in standby-modus is 2 mA, gedurende werking - 15 mA.

Die werking van die ultrasoniese afstandmeter HC-SR04
Die werking van die ultrasoniese afstandmeter HC-SR04

Stap 2

Die kragvoorsiening van die ultrasoniese afstandmeter word met 'n spanning van +5 V. gedoen. Die ander twee penne is gekoppel aan enige digitale poorte van die Arduino, ons sal aan 11 en 12 koppel.

Verbind HC-SR04 Ultrasoniese afstandsmeter met Arduino
Verbind HC-SR04 Ultrasoniese afstandsmeter met Arduino

Stap 3

Laat ons nou 'n skets skryf wat die afstand na die hindernis bepaal en dit na die seriële poort uitvoer. Eerstens stel ons die getalle van die TRIG- en ECHO-penne in - dit is penne 12 en 11. Dan verklaar ons die sneller as uitset en eggo as inset. Ons initialiseer die seriële poort teen 9600 baud. By elke herhaling van die lus () lees ons die afstand en stuur dit na die poort.

Die funksie getEchoTiming () genereer 'n snellerpuls. Dit skep net 'n stroom van 10 mikrosekondes pols, wat 'n sneller is vir die begin van straling deur die afstandmeter van 'n klankpakket in die ruimte. Dan onthou sy die tyd vanaf die begin van die oordrag van die klankgolf tot die aankoms van die eggo.

Die funksie getDistance () bereken die afstand na die voorwerp. Vanuit die skoolfisikakursus onthou ons dat die afstand gelyk is aan die snelheid vermenigvuldig met die tyd: S = V * t. Die klanksnelheid in die lug is 340 m / s, die tyd in mikrosekondes wat ons ken, is "duratuion". Om die tyd in sekondes te kry, deel u deur 1.000.000. Aangesien die geluid twee keer die afstand beweeg - na die voorwerp en terug - moet u die afstand in die helfte verdeel. Dit blyk dus dat die afstand tot die voorwerp S = 34000 cm / sek * duur / 1.000.000 sek / 2 = 1.7 cm / sek / 100, wat ons in die skets geskryf het. Die mikrobeheerder vermenigvuldig vinniger as deling, en daarom het ek "/ 100" vervang deur die ekwivalent "* 0, 01".

Skets vir werk met ultrasoniese sonar HC-SR04
Skets vir werk met ultrasoniese sonar HC-SR04

Stap 4

Daar is ook baie biblioteke geskryf om met 'n ultrasoniese afstandmeter te werk. Byvoorbeeld, hierdie een: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Die biblioteek is op 'n standaard manier geïnstalleer: laai af, pak uit na die biblioteekgids, wat in die gids met die Arduino IDE geleë is. Daarna kan die biblioteek gebruik word.

Nadat ons die biblioteek geïnstalleer het, skryf ons 'n nuwe skets. Die resultaat van sy werk is dieselfde - die seriële poortmonitor vertoon die afstand na die voorwerp in sentimeter. As u float dist_cm = ultrasonic. Ranging (INC); in die skets skryf, sal die afstand in duim vertoon word.

Ultrasoniese sonarskets met behulp van biblioteek
Ultrasoniese sonarskets met behulp van biblioteek

Stap 5

Daarom het ons die HC-SR04 ultrasoniese afstandmeter aan die Arduino gekoppel en data op twee verskillende maniere daaruit ontvang: 'n spesiale biblioteek gebruik en sonder.

Die voordeel van die gebruik van die biblioteek is dat die hoeveelheid kode aansienlik verminder word en dat die leesbaarheid van die program verbeter word; u hoef nie die ingewikkeldhede van die toestel te verdiep nie en u kan dit dadelik gebruik. Maar dit is ook die nadeel: u verstaan minder goed hoe die toestel werk en watter prosesse daarin plaasvind. Hoe dit ook al sy, die metode om te gebruik hang van u af.

Aanbeveel: