فهرست مطالب:

مقایسه محدوده یاب سونار LV-MaxSonar-EZ و HC-SR04 با آردوینو: 20 مرحله (همراه با تصاویر)
مقایسه محدوده یاب سونار LV-MaxSonar-EZ و HC-SR04 با آردوینو: 20 مرحله (همراه با تصاویر)

تصویری: مقایسه محدوده یاب سونار LV-MaxSonar-EZ و HC-SR04 با آردوینو: 20 مرحله (همراه با تصاویر)

تصویری: مقایسه محدوده یاب سونار LV-MaxSonar-EZ و HC-SR04 با آردوینو: 20 مرحله (همراه با تصاویر)
تصویری: پیشرفته ترین دستگاه فلزیاب جهان,09190273600,قوی ترین فلزیاب تصویری,پیشرفته ترین دستگاه گنج یاب 2024, نوامبر
Anonim
مقایسه محدوده یاب سونار LV-MaxSonar-EZ و HC-SR04 با آردوینو
مقایسه محدوده یاب سونار LV-MaxSonar-EZ و HC-SR04 با آردوینو
مقایسه محدوده یاب سونار LV-MaxSonar-EZ و HC-SR04 با آردوینو
مقایسه محدوده یاب سونار LV-MaxSonar-EZ و HC-SR04 با آردوینو

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

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

من می خواستم دستگاه بسیار محبوب HC-SR04 (اشکال چشم) را با دستگاه کمتر رایج LV-MaxSonar-EZ مقایسه کنم تا ببینم چه زمانی ممکن است بخواهم از یکی به جای دیگری استفاده کنم. من می خواستم یافته ها و تنظیمات خود را به اشتراک بگذارم تا بتوانید این دو را آزمایش کنید و تصمیم بگیرید که در پروژه بعدی خود از کدام استفاده کنید.

چرا این دو…

چرا HC-SR04؟ 'Bug-Eye' HC-SR04 بسیار محبوب است-به چند دلیل:

  • ارزان است - در صورت خرید عمده 2 دلار یا کمتر
  • رابط کاربری آن نسبتاً آسان است
  • بسیاری ، بسیاری از پروژه ها از آن استفاده می کنند - بنابراین شناخته شده است و به خوبی درک شده است

چرا LV-MaxSonar-EZ؟

  • ارتباط با آن بسیار آسان است
  • این یک فرم خوب/آسان برای گنجاندن در یک پروژه دارد
  • دارای 5 نسخه است که نیازهای مختلف اندازه گیری را برطرف می کند (به برگه داده مراجعه کنید)
  • (معمولاً) بسیار دقیق تر و قابل اطمینان تر از HC-SR04 است
  • مقرون به صرفه است - 15 تا 20 دلار

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

مفروضات:

  • شما با آردوینو و Arduino IDE آشنا هستید
  • Arduino IDE نصب شده است و بر روی دستگاه توسعه دلخواه شما (PC/Mac/Linux) کار می کند
  • برای بارگذاری و اجرای برنامه ها و برقراری ارتباط ، از Arduino IDE به Arduino خود اتصال دارید

دستورالعمل ها و سایر منابع وجود دارد که در صورت نیاز به شما در این زمینه کمک می کند.

تدارکات

  • HC-SR04 'Bug-Eye' Range Finder
  • LV-MaxSonar-EZ (0 ، 1 ، 2 ، 3 ، 4-من از "1" استفاده می کنم ، اما همه نسخه ها یکسان هستند)
  • آردوینو UNO
  • تخته نان بدون لحیم
  • هدر پین - 7 پین 90 درجه (برای دستگاه MaxSonar ، برای استفاده از 180 درجه به * زیر مراجعه کنید)
  • بلوز کابل روبان - 5 سیم ، مرد -مرد
  • بلوز کابل روبان - 2 سیم ، مرد -مرد
  • سیم جامپر - مرد -مرد
  • سیم قلاب - قرمز و سیاه (برای تغذیه از آردوینو تا نانبرد و تخته نان به دستگاه ها)
  • کامپیوتر با Arduino IDE و کابل USB برای اتصال به Arduino UNO

