ساخت فاصله‌سنج رسپبری‌پای با سنسور تشخیص فاصله آلتراسونیک HC-SR04

سه شنبه, 12 دی 1396 22:16
این مورد را ارزیابی کنید
(4 رای‌ها)

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

در آموزش "راه‌اندازی ماژول فاصله‌سنج آلتراسونیک توسط آردوینو" روابط مربوط به سنسور آلتراسونیک و راه‌اندازی آن با برد آردوینو به‌طور کامل آورده شده است. درواقع در این آموزش راه‌اندازی ماژول آلتراسونیک، راه‌اندازی LCD کارکتری 2 در 16 و فاصله‌سنجی با دقت بالا و در نظر گرفتن عنصر دمایی آورده شده است.

همچنین، ساخت یک فاصله‌سنج توسط آردوینو، سنسور تشخیص فاصله آلتراسونیک SR05, زنگ اخبار و چند ال ای دی را هم می‌توانید در آموزش " ساخت فاصله‌سنج آردوینو با زنگ اخبار و ال ای دی" مطالعه کنید.

قطعات موردنیاز

سنسور تشخیص فاصله آلتراسونیک HC-SR04

1 عدد
برد رسپبری‌پای 2 1 عدد
مقاومت 470 اهم 1 عدد
مقاومت 330 اهم 1 عدد

 

شماتیک مداری

چهار عدد پین روی سنسور تشخیص فاصله آلتراسونیک HC-SR04 وجود دارد که به برد رسپبری‌پای متصل می‌شود:

  • VCC به پین شماره 2 (5 ولت) رسپبری‌پای
  • GND به پین شماره 6 (GND) رسپبری‌پای
  • TRIG به پین شماره 18 (GPIO 18) رسپبری‌پای
  • پایه ECHO سنسور را توسط مقاومت 330 اهم به پین شماره 24 (GPIO 24) وصل کنید و توسط مقاومت 470 اهم هم به پین شماره 6 (GND) وصل نمایید.

دلیل این اتصال این است که پایه‌های GPIO فقط ولتاژ 3.3 ولت را تحمل می‌کند. علت اتصال پایه GPIO24 با استفاده از مقاومت به GND هم این است که سیگنال ارسالی به این پین مشخص و ثابت باشد. اگر هیچ پالسی از سوی سنسور ارسال نشود این پایه صفر یا GND است و در غیر این صورت این پایه یک است. اگر این پایه به GND وصل نباشد، زمانی که هیچ سیگنالی ارسال نشود مقدار این پایه نویزی و بین 0 و 1 متغیر است. شماتیک مداری این اتصالات در شکل زیر نمایش داده‌شده است:

ultraschall

برنامه‌نویسی برای کنترل سنسور

اول‌ازهمه، باید کتابخانه GPIO Python نصب شود.

برای استفاده از ماژول، یک اسکریپت جدید ایجاد می‌کنیم:

sudo nano ultrasonic_distance.py

که شامل متن زیر می‌باشد:

#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()

سپس، دستور زیر را اجرا می‌کنیم:

sudo python ultrasonic_distance.py

بنابراین، با این برنامه هر ثانیه فاصله اندازه‌گیری می‌شود تا زمانی که کاربر Ctrl+C را بزند و برنامه را متوقف کند. از این برنامه در بسیاری از پروژه‌های کاربردی متفاوت می‌توانید استفاده کنید.

 

 

تصاویر و فیلم‌های اجرای این پروژه را با ما به اشتراک بگذارید و پاسخ گوی سؤالات و پیشنهاد‌های شما عزیزان خواهیم بود.

 


ترجمه شده توسط تيم الکترونيک صنعت بازار | منبع: سايت raspberrypi.com

خواندن 3107 دفعه
پشتیبانی

عباس بطالبلو دانش‌آموخته کارشناس ارشد رشته مهندسی مکاترونیک از دانشگاه صنعتی خواجه نصیرالدین طوسی و عضو گروه رباتیک جراح آزمایشگاه ارس (ARAS) هستند. موضوع پایان نامه کارشناسی ارشد ایشان در زمینه ی «طراحی و پیاده سازی ربات ۲RT برای جراحی از دور چشم» بوده است. ایشان سابقه پیاده سازی و ساخت ربات هایی چون ربات موازی جراحی چشم، ربات سری SCARA، ربات Palletizer و … را دارند.

کاربرانی که در این گفتگو شرکت کرده اند

نظرات (1)

  1. 4545

[/gist][/gist][/gist][/gist][/gist][/gist]

 
هیچ نظری در اینجا وجود ندارد

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید

محتوای آموزشی استفاده شده در این سایت محافظت شده می باشد و هرگونه کپی برداری از محتواهای تولید شده توسط تیم صنعت بازار موجب پیگرد خواهد بود. استفاده از مطالب صنعت بازار تنها با ذکر منبع به صورت لینک فعال بلامانع است

ما را دنبال کنید:

Copyright © 2017-2018 | Sanatbazar.com