ساخت رادار سونار با آردوینو و اندروید

محتویات
سلام. ساخت رادار ردیاب التراسونیک با آردوینو و اندروید Processing را آماده کردیم.
پروژه ردیاب صوتی با سنسور التراسونیک و آردوینو
این یک پروژه حالب است که در آن ما از اندروید و آردوینو برای ایجاد یک سیستم ردیاب صوتی مانند چیزی که در زیر دریایی ها وجود دارد استفاده میکنیم. برای بخش حس کردن اطراف از سنسور التراسونیک استفاده میکنیم و برای مشاهده اطلاعات از یک نرم افزار اندروید استفاده میکنیم.
امنیت از سالهای طولانی نگرانی اصلی ما بوده است. نصب دوربین امنیتی که حالت شب دارد هزینه زیادی دارد. بنابراین ما یک دستگاه میسازیم که با قیمت بسیار کم همین کار را انجام میدهد اما بدون هیچ ویدئویی. بخشی از این پروژه با Arduino برنامه نویسی میشود و بر خی با نرم افزار پردازش Processing.
این پروژه آردوینو با کمک سنسور التراسونیک اشیاء را حس می کند و از این رو می تواند حتی در شب کار کند. همچنین ما سنسور التراسونیک (Ultra Sonic) را روی یک موتور سروو سوار می کنیم، این سروو موتور می تواند تنظیم شود که بطور خودکار چرخش کند تا بتواند منطقه را اسکن کند یا می تواند به صورت دستی با استفاده از برنامه اندروید چرخانده شود تا بتوانیم حسگر اولتراسونیک را در منقطه مورد نظر متمرکز کنیم. تمام اطلاعات حسگر التراسونیک با استفاده از ماژول بلوتوث (HC-05) به تلفن هوشمند ما منتقل می شود. بنابراین این پروژه در نهایت چیزی شبیه یک رادار، ردیاب یا دستگاه سونار خواهد بود.
فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.
مدار پروژه رادار ردیاب التراسونیک با آردوینو
تمام اجزای این پروژه نمیتوانند توسط برد Arduino تغذیه شوند زیرا سروو موتور، ماژول بلوتوث و سنسور التراسونیک جریان بالایی را مصرف میکنند. در صورت استفاده از آردوینو برای تامین جریان آن ها احتمالا برد آردوینو درست کار نخواهد کرد و ممکن است آسیب ببیند بنابراین توصیه میشود از منبع تغذیه خارجی 5 ولت استفاده کنید.
شماتیک مدار پروژه رادار صوتی با آردوینو در تصویر زیر دیده میشود:
پس از برقراری اتصالات، سنسور التراسونیک را بر روی سروو موتور خود مانند تصویر زیر نصب کنید.
قطعات مورد نیاز
- برد آردوینو مگا (می توانید از Pro mini یا Uno نیز استفاده کنید)
- سنسور التراسونیک HC-SR04
- ماژول بلوتوث HC-05
- سروو موتور
توضیحات سنسور التراسونیک HC-SR04
ما باید یه اطلاعات کلی نسبت به سنسور التراسونیک داشته باشیم. ما میدانیم که ارتعاش صدا نمیتواند از طریق جامدات نفوذ کند. بنابراین وقتی یک منبع صدا باعث ایجاد ارتعاش شود ، آن ارتعاش از طریق هوا با سرعت 220 متر در هر ثانیه حرکت میکند. همانطور که گفتیم این ارتعاش ها نمیتوانند از طریق جامدات نفوذ کنند ، یعنی وقتی به یک سطح مثل دیوار برخورد کنند ، با همان سرعت برمیگردند به سمت سنسور ، این تکنیک اکو (ECHO) نامگذاری شده است.