* MaxSonar دارای هدر متصل نیست ، بنابراین می توانید از سرصفحه ای که مناسب پروژه شما است استفاده کنید. برای این دستورالعمل ، از یک سربرگ 90 درجه استفاده کردم تا اتصال آن به تخته نان آسان شود. در برخی پروژه ها ، سرصفحه 180 درجه (مستقیم) ممکن است بهتر باشد. من عکسی را برای نشان دادن نحوه اتصال آن به شما نشان می دهم تا مجبور نباشید آنها را تغییر دهید. اگر ترجیح می دهید از هدر 180 درجه استفاده کنید ، برای اتصال همانطور که عکس من نشان می دهد ، به یک بلوز کابل روبان زن و مرد 7 سیم اضافی نیاز دارید.

مخزن Git Hub: فایل های پروژه

مرحله 1: تعقیب و گریز…

تعقیب و گریز…
تعقیب و گریز…

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

از آنجا که دستگاه MaxSonar در مقایسه با دستگاه HC-SR04 کمتر استفاده می شود و کمتر درک می شود ، می خواستم نشان دهم:

  • نحوه اتصال دستگاه MaxSonar به میکروکنترلر (در این مورد آردوینو)
  • نحوه اندازه گیری از خروجی های مختلف دستگاه MaxSonar
  • رابط دستگاه MaxSonar را با دستگاه HC-SR04 مقایسه کنید
  • توانایی اندازه گیری فاصله اجسام با سطوح مختلف را آزمایش کنید
  • چرا ممکن است یک دستگاه را بر دیگری انتخاب کنید (یا از هر دو به صورت همزمان استفاده کنید)

امیدوارم این دستورالعمل به شما در این تعقیب کمک کند…

مرحله 2: شروع به کار - راه اندازی Arduino -Breadboard

شروع به کار - راه اندازی Arduino -Breadboard
شروع به کار - راه اندازی Arduino -Breadboard

اگر در حال ساخت نمونه اولیه با آردوینو هستید ، احتمالاً از قبل تنظیمات Arduino-Breadboard را دارید که با آن راحت هستید. اگر چنین است ، من مطمئن هستم که می توانید از آن برای این دستورالعمل استفاده کنید. در غیر این صورت ، من اینگونه روش کار خود را تنظیم کردم - در صورت تمایل آن را برای پروژه های آینده و آینده کپی کنید.

  1. Arduino UNO و یک نان برد کوچک بی سیم را به یک تکه پلاستیک 3-3/8 "x 4-3/4" (8.6 x 12.0 سانتی متر) با پایه های لاستیکی در پایین متصل می کنم.
  2. من از سیم قلاب قرمز و مشکی 22-AWG برای اتصال +5V و GND از آردوینو به نوار توزیع برق نان استفاده می کنم
  3. من یک خازن تانتالوم 10μF را روی نوار توزیع نیروی زمین قرار می دهم تا به کاهش نویز قدرت کمک کند (اما این پروژه نیازی به آن ندارد)

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

مرحله 3: LV-MaxSonar-EZ را سیم کشی کنید

سیم کشی LV-MaxSonar-EZ
سیم کشی LV-MaxSonar-EZ
سیم کشی LV-MaxSonar-EZ
سیم کشی LV-MaxSonar-EZ
سیم کشی LV-MaxSonar-EZ
سیم کشی LV-MaxSonar-EZ

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

سیم کشی:

MaxSonar آردوینو رنگ
1 (BW) Power-GND رنگ زرد
2 (PW) دیجیتال -5 سبز
3 (AN) آنالوگ -0 آبی
4 (RX) دیجیتال -3 رنگ بنفش
5 (TX) دیجیتال -2 خاکستری
6 (+5) +5 راه آهن BB-PWR قرمز
7 (GND) ریل GND BB-PWR سیاه

توجه داشته باشید:

