سنسور ultrasonic با پایتون
در این بخش ، ما به شما نشان خواهیم داد که چگونه سنسور فاصله 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دیدگاه