Hvordan bruke ultralydsensor med Arduino

Hvordan bruke ultralydsensor med Arduino
Arduino er et mikrokontrollertavle brukt av ingeniører for å designe flere prosjekter. Arduino gjør det enkelt å samhandle med mikrokontrollere og designprodukter etter vårt valg. Arduino har muligheten til å grensesnitt mot flere sensormoduler. En av de mest populære sensorene som brukes med Arduino er ultralyddistansesensor. Det spiller en viktig rolle i å bygge Arduino -baserte robotprosjekter der vi kan utføre forskjellige instruksjoner basert på avstand målt av Arduino. La oss se hvordan vi kan bruke denne sensoren med Arduino.

Ultrasonic sensor med Arduino

HC-SR04 er en av de mest brukte ultralydsensorene med Arduino. Denne sensoren bestemmer hvor langt et objekt er. Den bruker ekkolodd for å bestemme objektavstand. Normalt har det et godt spekter av deteksjon med nøyaktighet på 3mm, men noen ganger er det vanskelig å måle avstand av myke materialer som klut. Den kommer med en innebygd sender og mottaker. Følgende tabell beskriver de tekniske spesifikasjonene til denne sensoren.

Kjennetegn Verdi
Driftsspenning 5V DC
Driftsstrøm 15MA
Driftsfrekvens 40kHz
Min rekkevidde 2 cm/ 1 tomme
Maks rekkevidde 400cm/ 13 fot
Nøyaktighet 3mm
Målingsvinkel <15 degree

Pinout

Ultrasonic sensor HC-SR04 har fire pinner:

  • VCC: Koble denne pinnen til Arduino 5V
  • GND: Koble denne pinnen med Arduino GND
  • Trig: Denne pinnen mottar kontrollerende signal fra Arduino Digital Pin
  • Ekko: Denne pinnen sender en puls eller signal tilbake til Arduino. Mottatt pulssignal måles for å beregne avstand.

Hvordan ultralyd fungerer

Når den ultrasoniske sensoren er koblet til Arduino, vil mikrokontrolleren generere en signalpuls på Trig Pin. Etter at sensorer har fått en inngang ved triginen, genereres en ultralydbølge automatisk. Denne utsendte bølgen vil treffe overflaten til en hindring eller gjenstand hvis avstand vi må måle. Etter det vil ultralydbølgen sprette tilbake til mottakerterminalen til sensoren.

Ultralydsensor vil oppdage den reflekterte bølgen og beregne den totale tiden som er tatt av bølge fra sensor til objekt og tilbake til sensor igjen. Ultralydsensor vil generere en signalpuls ved ekko -pinne som er koblet til Arduino digitale pinner når Arduino mottar signal fra Echo Pin Den beregner den totale avstanden mellom objekt og sensor ved bruk av Avstandsforme.

Hvordan koble Arduino med ultralydsensor

Arduino digitale pinner genererer et 10 mikrosekunder pulssignal som er gitt til ultralydsensorpinne 9 mens du skal motta innkommende signal fra ultralydsensor en annen digital pinne brukes. Sensor drives ved hjelp av en Arduino -bakke og 5V utgangspinne.

Ultralydsensorpinne Arduino Pin
VCC 5V utgangspinne
Trig Pin9
Ekko Pin8
GND GND

Trig- og ekkopinner kan kobles til noen av Arduino digitale pinner. Nedenfor gitt bilde representerer ledningsdiagrammet til Arduino med HC-SR04 Ultrasonic sensor.

Skjemaer

Hvordan programmere ultralydsensor ved bruk av Arduino

For å programmere en ultralydsensor koble den til en arduino ved hjelp av diagrammet ovenfor. Nå må vi generere et pulssignal ved triginnen til den ultrasoniske sensoren.

Generere en 10-mikrosekunder puls ved pinne 9 av Arduino ved hjelp av DigitalWrite () og DelayMicroseConds () funksjoner.

digitalwrite (9, høy);
forsinkelsesmikroseconds (10);
digitalwrite (9, lav);

For å måle utgangen fra sensoren ved pinne 8 bruk Pulsein () funksjon.

Varighet_microsec = pulsein (8, høy);

Når pulsen er mottatt fra ekkopinnen til sensoren til Arduino -pinnen nummer 8. Arduino vil beregne avstand ved hjelp av formelen ovenfor.

Distance_cm = 0.017 * varighet_microsec;

Kode

int triggerpin = 9; /* PIN 9 er satt for sensor Trig PIN*/
int ekkopin = 8; /* PIN 8 er satt for sensor ekko -pinneinngang*/
FLOAT DENCEDMICROSEC, DENCINEINCM;
void setup ()
Serie.Begynn (9600); /*Seriell kommunikasjon startet*/
/* Triggerpin er satt som utgang*/
pinmode (triggerpin, output);
/* Echo Pin 9 er satt som inngang*/
pinmode (echopin, input);

void loop ()
/* Generer 10-mikrosekundpuls for å trigge pinne*/
DigitalWrite (Triggerpin, High);
forsinkelsesmikroseconds (10);
digitalwrite (triggerpin, lav);
/* Mål varigheten av pulsen fra Echo Pin*/
varighetMicrosec = pulsein (Echopin, høy);
/* Beregn avstanden*/
DistanceInCM = 0.017 * varighetmicrosec;
/* Skriv ut verdien til seriell skjerm*/
Serie.print ("avstand:");
Serie.trykk (avstand); /*Utskriftsavstand i cm*/
Serie.println ("cm");
forsinkelse (1000);

I ovennevnte kodepinne er 9 satt som utløser mens pinne 8 er satt som utgangspinne for ultralydsensor. To variabler varighetmikrosec og avstand er initialisert. Bruke PinMode () Funksjonstift 9 er satt som inngang mens pinne 8 er satt som utgang.

I Løkke delen av koden ved hjelp av formelen som er forklart over avstanden, beregnes og utdataene er trykt på seriemonitor.

Maskinvare

Plasser objektet i nærheten av ultralydsensoren.

Produksjon

Omtrentlig avstand på 5.9cm vises av ultralydsensoren på seriemonitoren.

Flytt nå objektet bort fra ultralydsensor.

Produksjon

Omtrentlig avstand på 10.8cm vises av ultralydsensoren på seriemonitoren.

Konklusjon

Ultrasonic sensor er et flott verktøy for å måle avstand ved hjelp av kontaktløs drift. Den har enorm anvendelse i DIY -elektronikkprosjekter der vi trenger å jobbe med avstandsmåling, sjekke tilstedeværelse av et objekt og utjevning eller riktig plassering av noe utstyr. Denne artikkelen dekker alle parametere som er nødvendige for å betjene en ultralydsensor med Arduino.