اجازه ندهید تعداد اتصالات مورد استفاده در این دستورالعمل شما را از در نظر گرفتن MaxSonar برای پروژه خود باز دارد. این دستورالعمل از همه گزینه های رابط MaxSonar برای نشان دادن نحوه عملکرد آنها و مقایسه آنها با یکدیگر و دستگاه HC-SR04 استفاده می کند. برای استفاده معین (با استفاده از یکی از گزینه های رابط) یک پروژه عموماً از یک یا دو پین رابط (به علاوه قدرت و زمین) استفاده می کند.

مرحله 4: HC-SR04 را سیم کشی کنید

HC-SR04 معمولاً دارای هدر 90 درجه است که قبلاً متصل شده است ، بنابراین اتصال آن به تخته نان آسان است. کابل روبان 2 پین سپس HC-SR04 را به آردوینو وصل می کند ، همانطور که در نمودار نشان داده شده است. علاوه بر کابل روبان ، از قطعات کوتاه سیم اتصال قرمز و مشکی از ریل توزیع برق برای تأمین برق دستگاه استفاده می کنم.

HC-SR04 آردوینو رنگ
1 (VCC) +5 راه آهن BB-PWR قرمز
2 (TRIG) دیجیتال -6 رنگ زرد
3 (ECHO) دیجیتال -7 نارنجی
4 (GND) ریل GND BB-PWR سیاه

مرحله 5: انتخاب کننده گزینه 'HC-SR04' را سیم کشی کنید

وقتی این پروژه را شروع کردم ، هدف من صرفاً آزمایش گزینه های مختلف رابط دستگاه MaxSonar بود. پس از شروع به کار ، تصمیم گرفتم که مقایسه آن با دستگاه HC-SR04 (bugeye) در همه جا خوب است. با این حال ، من می خواستم بتوانم بدون نیاز به آن اجرا/آزمایش کنم ، بنابراین یک گزینه/تست را در کد اضافه کردم.

کد یک پین ورودی را بررسی می کند تا ببیند آیا دستگاه HC-SR04 باید در خواندن و خروجی اندازه گیری گنجانده شود یا خیر.

در نمودار ، این به عنوان یک سوئیچ نشان داده شده است ، اما من روی تخته نان به سادگی از یک سیم جامپر استفاده می کنم (همانطور که در عکس ها دیده می شود). اگر سیم به GND متصل باشد ، HC-SR04 در اندازه گیری ها گنجانده می شود. کد در آردوینو "بالا می رود" (ورودی را زیاد/واقعی می کند) ، بنابراین اگر پایین نیاید (به GND متصل است) HC-SR04 اندازه گیری نمی شود.

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

تخته نان آردوینو رنگ
ریل GND BB-PWR دیجیتال -12 سفید

مرحله 6: همه چیز را عملی کنید…

کار کردن همه چیز…
کار کردن همه چیز…
کار کردن همه چیز…
کار کردن همه چیز…
کار کردن همه چیز…
کار کردن همه چیز…

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

همانطور که در "مفروضات" ذکر شده است - من قصد ندارم نحوه کارکرد Arduino IDE یا نحوه برنامه نویسی Arduino (به تفصیل) را توضیح دهم.

بخش های زیر کد آردوینو را که در این پروژه گنجانده شده است ، تجزیه می کنند.

لطفاً بایگانی کامل را در محلی که برای توسعه Arduino خود استفاده می کنید ، از حالت فشرده خارج کنید. کد `MaxSonar-outputs.ino` را در Arduino IDE خود بارگذاری کنید و بیایید شروع کنیم!

مرحله 7: طرح پروژه

این پروژه شامل اطلاعاتی در مورد دستگاه LV-MaxSonar-EZ ، نمودار مدار ، README و کد آردوینو است. نمودار مدار در قالب Fritzing و همچنین یک تصویر-p.webp

مرحله 8: کد راهنما در…

در این دستورالعمل ، نمی توانم همه جنبه های کد را مرور کنم. من برخی از جزئیات سطح بالا را پوشش می دهم. من شما را تشویق می کنم که نظر سطح بالا را در کد بخوانید و روش ها را بررسی کنید.

