رباتیک و هوافضا

اندازه گیری فاصله با آردوینو و سنسور آلتراسونیک

اندازه گیری فاصله با آردوینو و سنسور آلتراسونیک

به نام خدا

پروژه اندازه گیری فاصله با آردوینو و سنسور آلتراسونیک

اندازه گیری فاصله با آردوینو و سنسور آلتراسونیک

 

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

قطعات مورد نیاز برای پروژه اندازه گیری فاصله با آردوینو و سنسور آلتراسونیک

آردوینو پرو مینی

ماژول آلتراسونیک

ال سی دی

برد بورد

باتری ۹ ولت

سیم برد بورد

 

ماژول التراسونیک:

سنسور آلتراسونیک HC-SR04 برای محاسبه ی فاصله ی  ۲ سانتی متر تا ۴۰۰ سانتی متر با دقت سه میلیمتر استفاده می شود که شامل یک فرستنده و یک گیرنده و مدار کنترل است.این سنسور موجی با فرکانس ۴۰ کیلوهرتز را ساطع می کند و با استفاده از فرمول زیر میتوان به راحتی فاصله را محاسبه کرد.

بیشتر بخوانید...  برنامه نویسی به زبان پایتون برای رزبری پای

Distance= (time x speed)/2

 

 

 

اندازه گیری فاصله با آردوینو و سنسور آلتراسونیک

 

 

 

اندازه گیری فاصله با آردوینو و سنسور آلتراسونیک

 

شماتیک مدار :

در زیر شماتیک مدار این پروژه را مشاهده می کنید. پین های trigger  و echo سنسور آلتراسونیک به طور مستقیم به پین های ۱۸ و ۱۹ آردوینو متصل است. ال سی دی نیز در مود ۴ بیت متصل است .

اندازه گیری فاصله با آردوینو و سنسور آلتراسونیک

دانلود کد پروژه:

دانلود فایل
#include <LiquidCrystal.h>
 
#define trigger 18
#define echo 19
 
LiquidCrystal lcd(2,3,4,5,6,7);
 
float time=0,distance=0;
 
void setup()
{
 lcd.begin(16,2);
 pinMode(trigger,OUTPUT);
 pinMode(echo,INPUT);
 lcd.print(" Ultra sonic");
 lcd.setCursor(0,1);
 lcd.print("Distance Meter");
 delay(2000);
 lcd.clear();
 lcd.print(" Circuit Digest");
 delay(2000);
}
 
void loop()
{
 lcd.clear();
 digitalWrite(trigger,LOW);
 delayMicroseconds(2);
 digitalWrite(trigger,HIGH);
 delayMicroseconds(10);
 digitalWrite(trigger,LOW);
 delayMicroseconds(2);
 time=pulseIn(echo,HIGH);
 distance=time*340/20000;
 lcd.clear();
 lcd.print("Distance:");
 lcd.print(distance);
 lcd.print("cm");
 lcd.setCursor(0,1);
 lcd.print("Distance:");
 lcd.print(distance/100);
 lcd.print("m");
 delay(1000);
}

 

دیدگاه‌ها (0)

*
*