پروژه الکترونیکپروژه های Processingپروژه های آردوینو

ساخت رادار ردیاب التراسونیک با آردوینو و اندروید Processing

سلام. ساخت رادار ردیاب التراسونیک با آردوینو و اندروید Processing را آماده کردیم.

پروژه ردیاب صوتی با سنسور التراسونیک و Arduino

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

امنیت از سالهای طولانی نگرانی اصلی ما بوده است. نصب دوربین امنیتی که حالت شب دارد هزینه زیادی دارد. بنابراین ما یک دستگاه میسازیم که با قیمت بسیار کم همین کار را انجام میدهد اما بدون هیچ ویدئویی. بخشی از این پروژه با Arduino برنامه نویسی میشود و بر خی با نرم افزار پردازش Processing.

این پروژه آردوینو با کمک سنسور التراسونیک اشیاء را حس می کند و از این رو می تواند حتی در شب کار کند. همچنین ما سنسور التراسونیک(Ultra Sonic) را روی یک موتور سروو سوار می کنیم، این سروو موتور می تواند تنظیم شود که بطور خودکار چرخش کند تا بتواند منطقه را اسکن کند یا می تواند به صورت دستی با استفاده از برنامه اندروید چرخانده شود تا بتوانیم حسگر اولتراسونیک را در منقطه مورد نظر متمرکز کنیم. تمام اطلاعات حسگر التراسونیک با استفاده از ماژول بلوتوث (HC-05) به تلفن هوشمند ما منتقل می شود. بنابراین این پروژه در نهایت چیزی شبیه یک رادار، ردیاب یا دستگاه سونار خواهد بود.

فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.

توضیحات مدار پروژه

تمام اجزای این پروژه نمیتوانند توسط برد Arduino تغذیه شوند زیرا سروو موتور، ماژول بلوتوث و سنسور التراسونیک جریان بالایی را مصرف میکنند. در صورت استفاده از آردوینو برای تامین جریان آن ها احتمالا برد آردوینو درست کار نخواهد کرد و ممکن است آسیب ببیند بنابراین توصیه میشود از منبع تغذیه خارجی 5 ولت استفاده کنید.

شماتیک مدار پروژه رادار صوتی با آردوینو در تصویر زیر دیده میشود:

شماتیک مدار پروژه رادار صوتی با آردوینو

پس از برقراری اتصالات، سنسور التراسونیک را بر روی سروو موتور خود مانند تصویر زیر نصب کنید.

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

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

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

  1. برد آردوینو مگا (می توانید از Pro mini یا Uno نیز استفاده کنید)
  2. سنسور التراسونیک HC-SR04
  3. ماژول بلوتوث HC-05
  4. سروو موتور
[irp posts=”7252″ name=”پروژه واقعیت مجازی با آردوینو و Processing (آموزش ساخت دستکش VR با Arduino)”]

توضیحات سنسور التراسونیک HC-SR04

ما باید یه اطلاعات کلی نسبت به سنسور التراسونیک داشته باشیم. ما میدانیم که ارتعاش صدا نمیتواند از طریق جامدات نفوذ کند. بنابراین وقتی یک منبع صدا باعث ایجاد ارتعاش شود ، آن ارتعاش از طریق هوا با سرعت 220 متر در هر ثانیه حرکت میکند. همانطور که گفتیم این ارتعاش ها نمیتوانند از طریق جامدات نفوذ کنند ، یعنی وقتی به یک سطح مثل دیوار برخورد کنند ، با همان سرعت برمیگردند به سمت سنسور ، این تکنیک اکو (ECHO) نامگذاری شده است.

پروژه التراسونیک آردوینو
پروژه التراسونیک آردوینو

سنسور التراسونیک HC-SR04 یک سیگنال خروجی متناسب با فاصله بر اساس اکو فراهم می کند. سنسور در اینجا یک لرزش صدا را در محدوده سنسور ایجاد می کند، و بعد از فرستادن یک ارتعاش ، برای بازگشت صدا منتظر می ماند.

