سنسور ultrasonic با پایتون

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 30, 2020

در این بخش ، ما به شما نشان خواهیم داد که چگونه سنسور فاصله HC-SR04 را با Raspberry Pi سیم کشی کنید. سیم کشی سنسور شما یک فرآیند نسبتاً ساده است زیرا بیشتر پایه های سنسور فاصله مستقیماً روی یک پین روی Raspberry Pi قرار می گیرند.

تنها قسمت کمی پیچیده سیم کشی دستگاه به Raspberry Pi ، تقسیم ولتاژ است که برای پایه echo تنظیم کرده ایم.

دلیل افزودن تقسیم کننده ولتاژ کاهش ولتاژ رفتن به پایه های GPIO از 5 ولت به 3.3 ولت است. در این راهنما ، از یک مقاومت 1k Ω و یک مقاومت 2k Ω برای دستیابی به این هدف استفاده خواهیم کرد. اگر می خواهید بدانید که چگونه مقادیر تقسیم ولتاژ را محاسبه می کنیم ، می توانید راهنمای ارائه شده در انتهای این کتاب را بررسی کنید.

تصویری نمونه از سنسور تشخیص فاصله

شماتیک اتصالات سنسور تشخیص فاصله

قطعه کد نمونه اندازه گیری فاصله

#Libraries
import RPi.GPIO as GPIO
import time
 
#GPIO Mode (BOARD / BCM)
GPIO.setmode(GPIO.BCM)
 
#set GPIO Pins
GPIO_TRIGGER = 23
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
 
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()

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
0دیدگاه