سنسور التراسونیک 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 را کپی کنید برنامه درست کار نمیکند.
نحوه کار و فیلم عملکرد پروژه
سخت افزار را روشن کنید و در موبایل خود به ماژول بلوتوث متصل شوید. پس از جفت شدن برنامه اندروید Zelobt را باز کنید سپس 1 ثانیه صبر کنید تا اتصال به صورت کامل برقرار شود. اکنون شما باید تصویر زیر را مشاهده کنید :
اگر اتصال به درستی انجام شده باشد مانند تصویر بالا، در بالای صفحه موبایل خود باید عبارت متصل شده به Hc-05 را مشاهده کنید. سپس سروو موتور میچرخد و فاصله بین اجسام با سنسور التراسونیک با نمودار هایی که پی در پی رسم میشوند نمایش داده میشود. هرچقدر که جسمی نزدیک تر به التراسونیک باشد، نمودار بلند تر رسم میشود.
همانطور که قبلاً گفته شد همچنین می توانید سروو موتور خود را از برنامه تلفن همراه خود کنترل کنید. برای انجام این کار ، به سادگی بر روی دکمه stop کلیک کنید. این باعث می شود سروو شما به طور خودکار متوقف شود. سپس می توانید یک چرخ دایره ای را در پایین صفحه پیدا کنید که میتواند چرخش در جهت عقربه ساعت یا ضد ساعت را تنظیم کند. با کشیدن این چرخ می توانید موتور سروو خود را در جهت مورد نظر بچرخانید.
موارد موجود در فایل : شماتیک کامل مدار ، سورس کامل آردوینو و Processing ، نرم افزار اندروید
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود
سلام جناب رحیمی آیا امکان خرید این رادار وجود داره؟اگه جواب مثبته لطفا راهنمایی کنید که چطور باهاتون ارتباط بگیرم ممنون میشم پاسخ بدید باتشکر
سلام وقت بخیر
میشه یک رادار با برد 10 یا 20 متر ساخت و با نزدیک شدن شیعی آژیر روشن بشه
و میشه یک گیرنده امواج با اردوینو ساخت مثلاً امواج رادیویی آخه من یک هدفون مادون قرمز تیوتا دارم وقتی به ماشین وصل نیست یکسری امواج میگیره که خیلی ما مفهوم و کم هست ممنون میشم کمکم کنید
سلام تواین رادار میشه از ال سی دی کاراکتری استفاده کرد احتیاج به تغییر کد است یا کد لازم نداره میتونیم اضافه کنیم
و اینکه اگر کد لازم داره لطفا کدش رو برام بفرستید به ایمیلم ممنون میشم lyrdadarstanyn86@gmail.com
سلام این نرم افزار رادار اندروید برای تست برای کامپیوتر هم است اگر هست لطفا راهنمایی کنید
سلام خسته نباشی میخاهم فلزیاب بسازم ک تاعمق ده متر لایه اشیا تشخیص بده ایا با اردینو ممکنه؟؟کد انرا چطور بنویسم واگرشمابنویسید چقدر هزینهمیشه؟؟
سلام استاد نابغه میشه از ماژول بلوتوث در این رادار استفاده نکرد لطفا پشاسخ دهید ممنون میشم
سلام عزیز، بله میتونید استفاده نکنید
سلام این کد ها که گذاشتی برای دانلود مال برنامه نویسی این رادار است یا ساخت نرم افزار
سلام عزیز
کد های برنامه نویسی آردوینو و کد های نرم افزار قرار داده شده
سلام
چکونه خروجی برای اندورید از پروسسنگ گرفتی
من درپروسسنگ اندورید رانصب کرده استم اما تنظیمات انرا بلد نیستم
سلام جناب، از نرم افزار پراسسینگ برای ویندوز استفاده کنید
آ قای رحیمی دو کتابخانه مورد نیاز رو پیاد کردم>
کتابخانه Ketai و کتابخانه ControlP5
هر کار می کنم نصب نمیشه تا فراخوانی کنم
اروری که دریافت میکنید در Processing هست یا آردوینو؟
اقای رحیمی خلاسه کار من اینه
بنده فایلی که در سایت هستش رو دانلود کرده و کد های ان رو در نرم افزار Arduino پیاده کرده وبعد از verify ارور ها رو میاره و شما فرموید که مشکلاز کتابخانه هستش که نصب نشده الان کتابخانه Ketai و کتابخانه ControlP5 در فایل ی که دانلود کردم هستش ولی نصب نمیشه تا فراخوان کنم
سپاس
من کد رو بررسی کردم کد آردوینو نیاز به کتابخانه خاصی نداره. لطف کنید فقط سورس رو در آردوینو کپی کنید و در بردتون بریزید. در قسمت کد Processing هم نیاز نیست کار خاصی انجام بدید اول با فایل apk که در فایل دانلودی قرار داده شده مدار رو تست کنید در صورتی که نیاز به ویرایش داشتید از فایل های Processing استفاده کنید.
سلام وقت بخیر
وقتی کد هارو اعمال کردم این خطا هارو آورد میشه راهنمایی کنید؟
سلام جناب. باید کتابخانه های مورد نیاز رو نصب کنید.
میشه نحوه نصب یکی شون رو بگید چطوره ؟
مقاله “نصب کتابخانه در آردوینو” رو مشاهده بفرمایید.
آقای رحیمی خیلی ممنون واسه راهنمایی فقط برای این (پروژه ردیاب صوتی با سنسور التراسونیک و Arduino) به چه کتابخانه های نیاز دارم؟