نحوه کار سنسور التراسونیک HC-SR04

فرستنده یک موج التراسونیک را در فرکانس 40 هرتز ساطع می کند ، این موج از طریق هوا عبور می کند و هنگامی که یک جسم را حس می کند باز میگردد. امواج برگشتی توسط گیرنده مشاهده می شود. اکنون می دانیم زمان لازم برای بازتاب و بازگشت این موج گرفته شده است و سرعت موج التراسونیک 3400 سانتی متر در ثانیه است. با استفاده از این اطلاعات و فرمول زیر میتوان فاصله را حساب کرد [ فاصله = سرعت موج * زمان ]

کد آردوینو برای پروژه رادار صوتی

ما باید یک کد را در آردوینو بنویسیم تا بتوانیم فاصله بین یک شی و سنسور Ultrasonic را محاسبه کرده و آن را به برنامه موبایل Android ارسال کنیم. ما همچنین باید کد چرخش سروو موتور را بنویسیم که هم به طور خودکار بچرخد هم به صورت دستی توسط اپلیکیشن اندروید. این برنامه بسیار ساده است نگران نباشید. کد کامل در فایل دانلودی قرار داده شده است در اینجا بعضی از قسمت های مهم کد را توضیح میدهیم.

از عملکرد زیر برای چرخش موتور سروو به صورت اتوماتیک از چپ به راست (170 تا 10) و دوباره از راست به چپ (10 تا 170) استفاده می شود.عملکرد us() را برای محاسبه فاصله بین سنسور و جسم در داخل هر دو تابع فراخوانی می کنیم.

void servofun()
{
  Serial.println("Sweeping"); 
  for(posc = 10;posc <= 170;posc++) // چرخش از 10 به 170 درجه
  {                                
    servo.write(posc); // تعیین موقعیت سروو موتور
    delay(50);  
  us();    //محاسبه فاصله اجسام با سنسور التراسونیک
  } 
  
  for(posc = 170;posc >= 10;posc--)  // چرخش از 170 به 10 درجه
  {                                
    servo.write(posc);
    delay(50); 
    us();    //محاسبه فاصله اجسام با سنسور التراسونیک
  } 
  Serial.println ("Scan Complete"); 
  flag=0;
}

همانطور که قبلاً گفته شد سروو موتور از طریق تلفن هوشمند قابل کنترل است. شما به سادگی میتوانید آن را به سمت راست یا چپ بکشید. عملکرد زیر برای همین مسئله استفاده می شود.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید
void manualservo()
{  
us();

// دریافت مقدار درجه سروو از موبایل
   if (Blueboy.available())
{
BluetoothData=Blueboy.read();
Serial.println(BluetoothData);
  servo.write(BluetoothData);
  Serial.println("Written");
   if (BluetoothData == 'p')
   {
   flag=0;
   }
}
}

فاصله از جسم با عملکرد زیر محاسبه می شود. با یک فرمول ساده کار می کند (سرعت = فاصله / زمان) از آنجا که سرعت موج صوتی را میدانیم به آسانی میتوان فاصله را محاسبه کرد.

void us()
{
 int duration, distance;
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1; //محاسبه فاصله اجسام از سنسور
  if (distance<200 && distance >0)
Blueboy.write(distance);       
}

برنامه اندروید برای ردیاب صوتی با Processing

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

در این برنامه از دو کتابخانه یعنی کتابخانه Ketai و کتابخانه ControlP5 استفاده شده است. کتابخانه ketai برای کنترل تمام سخت افزارهای موجود در تلفن همراه ما استفاده می شود. مواردی مانند باتری ، مقادیر حسگر مجاورت ، مقادیر حسگر شتاب سنج ، گزینه های کنترل بلوتوث و … به راحتی توسط این کتابخانه قابل دسترسی است. در این برنامه از این کتابخانه برای برقراری ارتباط بین بلوتوث موبایل و بلوتوث آردوینو (HC-05) استفاده می کنیم. و از كتابخانه ControlP5 برای ترسیم نمودارهای سیستم راداری ما استفاده می شود.

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

