Hoe De HC-SR04 Ultrasone Afstandsmeter Op Arduino Aan Te Sluiten?

Inhoudsopgave:

Hoe De HC-SR04 Ultrasone Afstandsmeter Op Arduino Aan Te Sluiten?
Hoe De HC-SR04 Ultrasone Afstandsmeter Op Arduino Aan Te Sluiten?

Video: Hoe De HC-SR04 Ultrasone Afstandsmeter Op Arduino Aan Te Sluiten?

Video: Hoe De HC-SR04 Ultrasone Afstandsmeter Op Arduino Aan Te Sluiten?
Video: Ultrasonic Sensor HC-SR04 and Arduino Tutorial 2024, December
Anonim

In dit artikel zullen we de HC-SR04 ultrasone afstandsmeter-sonar aansluiten op de Arduino.

Ultrasone sensor HC-SR04
Ultrasone sensor HC-SR04

Noodzakelijk

  • -Arduino;
  • - ultrasone sensor HC-SR04;
  • - aansluitdraden.

instructies:

Stap 1

De werking van de HC-SR04 ultrasone afstandsmeter is gebaseerd op het principe van echolocatie. Het zendt geluidsimpulsen de ruimte in en ontvangt een signaal dat wordt weerkaatst door een obstakel. De afstand tot het object wordt bepaald door de voortplantingstijd van de geluidsgolf naar het obstakel en terug.

De geluidsgolf wordt geactiveerd door een positieve puls van ten minste 10 microseconden toe te passen op het TRIG-been van de afstandsmeter. Zodra de puls eindigt, zendt de afstandsmeter een stoot geluidspulsen uit met een frequentie van 40 kHz in de ruimte ervoor. Tegelijkertijd wordt het algoritme voor het bepalen van de vertragingstijd van het gereflecteerde signaal gelanceerd en verschijnt een logische eenheid op het ECHO-been van de afstandsmeter. Zodra de sensor het gereflecteerde signaal detecteert, verschijnt er een logische nul op de ECHO-pin. De duur van dit signaal ("Echovertraging" in de figuur) bepaalt de afstand tot het object.

Afstandsmeetbereik van HC-SR04-afstandsmeter - tot 4 meter met een resolutie van 0,3 cm Observatiehoek - 30 graden, effectieve hoek - 15 graden. Stroomverbruik in stand-bymodus is 2 mA, tijdens bedrijf - 15 mA.

Het werkingsprincipe van de ultrasone afstandsmeter HC-SR04
Het werkingsprincipe van de ultrasone afstandsmeter HC-SR04

Stap 2

De voeding van de ultrasone afstandsmeter wordt uitgevoerd met een spanning van +5 V. De andere twee pinnen worden aangesloten op eventuele digitale poorten van de Arduino, we zullen aansluiten op 11 en 12.

HC-SR04 ultrasone afstandsmeter aansluiten op Arduino
HC-SR04 ultrasone afstandsmeter aansluiten op Arduino

Stap 3

Laten we nu een schets schrijven die de afstand tot het obstakel bepaalt en deze naar de seriële poort stuurt. Eerst stellen we de nummers van de TRIG- en ECHO-pinnen in - dit zijn pinnen 12 en 11. Vervolgens declareren we de trigger als output en echo als input. We initialiseren de seriële poort op 9600 baud. Bij elke herhaling van de lus (), lezen we de afstand en voeren deze uit naar de poort.

De functie getEchoTiming () genereert een triggerpuls. Het creëert gewoon een stroom van 10 microseconden puls, wat een trigger is voor het begin van straling door de afstandsmeter van een geluidspakket de ruimte in. Dan herinnert ze zich de tijd vanaf het begin van de transmissie van de geluidsgolf tot de aankomst van de echo.

De functie getDistance () berekent de afstand tot het object. Uit de cursus natuurkunde op school herinneren we ons dat de afstand gelijk is aan de snelheid vermenigvuldigd met de tijd: S = V * t. De snelheid van het geluid in de lucht is 340 m/s, de tijd in microseconden die we kennen is "duratuion". Om de tijd in seconden te krijgen, deel je door 1.000.000. Omdat het geluid twee keer de afstand aflegt - naar het object en terug - moet je de afstand in twee delen. Het blijkt dus dat de afstand tot het object S = 34000 cm / sec * duur / 1.000.000 sec / 2 = 1,7 cm / sec / 100, die we in de schets schreven. De microcontroller voert vermenigvuldigen sneller uit dan delen, dus heb ik "/100" vervangen door het equivalente "* 0, 01".

Schets voor het werken met ultrasone sonar HC-SR04
Schets voor het werken met ultrasone sonar HC-SR04

Stap 4

Er zijn ook veel bibliotheken geschreven om met een ultrasone afstandsmeter te werken. Bijvoorbeeld deze: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. De bibliotheek wordt op een standaard manier geïnstalleerd: downloaden, uitpakken naar de bibliothekenmap, die zich in de map met de Arduino IDE bevindt. Daarna kan de bibliotheek worden gebruikt.

Nadat we de bibliotheek hebben geïnstalleerd, gaan we een nieuwe schets schrijven. Het resultaat van zijn werk is hetzelfde: de seriële poortmonitor geeft de afstand tot het object in centimeters weer. Als u float dist_cm = ultrasonic. Ranging (INC) in de schets schrijft, wordt de afstand in inches weergegeven.

Ultrasone sonarschets met bibliotheek
Ultrasone sonarschets met bibliotheek

Stap 5

Dus hebben we de ultrasone afstandsmeter HC-SR04 op de Arduino aangesloten en er op twee verschillende manieren gegevens van ontvangen: met een speciale bibliotheek en zonder.

Het voordeel van het gebruik van de bibliotheek is dat de hoeveelheid code aanzienlijk wordt verminderd en de leesbaarheid van het programma wordt verbeterd, je niet in de fijne kneepjes van het apparaat hoeft te duiken en het direct kunt gebruiken. Maar dit is ook het nadeel: je begrijpt minder goed hoe het apparaat werkt en welke processen daarin plaatsvinden. Welke methode je gebruikt, is in ieder geval aan jou.

Aanbevolen: