- Brugte komponenter
- Ultralydssensormodul
- Ultralydssensor Arduino kredsløbsdiagram og forklaring
- Arduino Ultralydssensorkode til afstandsmåling
Ultralydssensorer er gode værktøjer til at måle afstand og registrere objekter uden nogen egentlig kontakt med den fysiske verden. Det bruges i flere applikationer, som til måling af væskeniveau, kontrol af nærhed og endnu mere populært i biler for at hjælpe med selvparkering eller antikollisionssystemer. Tidligere har vi også opbygget mange ultralydssensorprojekter som vandstandsdetektering, ultralydsradar osv. Dette er en effektiv måde at måle små afstande præcist på. I dette projekt har vi brugt HC-SR04 ultralydssensor med Arduino for at bestemme afstanden til en forhindring fra sensoren. Det grundlæggende princip for ultralydsmåling er baseret på ECHO. Når lydbølger transmitteres i miljøet, vender bølger tilbage til oprindelsen som ECHO efter at have ramt hindringen. Så vi behøver kun at beregne rejsetiden for begge lyde betyder udgående tid og tilbagevenden til oprindelsen efter at have ramt forhindringen. Da lydhastigheden er kendt for os, kan vi beregne afstanden efter nogle beregninger. Vi skal bruge den samme teknik til dette Arduino-afstandsmåleprojekt, så lad os komme i gang.
Brugte komponenter
- Arduino Uno eller Pro Mini
- Ultralydssensormodul
- 16x2 LCD
- vægt
- Brødbræt
- 9 volt batteri
- Tilslutning af ledninger
Ultralydssensormodul
Der er mange typer Arduino-afstandssensorer, men i dette projekt har vi brugt HC-SR04 til at måle afstand i området fra 2 cm til 400 cm med en nøjagtighed på 3 mm. Sensormodulet består af en ultralydssender, modtager og kontrolkredsløb. Arbejdsprincippet for ultralydssensor er som følger:
- Højt niveau signal sendes til 10us ved hjælp af Trigger.
- Modulet sender otte 40 KHz signaler automatisk og registrerer derefter, om der modtages puls eller ej.
- Hvis signalet modtages, er det gennem et højt niveau. Tiden med høj varighed er tidsforskellen mellem afsendelse og modtagelse af signalet.
Afstand = (tid x lydhastighed i luft (340 m / s)) / 2
Tidsplan
Modulet arbejder på det naturlige fænomen ECHO for lyd. Der sendes en puls i ca. 10us for at udløse modulet. Herefter sender modulet automatisk 8 cyklusser med 40 KHz ultralydssignal og kontrollerer dets ekko. Signalet efter at have ramt med en forhindring vender tilbage og fanges af modtageren. Således beregnes afstanden fra forhindringen fra sensoren simpelthen ved hjælp af formlen angivet som
Afstand = (tid x hastighed) / 2.
Her har vi delt produktet af hastighed og tid med 2, fordi tiden er den samlede tid, det tog at nå forhindringen og vende tilbage. Således er tiden til at nå forhindringer kun halvdelen af den samlede tid, det tager.
Ultralydssensor Arduino kredsløbsdiagram og forklaring
Kredsløbsdiagrammet til arduino og ultralydssensor er vist ovenfor for at måle afstanden. I kredsløbstilslutninger Ultralydssensormodulets “trigger” og “echo” ben er direkte forbundet til pin 18 (A4) og 19 (A5) i arduino. En 16x2 LCD er forbundet med arduino i 4-bit tilstand. Kontrolstift RS, RW og En er direkte forbundet til arduino pin 2, GND og 3. Og datapind D4-D7 er forbundet til 4, 5, 6 og 7 i arduino.
Først og fremmest skal vi udløse ultralydssensormodulet til at sende signal ved hjælp af arduino og derefter vente på modtagelse af ECHO. Arduino læser tiden mellem udløsende og modtaget ECHO. Vi ved, at lydhastigheden er omkring 340 m / s. så vi kan beregne afstand ved hjælp af den givne formel:
Afstand = (rejsetid / 2) * lydens hastighed
Hvor lydhastigheden er omkring 340m pr. Sekund.
En 16x2 LCD bruges til visning af afstand.
Find mere om arbejdet med afstandsmålingsprojekt i denne vejledning: Afstandsmåling ved hjælp af ultralydssensor og AVR Microcontroller.
Arduino Ultralydssensorkode til afstandsmåling
Den komplette kode til dette ultralydsmålingsprojekt findes nederst på denne side. I koden læser vi tiden ved hjælp af pulseIn (pin). Og udfør derefter beregninger og vist resultat på 16x2 LCD ved hjælp af passende funktioner.