فهرست مطالب:

پروژه 3: SonarDuino: 9 مرحله
پروژه 3: SonarDuino: 9 مرحله

تصویری: پروژه 3: SonarDuino: 9 مرحله

تصویری: پروژه 3: SonarDuino: 9 مرحله
تصویری: Amazing arduino project 2024, سپتامبر
Anonim
Image
Image

همکار دوست عزیز ،

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

مرحله 1: آنچه شما نیاز دارید

پشتیبانی سنسور اولتراسونیک را آماده کنید
پشتیبانی سنسور اولتراسونیک را آماده کنید

برای ساخت این ساختمان باید موارد زیر را خریداری کنید:

آردوینو نانو: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-board-For-Arduino/201601613488؟hash=item2ef0647eb0:g:DkoAAOSwvYZ0ZoZ: rk: 2: pf: 0

تابلوهای نمونه سازی: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Protototype-PCB-Board/192076517108؟epid=506557101&hash=itQ2:4:4:4:4:4 ~ Zbl232: rk: 13: pf: 0

سروو موتورز: https://www.ebay.com/itm/5pcs-POP-9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Control-Car-Boat/142931003420؟hash=item21475a081c:rk: 16: pf: 0 & var

سنسورهای مافوق صوت: ~ IAAOSw-xbD5Fp: rk: 2: pf: 0

مرحله 2: مستندسازی

همانطور که ممکن است برخی از شما قبلاً این را بدانید ، این پروژه از پروژه منبع باز دیگری به نام "پروژه رادار Arduino" ساخته شده توسط Dejan از "How to Mechatronics" @ پیوند زیر الهام گرفته شده است: https://howtomechatronics.com/projects/arduino -رادار-پروژه/

نکته دیگری که مستلزم مستندسازی است این است که دو کتابخانه زیر را در محیط توسعه خود بارگیری کنید:

کتابخانه Adafruit-GFX:

Adafruit_SSD1306:

با این اوصاف ، برای درک واقعاً کد C ، باید مستندات مربوط به هر دو کتابخانه فوق را انجام دهید. به غیر از این ، توابعی که در کد خود استفاده کردم دارای اسامی هستند که نشان دهنده عملکرد آنها است.

مرحله 3: پشتیبانی سنسور اولتراسونیک را آماده کنید

پشتیبانی سنسور اولتراسونیک را آماده کنید
پشتیبانی سنسور اولتراسونیک را آماده کنید
پشتیبانی سنسور اولتراسونیک را آماده کنید
پشتیبانی سنسور اولتراسونیک را آماده کنید
پشتیبانی سنسور اولتراسونیک را آماده کنید
پشتیبانی سنسور اولتراسونیک را آماده کنید

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

مرحله 4: همه چیز را در یک تابلوی نمونه سازی نصب کنید

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

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

مرحله 5: ایجاد اتصالات نهایی

ایجاد ارتباطات نهایی
ایجاد ارتباطات نهایی
ایجاد ارتباطات نهایی
ایجاد ارتباطات نهایی
ایجاد ارتباطات نهایی
ایجاد ارتباطات نهایی

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

مرحله 6: راه اندازی برنامه

بوت کردن برنامه
بوت کردن برنامه

دو کد وجود دارد که برای بوت شدن به آنها نیاز دارید

آردوینو (C):

پردازش (جاوا):

هنگام اجرای کد ، دو گزینه برای انتخاب دارید:

گزینه 1: با استفاده از صفحه نمایش OLED ، برای این کار باید متغیر MODE را در کد C روی 0 تنظیم کنید.

گزینه 2: با استفاده از مانیتور خود ، برای این کار باید متغیر MODE را در کد C روی 1 تنظیم کنید. علاوه بر این ، باید محیط توسعه Processing را بارگیری و نصب کرده و فونت رادار را از این پیوند بارگیری کنید: https:// github.com/lastralab/ArduinoRadar/blob/ma…

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

مرحله 7: درک کد C

درک کد C
درک کد C

کد عمدتا از دو حلقه "for" تشکیل شده است. یکی با پاس رو به جلو در ارتباط است و دیگری با پاس به عقب. در داخل هر دوی آنها ، تابع اصلی draw_scanner () ، که خطوط رادار را روی صفحه ترسیم می کند ، بارها فراخوانی شده است. پس از آزمایش پیکربندی های متعدد ، به این نتیجه رسیدم که برای حذف خطوط رادار سفید در زمان t با خطوط راداری مشابه در زمان t+1 باید آنها را بازنویسی کنیم. در غیر این صورت ، هر بار که صفحه را با استفاده از عملکرد "clearDisplay ()" قبل از فشار دادن شبکه پیکسل جدید تمیز می کنید ، چشمک می زند. از آنجا که من با 7 خط- برای اهداف طراحی- سر و کار داشتم ، باید آرایه ای صحیح از 7 عنصر را ذخیره و ارسال می کردم ، جایی که هر عنصر در شعاع بین مرکز رادار تا شیء تشخیص داده شده ، در صورت وجود ، قرار داشت. با در نظر گرفتن این نکته ، بقیه کد باید مستقیماً درک شود.

مرحله 8: درک کد جاوا

در پردازش ، من مجبور شدم فراخوانی تابع serialEvent () را که فقط با پورت های سری به نام COM کار می کند ، دور بزنم. هنگامی که من روی Mac کار می کردم ، پورت های سریال من با نام دیگری شناخته می شد. گفته می شود ، من آن تابع را در تابع اصلی در پردازش "draw ()" باز کردم. در مورد سایر موارد ، من برنامه را برای مطابقت با طراحی کامل انقلاب به روز کرده ام. در نهایت ، من تمام اشکال و متون ترسیم شده را با توجه به عرض صفحه به روز کردم تا محصول نهایی با وضوح صفحه نمایش متفاوت باشد. من شخصاً آن را برای رزولوشن 1000X1000 و 500X500 آزمایش کرده ام ، و خوب کار کرد:).

مرحله 9: نتیجه گیری

این کار را می توان با داشتن 3 سنسور اولتراسونیک ، هر کدام 120 زاویه دید یا حتی 4 سنسور (90 درجه*4) -> 360 درجه سریعتر ارتقا داد. اسکن کردن

همچنین می توانید برد رادار را از 40 سانتی متر به 60 سانتی متر یا حتی 80 سانتی متر افزایش دهید. من شخصاً عملکرد pulseIn را آزمایش کرده و متغیر TIMEOUT را با توجه به 40 سانتی متر تنظیم کرده ام. این متغیر به عوامل زیادی بستگی دارد ، از جمله طول ارسال پالس و سطح جسمی که پالس در آن منعکس می شود.

سرانجام همانطور که قبلاً نیز گفته شد ، گام بعدی این است که radarDuino را با یک ربات متحرک ترکیب کنید تا محیط اطراف را اسکن کند.

توصیه شده: