فهرست مطالب:

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

تصویری: رادار مادون قرمز با آردوینو: 6 مرحله

تصویری: رادار مادون قرمز با آردوینو: 6 مرحله
تصویری: لیزر مادون قرمز و التراسونیک در فلزیاب 2024, جولای
Anonim
Image
Image

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

هدف من ایجاد یک سیستم بسیار ساده و ارزان LIDAR با آن و پیاده سازی دستگاه نقشه برداری است.

تدارکات

  • آردوینو (من از Maple Mini استفاده کردم)
  • سنسور فاصله تیز (من از Sharp GP2Y0A02YK0F استفاده کردم)
  • میکرو سرو (9 گرم)
  • تخته نان ، سیم
  • اختیاری: مقاومت 4.7k ، خازن 100nF

مرحله 1: سنسور مادون قرمز VS اولتراسونیک

شماتیک
شماتیک

تفاوت اصلی بین سنسورهای فراصوت و مادون قرمز این است که سنسور اولتراسونیک فاصله را در محدوده وسیع تری اندازه گیری می کند. بنابراین نمی تواند موقعیت موانع را دقیقا مشخص کند. به این معنی که فاصله نزدیکترین جسم را که در محدوده زاویه ~ +-30 درجه قرار دارد اندازه می گیرد.

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

مرحله 2: شماتیک

شماتیک
شماتیک
شماتیک
شماتیک

ایجاد ارتباط بین قطعات بسیار ساده است. یک خروجی PWM و یک ورودی آنالوگ در برد Arduino خود انتخاب کرده و سنسورهای فاصله Servo و Sharp را به آن پین ها وصل کنید. من برای این منظور از پین های زیر استفاده کردم:

  • PA0: ورودی آنالوگ برای سنسور فاصله شارپ
  • PA9: خروجی PWM برای سروو

گاهی اوقات حسگر IR شارپ می تواند خروجی پر سر و صدا داشته باشد ، بنابراین باید یک فیلتر ساده Low Pass روی آن قرار دهید. من از یک مقاومت 4.7k و یک خازن 100nF برای کاهش نویز در پین آنالوگ استفاده کردم. علاوه بر این ، مقدار اندازه گیری شده در کد را با خواندن چندین بار و محاسبه میانگین فیلتر کردم.

مرحله 3: سنسور مشخصه

سنسور مشخصه
سنسور مشخصه
سنسور مشخصه
سنسور مشخصه

متأسفانه سنسور فاصله مادون قرمز استفاده شده دارای ویژگی غیر خطی است. به این معنی که برای بدست آوردن فاصله ، کافی نیست که مقدار اندازه گیری شده ADC را با یک مقدار ثابت ضرب کرده و یک مقدار ثابت دیگر به آن اضافه کنیم.

اگرچه برگه داده سنسور ویژگی را ارائه می دهد ، من ترجیح می دهم آن را در پروژه خاص خودم اندازه گیری کنم (ممکن است به ولتاژ استفاده شده بستگی داشته باشد). برای این کار ، از مقدار و فاصله ADC اندازه گیری شده برای هر 10 سانتی متر جفت می کنم. (سنسور من توانست فاصله صحیح را از 12 سانتی متر اندازه گیری کند).

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

شما یک کد آردوینو ساده در انتهای سند برای اندازه گیری مقدار ADC در طول اندازه گیری مشخصه خواهید یافت.

مرحله 4: ارتباط سریال

ارتباط سریال
ارتباط سریال

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

این پروکوتول قادر است انواع مختلف پیام را به روشی کلی تعریف کند. در این پروژه از 2 نوع پیام استفاده کردم:

  • پارامترها: برای ارسال پارامترها به برنامه PC استفاده می شود که در Arduino مانند حداکثر فاصله و تعداد موانع در یک دور تعریف شده است.
  • مانع: برای ارسال یک مانع شناسایی شده استفاده می شود. با زاویه سروو و اندازه گیری فاصله مشخص می شود. موقعیت x-y توسط برنامه PC محاسبه می شود.

مرحله 5: برنامه Qt

برنامه Qt
برنامه Qt

برای برقراری ارتباط با آردوینو و رسم نقاط اندازه گیری شده مانند یک رادار ، من یک برنامه رایانه شخصی در Qt (C ++) تهیه کردم. برخی از پارامترها (تعریف شده در آردوینو) و نقاط فاصله اندازه گیری شده را دریافت می کند.

همچنین می توانید برنامه و کد منبع آن را بارگیری کنید.

مرحله 6: کد منبع آردوینو

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

توجه داشته باشید که اگر ویژگی سنسور فاصله Sharp را تغییر دهید ، باید مقادیر آرایه distAdcMap را تغییر دهید!

  • InfraRadar.c: کد رادار. آن را کپی کرده و در پروژه آردوینو خود جایگذاری کنید.
  • InfraRadarMeasurement.c: کد اندازه گیری مشخصه. آن را کپی کرده و در پروژه آردوینو خود جایگذاری کنید. از Serial Console برای بررسی مقادیر ADC استفاده کنید.

توصیه شده: