آردوینو آموزش آردوینو پروسسینگ Processing پروژه های آردوینو

آموزش ساخت رادار سونار با آردوینو و ماژول SRF با نرم افزار گرافیکی رادار

Arduino-Sonar-SRF04-Module--digispark-
نوشته شده توسط بهزاد ستاره

رادار Radar از حروف اول کلمات Radio Detection and Ranging به معنای کشف و فاصله‌یابی رادیویی گرفته شده است. این اصطلاح را نیروی دریایی آمریکا در سال ۱۹۴۱ پیشنهاد داد و حدود ۷۶ کشور آن را پذیرفتند. رادار در صنایع مختلف چه نظامی و چه غیر نظامی مصرف دارد. رادار میتواند لیزری یا رادیویی باشد. در ادامه شیوه ساخت رادار با سنسور فراصوت و برد آردوینو را آموزش خواهیم داد. در ادامه با وب سایت مرجع آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 

 

مبانی کار رادار Radar

در واقع اختراع رادار از یک پدیده فیزیکی و بسیار طبیعی به نام انعکاس گرفته شده است. همه ما بارها و بارها بازگشت صدا را در مقابل صخره های عظیم تجربه کرده‌ایم. نور خورشید هم با استفاده از همین پدیده است؛ هنگام شب با انعکاس از سطح ماه به ما می‌رسد. امواج رادیویی و الکترو مغناطیس قابلیت انعکاس و بازتاب دارند. رادار Radar بر اساس همین خاصیت ساده به وجود آمد. بنابراین بشر در ساخت رادار از طبیعت استفاده‌های فراوان و اساسی کرده و وسیله‌ای سودمند ساخته است. ساده‌ترین نوع رادار در حقیقت از یک فرستنده و یک گیرنده رادیویی به وجود آمدند. این وسایل ابتدایی فقط قادر بودند وجود شیء را اعلان کنند و به هیچ وجه توانایی تشخیص اندازه و ویژگی‌های دیگر آن را نداشتند.

 

 

مکانیسم کار رادار Radar

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

اولین رادار ساخته شده توسط بشر - دیجی اسپارک

 

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

در این پروژه ماژول التراسونیک SRF04 توسط سروو موتور Servo Motor حرکت دورانی انجام می‌دهد. به عبارتی ماژول SRF04 روی سروو موتور بسته میشود. در اثر حرکت شافت سروو موتور که به ماژول SRF وصل شده است، شروع به ارسال امواج آلتراسونیک به اطراف میکند. این امواج بلافاصله به گیرنده SRF برگشت می‌شوند. سپس اطلاعات به نرم افزار ارسال و در آنجا به صورت گرافیکی نمایش می‌دهد. دقت داشته باشید که ماژول SRF دارای دو سنسور آلتراسونیک است. یکی فرستنده و دیگری گیرنده فراصوت است.

 

ماژول فاصله سنج SRF04

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

ساخت رادار با آردوینو Arduino Radar و ماژول SRF04

 

اتصالات مدار رادار آردوینو

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

پایه سیگنال سروو موتور را به پایه ۱۲ آردوینو متصل کنید.

پایه TRIG ماژول التراسونیک را به پایه ۱۱ آردوینو متصل کنید.

پایه ECHO ماژول التراسونیک را به پایه ۱۰ آردوینو متصل کنید.

پایه های VCC و GND ماژول التراسونیک  را به  پایه های VCC و GND اردوینو متصل کنید.

در سروو موتوری که ما استفاده کردیم پایه قهوه ای (زمین ) و پایه قرمز ( VCC) و پایه نارنجی ( پایه سیگنال ) میباشد . در بعضی سروو موتورها این رنگ ها متفاوت میباشد .

 

کدهای مدار رادار آردوینو

 

وسایل مورد نیاز مدار رادار

۱- برد اردوینو UNO یا Mega2560

۲- سیم بردبردی

۳- سروو موتور

۴- ماژول SRF04

 آموزش ساخت رادار سونار با ماژول SRF04 و آردوینو - دیجی اسپارک

 

اجرای نرم افزار رادار Radar