نظرات اطلاعات زیادی را ارائه می دهد که در اینجا تکرار نمی کنم.

چند نکته وجود دارد که می خواهم در کد "setup" به آنها اشاره کنم …

  • `_DEBUG_OUTPUT` - عبارت های متغیر و #تعریف
  • تعاریف پین های آردوینو که برای رابط استفاده می شود
  • تعاریف عوامل تبدیل مورد استفاده در محاسبات

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

"تعاریف" برای پین ها و تبدیل های Arduino استفاده می شود تا استفاده از این کد در پروژه های دیگر آسان تر شود.

اشکال زدایی…

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

متغیر بولی `_DEBUG_OUTPUT` در کد روی false تنظیم شده است (می تواند روی true تنظیم شود) و به عنوان آزمایشی در ماکروهای` DB_PRINT …` استفاده می شود. می توان آن را به صورت پویا در کد تغییر داد (همانطور که در روش `setDebugOutputMode` مشاهده شده است).

جهانی ها…

پس از تعاریف ، کد چند متغیر و آبجکت جهانی ایجاد و راه اندازی می کند.

  • SoftwareSerial (بخش بعدی را ببینید)
  • _loopCount - برای خروجی یک سرصفحه در هر ردیف 'n' استفاده می شود
  • _inputBuffer - برای جمع آوری ورودی سریال/ترمینال برای پردازش گزینه ها استفاده می شود (اشکال زدایی روشن/خاموش)

مرحله 9: نرم افزار Arduino-Serial…

یکی از گزینه های رابط MaxSonar جریان داده سریال است. با این حال ، Arduino UNO فقط یک اتصال داده سریال ارائه می دهد ، و از آن برای ارتباط با Arduino IDE (رایانه میزبان) با پورت USB استفاده می شود.

خوشبختانه ، یک جزء کتابخانه با Arduino IDE موجود است که از یک جفت پین Arduino digital-I/O برای پیاده سازی رابط سریال-i/o استفاده می کند. از آنجا که رابط سریال MaxSonar از 9600 BAUD استفاده می کند ، این رابط "نرم افزاری" کاملاً قادر به مدیریت ارتباط است.

برای کسانی که از Arduino-Mega (یا دستگاه دیگری که دارای چندین پورت سریال HW است) استفاده می کنند ، لطفاً کد را برای استفاده از درگاه سریال فیزیکی تنظیم کرده و نیازی به SW-Serial را حذف کنید.

روش `راه اندازی` رابط` SoftwareSerial` را برای استفاده با دستگاه MaxSonar آماده می کند. فقط دریافت (RX) مورد نیاز است. رابط "معکوس" است تا با خروجی MaxSonar مطابقت داشته باشد.

مرحله 10: کد - راه اندازی

همانطور که در بالا توضیح داده شد ، روش «راه اندازی» رابط «SoftwareSerial» و نیز رابط سریال فیزیکی را اولیه می کند. پین های ورودی/خروجی آردوینو را پیکربندی می کند و یک سرصفحه ارسال می کند.

مرحله 11: کد - حلقه

کد `حلقه` از طریق موارد زیر اجرا می شود:

  • خروجی یک سرصفحه (برای اشکال زدایی و پلاتر استفاده می شود)
  • MaxSonar را برای اندازه گیری فعال کنید
  • مقدار MaxSonar Pulse-Width را بخوانید
  • مقدار MaxSonar Serial-Data را بخوانید
  • مقدار MaxSonar Analog را بخوانید
  • گزینه 'HC-SR04' را بررسی کنید و در صورت فعال بودن:

    دستگاه HC-SR04 را فعال کرده و بخوانید

  • داده ها را در قالب جدا شده از برگه که می تواند توسط Serial Plotter استفاده شود ، خروجی دهید
  • منتظر بمانید تا زمان کافی سپری شود تا اندازه گیری دیگری انجام شود

مرحله 12: کد - MaxSonar را فعال کنید. مقدار PW را بخوانید

MaxSonar دارای دو حالت است: "فعال" و "مداوم"