[irp posts=”7710″ name=”ساخت بازی پینگ پنگ با آردوینو ، Processing و شتاب سنج ADXL335″]

نحوه کار و فیلم عملکرد پروژه

سخت افزار را روشن کنید و در موبایل خود به ماژول بلوتوث متصل شوید. پس از جفت شدن برنامه اندروید Zelobt را باز کنید سپس 1 ثانیه صبر کنید تا اتصال به صورت کامل برقرار شود. اکنون شما باید تصویر زیر را مشاهده کنید :

آموزش کار با پروژه ردیاب صوتی آردوینو

اگر اتصال به درستی انجام شده باشد مانند تصویر بالا، در بالای صفحه موبایل خود باید عبارت متصل شده به Hc-05 را مشاهده کنید. سپس سروو موتور میچرخد و فاصله بین اجسام با سنسور التراسونیک با نمودار هایی که پی در پی رسم میشوند نمایش داده میشود. هرچقدر که جسمی نزدیک تر به التراسونیک باشد، نمودار بلند تر رسم میشود.

ردیاب صوتی با برد Arduino و التراسونیک

همانطور که قبلاً گفته شد همچنین می توانید سروو موتور خود را از برنامه تلفن همراه خود کنترل کنید. برای انجام این کار ، به سادگی بر روی دکمه stop کلیک کنید. این باعث می شود سروو شما به طور خودکار متوقف شود. سپس می توانید یک چرخ دایره ای را در پایین صفحه پیدا کنید که میتواند چرخش در جهت عقربه ساعت یا ضد ساعت را تنظیم کند. با کشیدن این چرخ می توانید موتور سروو خود را در جهت مورد نظر بچرخانید.

فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

دانلود فیلم عملکرد پروژه رادار صوتی با آردوینو

موارد موجود در فایل : شماتیک کامل مدار ، سورس کامل آردوینو و Processing ، نرم افزار اندروید

پروژه ها رایگان هستند. برای دانلود فایل های پروژه باید در سایت عضو باشید. ثبت نام / ورود

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید
امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. مالکیتی بر مطالب ارائه شده ندارم. اکثر فعالیت بنده در زمینه ترجمه است. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

9 نظر

  1. آ قای رحیمی دو کتابخانه مورد نیاز رو پیاد کردم>
    کتابخانه Ketai و کتابخانه ControlP5
    هر کار می کنم نصب نمیشه تا فراخوانی کنم

      1. اقای رحیمی خلاسه کار من اینه
        بنده فایلی که در سایت هستش رو دانلود کرده و کد های ان رو در نرم افزار Arduino پیاده کرده وبعد از verify ارور ها رو میاره و شما فرموید که مشکلاز کتابخانه هستش که نصب نشده الان کتابخانه Ketai و کتابخانه ControlP5 در فایل ی که دانلود کردم هستش ولی نصب نمیشه تا فراخوان کنم
        سپاس

        1. من کد رو بررسی کردم کد آردوینو نیاز به کتابخانه خاصی نداره. لطف کنید فقط سورس رو در آردوینو کپی کنید و در بردتون بریزید. در قسمت کد Processing هم نیاز نیست کار خاصی انجام بدید اول با فایل apk که در فایل دانلودی قرار داده شده مدار رو تست کنید در صورتی که نیاز به ویرایش داشتید از فایل های Processing استفاده کنید.

  2. سلام وقت بخیر
    وقتی کد هارو اعمال کردم این خطا هارو آورد میشه راهنمایی کنید؟

        1. آقای رحیمی خیلی ممنون واسه راهنمایی فقط برای این (پروژه ردیاب صوتی با سنسور التراسونیک و Arduino) به چه کتابخانه های نیاز دارم؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *