Gå direkte til indhold

Ultrasonisk Sensor

Ultrasonisk sensor bruges til at måle afstand med ultralyd

Lab
ITT Lab
Programområde
Digital
Placering

EK Guldbergsgade
Bygning E, lokale A448

Adgang til komponenten

Komponenten er kun tilgængelig for studerende på IT-teknolog-uddannelsen.

Den ultrasoniske sensor kan anvendes til mange forskellige projekter. Den fungere ved at der er to forskellige moduler på fronten det ene sørger for at sende ultrasonisk lyd ud, når det så rammer en forhindring vil lyden reflekteres tilbage til det andet modul som opfanger den ultrasoniske lyd, herved kan den udregne afstanden via. den tid det har taget for det ultrasoniske signal at komme fra det udgående modul, til det bliver ramt af det indgående modul.

En ultrasonisk sensor kan anvendes på biler, som baksensor for at sørge for at man ikke rammer noget når man parkere bilen.

Tekniske specifikationer

Operativ Spænding 5 VDC
Operativ strømstyrke 15mA
Operativ frekvens 40Hz
Max. måleafstand 4m
Min. måleafstand 2cm
Målevinkel 15 grader
Trigger Input Signal 10uS TTL pulse
Echo Output Signal Input TTL lever signal and the range in proportion

Pinout

Nummer Navn Function
1 VCC Positiv forsyning (5V)
2 Trig Trigger
3 Echo Echo pin
4 GND Negativ forsyning

Hvordan fungerer den?

Working of Ultrasonic Sensors | How HCSR04 module works

HC-SR04 Ultrasonic Sensor in MicroPython

Kodeeksempel

#Libraries
import RPi.GPIO as GPIO
import time
#GPIO Mode (BOARD / BCM)
GPIO.setmode(GPIO.BCM)
#set GPIO Pins
GPIO_TRIGGER = 18
GPIO_ECHO = 24
#set GPIO direction (IN / OUT)
GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
GPIO.setup(GPIO_ECHO, GPIO.IN)
def distance():
   # set Trigger to HIGH
   GPIO.output(GPIO_TRIGGER, True)   # set Trigger after 0.01ms to LOW
   time.sleep(0.00001)
   GPIO.output(GPIO_TRIGGER, False)
   StartTime = time.time()
   StopTime = time.time()
   # save StartTime
   while GPIO.input(GPIO_ECHO) == 0:
   StartTime = time.time()
# save time of arrival
while GPIO.input(GPIO_ECHO) == 1:
StopTime = time.time()
   # time difference between start and arrival
   TimeElapsed = StopTime - StartTime
   # multiply with the sonic speed (34300 cm/s)
   # and divide by 2, because there and back
   distance = (TimeElapsed * 34300) / 2
   return distance
if __name__ == '__main__':
   try:
      while True:
         dist = distance()
         print ("Measured Distance = %.1f cm" % dist)
         time.sleep(1)   # Reset by pressing CTRL + C
except KeyboardInterrupt:
   print("Measurement stopped by User")
   GPIO.cleanup()