این دستورالعمل از حالت "تحریک شده" استفاده می کند ، اما بسیاری از پروژه ها می توانند از حالت "پیوسته" استفاده کنند (به برگه داده مراجعه کنید).

هنگام استفاده از حالت "تحریک شده" ، اولین خروجی معتبر از خروجی عرض پالس (PW) است. پس از آن ، بقیه خروجی ها معتبر هستند.

`tiggerAndReadDistanceFromPulse` پین ماشه را در دستگاه MaxSonar می زند و مقدار فاصله پالس حاصل را می خواند

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

این روش همچنین به اندازه کافی تأخیر دارد تا سایر خروجی های دستگاه معتبر (سریال ، آنالوگ) باشد.

مرحله 13: کد - مقدار سریال MaxSonar را بخوانید

پس از فعال شدن MaxSonar (یا در حالت "مداوم") ، اگر گزینه خروجی سریال فعال باشد (از طریق کنترل "BW - Pin -1") یک جریان داده سریال به شکل "R nnn" ارسال می شود ، دنبال می شود توسط CARRIAGE-RETURN '\ r'. 'nnn' مقدار اینچ برای شی است.

روش `readDistanceFromSerial` داده های سریال (از پورت سریال نرم افزار) را می خواند و مقدار 'nnn' را به اعشاری تبدیل می کند. این شامل یک مهلت زمانی ایمن برای خرابی است ، فقط در صورتی که مقدار سریال دریافت نشود.

مرحله 14: کد - مقدار آنالوگ MaxSonar را بخوانید

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

مقدار (Vcc/512) در اینچ است. بنابراین ، با Vcc از آردوینو 5 ولت ، مقدار 9.8mV/in be خواهد بود. روش `readDistanceFromAnalog` مقدار ورودی آنالوگ آردوینو را خوانده و آن را به مقدار 'اینچ' تبدیل می کند.

مرحله 15: کد - راه اندازی کنید و HC -SR04 را بخوانید

اگرچه کتابخانه هایی برای خواندن HC-SR04 وجود دارد ، اما برخی از آنها با دستگاه های مختلفی که با آنها آزمایش کرده ام غیرقابل اعتماد هستند. من کدی را که در روش `sr04ReadDistance` گنجانده ام ساده و قابل اطمینان تر (تا آنجا که دستگاه ارزان HC-SR04 می تواند باشد) پیدا کردم.

این روش دستگاه HC-SR04 را تنظیم و سپس فعال می کند و سپس منتظر می ماند تا عرض پالس بازگشت را اندازه گیری کند. اندازه گیری عرض پالس شامل یک زمان پایان برای رسیدگی به مسئله HC-SR04 با مدت زمان پالس بسیار طولانی است ، هنگامی که نمی تواند هدفی را پیدا کند. عرض پالس بیشتر از فاصله هدف 10 پوند فرض بر این است که هیچ جسم یا جسمی نیست که قابل تشخیص نباشد. در صورت رسیدن به زمان پایان ، مقدار '0' به عنوان فاصله بازگردانده می شود. این "فاصله" (عرض پالس) را می توان با استفاده از مقادیر #تعریف شده تنظیم کرد.

عرض نبض قبل از بازگشت به جسم به فاصله رفت و برگشت تبدیل می شود.

مرحله 16: کد - Arduino IDE Serial Plotter Support

کد - Arduino IDE Serial Plotter Support
کد - Arduino IDE Serial Plotter Support

حالا برای خروجی!

روش `حلقه` باعث جمع آوری فاصله از دو دستگاه می شود - اما با آن چه کنیم؟

خوب ، البته ، ما آن را ارسال می کنیم تا در کنسول مشاهده شود - اما ما چیزهای بیشتری می خواهیم!

Arduino IDE همچنین رابط Serial Plotter را ارائه می دهد. ما از آن برای ارائه نمودار زمان واقعی فاصله از شیء خود از خروجی دو دستگاه خود استفاده خواهیم کرد.