ابتدا نرم افزار processing-3.3.6 را از دیجی اسپارک دانلود سپس از حالت فشرده خارج کنید. نرم افزار رادار این مدار به زبان جاوا نوشته شده و توسط نرم افزار processing کامپایل و اجرا می‌شود. برای اجرا کافیست کدها را در برنامه processing کپی کرده و بعد از save کردن آن را اجرا کنید. چنانچه ابعاد تصویر بزرگ یا کوچک بود و نیاز به تنظیم داشت به سادگی در کدهای برنامه جاوا (size (1366,768 را پیدا کرده و با تغییر این دو عدد برنامه را به سایز دلخواه و مناسب نمایشگرتان اجرا نمایید. کدهایی که در این مدار نوشته شده برای پورت ۴ سریال می‌باشد. چنانچه آردوینو Arduino با پورت دیگری به  رایانه متصل باشد با خطا مواجه می‌شوید. در صورتی که خواستید با پورت دیگری برنامه اجرا شود در کدهای جاوا  (myPort = new Serial(this,”COM4″, 9600 را پیدا کرده و  شماره پورت آردوینو خود را در آن جایگزین کرده و یا در Device Manager شماره پورت را به ۴ تغییر دهید.

 

کدهای جاوا برنامه رادار آردوینو

 

نکته: بهتر است نرم افزار Java.SE.Runtime.Environment.v8 را نیز روی رایانه نصب کنید چون با تست هایی که روی چند رایانه انجام شد معمولا در صورت نبود این برنامه با مشکل مواجه میشوید.

 

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

 

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

 

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

بهزاد ستاره

کارشناس الکترونیک
عاشق دنیای دیجیتال ام و سعی میکنم از تکنولوژی عقب نمونم

تبادل نظر و رفع عیب با ثبت دیدگاه

۴۹ دیدگاه

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

    • سلام
      این پروژه شامل دو تا کد میباشد.
      یکی مربوط به کدهای اردوینو میباشد و دیگری مربوط به کدهای نرم افزار رادار ، کدهای مربوط به اردوینو وظیفه کنترل سروو رو دارند و کدهای جاوا که مربوط به نرم افزار processing میباشد وظیفه اجرای نرم افزار گرافیکی رادار را دارند و ارتباط این دو با هم از طریق پورت usb که به اردوینو متصل است برقرار میگردد

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

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

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

    • سلام
      در ماژولی که شما میفرمایید دو پایه trig و echo وجود نداره .
      من با این ماژول کار نکردم و پیشنهاد میکنم تست کنید و روش راه اندازی رو پیدا کنید شاید بتونید استفاده کنید

  • سلام و عرض ادب استاد گرامی
    کدوم خط ازبرنامه سرعت سروو موتور را تغییر میدهد.
    برنامه را کامل انجام دادم ولی سرعت سروو موتور خیلی کمه
    ممنون از پاسخ گویی شما

    • سلام دوست عزیز
      سرعت سروو در این پروژه کاملا مناسبه و تست شده است .
      اگه از باتری برای تغذیه استفاده می کنید ممکنه سرعت سروو کاهش پیدا کنه .

  • احسن
    برنامه جالبی است
    برنامه اول به میکرو آپلود شده و موجب ارسال اطلاعات زاویه و مسافت روی پورت Com میشود
    برنامه تکمیلی دوم هم در کامپیوتر اجرا شده و اطلاعات را از پورت گرفته و بصورت گرافیکی نشان میدهد
    البته میتوان کدها را ساده تر کرد و حتی برنامه ای در آردوینو نوشت که بصورت گرافیکی روی شیلد LCD رادار را نشان دهد و نیازی به جاوا نباشد

    با تشکر از عزیزان دیجی اسپارک

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

        • سلام و تشکر از شما
          از اینکه نسبت به فعالیت دیجی اسپارک حساسیت دارید و نظرتان را اعلام می‌فرمایید، ممنونیم. بررسی می‌کنیم و در پست‌های بعدی این موضوع را در صورت امکان اضافه خواهیم کرد.

  • سلام من مبتدی هستم خیلی علاقه دارم به کار های الکترونیک من چندتا ایده داشتم ک میخواستم ثبت اختراع کنم ک شرکت هایی بودن مبالغ گذاف میخواستن ازم ولی خیلی ممنونم ک شما این اموزش هارو میزارید و به هم سالای ما کمک میکنید در این راه،این بحث رادار کتب و مقاله های مختلفی راجبش نوشته شده و این کلیپو دیدم فهمیدم منم ساده اش رو میتونم بسازم و استفاده کنم لطفا کلیپ ها و محتوا هارو مفصل تر کنسد تا افراد مبتدی استفاده کنن و بگید این راداری ک ساده شده چند متر قابلیت شناسایی داره و قابل تقویت هست یا نه؟کلیپ اموزش کاملش هم موجوده یا خیر؟ سایتتون بسیار عالیه ممنونم از شما عزیزان در پناه حق

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

  • با سلام بسیار جالب بود…..
    ولی به نظرم بهتر بود در این آموزش از ۳ ماژول فاصله سنج
    استفاده و بجای سروو استپ موتور برای رد یابی ۳۶۰ درجه بهره ببرد

    • سلام ، برد این رادار بستگی به ماژول التراسونیک به کار برده شده در پروژه دارد و طبق اطلاعات سازنده ماژول حدودا از ۲سانتی متر الی ۴۵۰ سانتی متر برد دارد ، اما طبق تجربه برد مفید این ماژول حدودا ۱۰ سامتی متر میباشد.
      این پروژه در واقع یک نمونه کوچک از یک رادار واقعی است و در رادارهای واقعی از فرستنده های رادیویی قوی استفاده میکنند

    • سلام
      نرم افزار processing فقط وظیفه نمایش گرافیکی رادار را دارد ، عملکرد التراسونیک به این صورت میباشد که یک سیگنال رادیویی را ارسال کرده که پس از برخورد به مانع برگشتی سیگنال را دریافت میکند. و در واقع میشه گفت بیشترین عاملی که میزان برد را مشخص میکند فرستنده و گیرنده های هستن که در پروژه به کار برده شده اند و با کدهای برنامه نمیتوان ان را تقویت کرد .

  • با سلام من با دیدن این پروژه خیلی کنجکاو شدم که برنامه نویسی با نرم افزار processing-3.3.6 را یاد بگیرم لطفا مطالب آموزشی زیادی درباره برنامه نویسی با این نرم افزار بزارین.
    با تشکراز شما و سایت خوبتون‌.

  • با عرض سلام خدمت مهندس ستاره. خسته نباشید.چندتا سوال داشتم؟
    اگر از ورژن های مختلف برنامه processing استفاده کنیم مثلا ۳٫۳٫۷ لازمه که تغییراتی در این کدهایی که شما نوشتی انجام بدیم؟
    سوال دوم اینه که اگر از آردوینو uno یا mega استفاده کنیم کدهای انها با هم فرق میکند یا میتوانیم از اینهایی که شما ارائه دادین استفاده کنیم؟با تشکر.

    • سلام ، ممنون از توجه شما
      فکر نمیکنم با تغییر ورژن مشکلی پیش بیاد .
      در مورد تغییر نوع اردوینو هم نیازی به تغییر کدها نیست فقط کافیه قبل از اپلود کردن کدها ، نوع برد رو در نرم افزار تغییر بدین .

  • سلام چن سوال خدمتتون داشتم
    ۱_میتونید طرز ساخت و ماژول ها و اجزای سیستم رادار gpr رو در سایتتون بذارید تمام سایتها رو گشتم پیدا نکردم؟
    ۲_این رادار سونار توانایی نفوذ در اشیا رو داره؟
    ۳_شما توانایی ساخت سیستم های پیچیده ﺭﺍﺩﺍﺭ ﺯﻣﯿﻦ ﻧﻔﻮﺫ ‏( GPR ﯾﺎ Ground
    Penetrating Radar دارید؟

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

    • سلام ، من با ماژول های دیگه تست نکردم و فکر نمیکنم ماژول التراسونیک دیگه ای با برد بیشتر در حال حاضر وجود داشته باشه.

    • سروو موتور برای چرخش راداره ، البته بدون سروو هم مشکلی نیست با دست هم میشه تغییرش داد اما با سروو جالب تره!

  • سلام وقت بخیر
    من این مدار رو روی آردوینو UNO بستم و قسمت سخت افزاری داره کار میکنه و از طریق سریال اطلاعات رو میفرسته .. اما من تو قسمت نرم افزاری مشکل دارم .. نسخه جدید نرم افزار رو دانلود کردم و نصب کردم اما وقتی کد ها رو میخوام اجرا کنم یه صفحه سفید میاد و دیگه هیچ چیزه دیگه ای نمیاد و این صفحه نه بسته میشه نه چیز دیگه هنگ میکنه ..!! امکان داره که کتابخونه هاش کامل نباشن؟!

  • سلام وقت بخیر .. من این مدار رو ساختم اما تو قسمت نرم افزاری (Processing) مشکل دارم و مشکلم هم اینه که کد رو وقتی اجرا میکنم یه صفحه سفید باز میشه و اون صفحه هنگ میکنه و نه بسته میشه و نه چیز دیگه ای .. با نسخه جدید نرم افزار هم امتحان کردم ولی مشکل همچنان باقیست .. مثال های خود نرم افزار رو اجرا کردم بدون مشکل کار کردن ولی این کد انگار مشکل داره .. راستی توی کد بجای COM4 نوشتم COM3 چون آردوینو روی اون پورت هست و با سریال مانیتور هم دیدم که آردوینو کد میفرسته ( از آردوینو UNO استفاده کردم )

    با تشکر فراوان

    • سلام ، معمولا هنگ کردن و صفحه سفید مربوط به تنظیمات پورت میباشد . پورت را تغییر داده و در خط ۲۱ برنامه جاوا نیز ان را تغییر دهید. در نهایت درخط ۱۹ نیز اندازه صفحه نمایش را تغییر دهید گاهی اوقات با تغییر سایز مشکل حل میشود

  • سلام خسته نباشید
    بنده وقتی کدهای مربوط به جاوا رو داخل برنامه اش کپی میکنیم این ارور مینویسه ووقتی برنامه اجرا میکنم صفحه سفید میشه درحالی که سایز صفحه نمایش و پورت اردینو در این برنامه هم هماهنگ کردم.ممنون اگر پاسخ بدین.
    ارور(( could not load font ocraextended.vlw-30.make surethat thefont has been copied to the data folder of you sketch