Serial Plotter سرصفحه ای را که حاوی برچسب های ارزش و سپس چندین ردیف از مقادیر محدود شده است را می پذیرد تا به صورت نمودار رسم شود. اگر مقادیر به طور منظم (هر چند ثانیه یکبار) خروجی می شوند ، نمودار تصویری از فاصله تا جسم را در طول زمان ارائه می دهد.

روش `حلقه` سه مقدار را از MaxSonar و مقدار HC-SR04 را در قالب جدا شده از برگه که می تواند با Serial Plotter استفاده شود ، خروجی می دهد. هر 20 ردیف یکبار سرصفحه را خروجی می دهد (فقط در صورتی که Serial Plotter در میانه جریان فعال باشد).

این به شما امکان می دهد فاصله تا مانع را تجسم کنید و همچنین تفاوت مقادیر برگشتی دو دستگاه را مشاهده کنید.

مرحله 17: کد - اشکال زدایی…

کد - اشکال زدایی…
کد - اشکال زدایی…
کد - اشکال زدایی…
کد - اشکال زدایی…

اشکال زدایی یک ضرورت است. چگونه می توان یک مشکل را پیگیری کرد وقتی چیزی مطابق انتظار کار نمی کند؟

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

در این دستورالعمل من مکانیزمی را برای فعال و غیرفعال کردن اشکال زدایی اشکال چاپ (خروجی سریال) به صورت پویا از ورودی خوانده شده از Arduino IDE Serial Monitor (در نسخه بعدی ، انتظار می رود که پلاتر سریال نیز این ورودی را ارائه دهد) وارد کرده ام.

بولی `` _DEBUG_OUTPUT` در تعدادی از روشهای #تعریف چاپ استفاده می شود که می توان در کد استفاده کرد. مقدار متغیر _DEBUG_OUTPUT برای فعال یا غیر فعال کردن چاپ استفاده می شود. مقدار را می توان به صورت پویا در کد تغییر داد ، همانطور که روش `setDebugOutputMode` انجام می دهد.

روش `setDebugOutputMode` بر اساس ورودی دریافت شده از ورودی سریال از` حلقه` فراخوانی می شود. ورودی تجزیه می شود تا ببیند آیا با "اشکال زدایی روشن/خاموش | درست/غلط" مطابقت دارد تا حالت اشکال زدایی فعال یا غیرفعال شود.

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

امیدوارم این تنظیم سخت افزاری ساده و کد مثال بتواند به شما در درک تفاوت بین دستگاه های HC-SR04 و LV-MaxSonar-EZ کمک کند. استفاده از هر دو بسیار آسان است و من معتقدم که هر کدام مزایای خود را دارند. دانستن زمان استفاده از یکی به جای دیگری می تواند برای یک پروژه موفق مثر باشد.

BTW-من به یک روش بسیار آسان برای اندازه گیری دقیق فاصله تا یک شی با استفاده از LV-MaxSonar-EZ اشاره کردم … می توانید از خروجی آنالوگ (یک سیم) و حالت اندازه گیری مداوم برای خواندن فاصله در صورت نیاز با استفاده از ساده استفاده کنید. کد در `readDistanceFromAnalog` مستقیماً از ورودی آنالوگ آردوینو. یک سیم و (متراکم) یک خط کد!

مرحله 19: اتصال MaxSonar جایگزین (با استفاده از هدر 180 درجه)

اتصال MaxSonar جایگزین (با استفاده از هدر 180 درجه)
اتصال MaxSonar جایگزین (با استفاده از هدر 180 درجه)
اتصال MaxSonar جایگزین (با استفاده از هدر 180 درجه)
اتصال MaxSonar جایگزین (با استفاده از هدر 180 درجه)
اتصال MaxSonar جایگزین (با استفاده از هدر 180 درجه)
اتصال MaxSonar جایگزین (با استفاده از هدر 180 درجه)

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

مرحله 20: کد آردوینو

کد آردوینو در پوشه 'MaxSonar-outputs' پروژه در مقایسه محدوده یاب Sonar قرار دارد

توصیه شده: