اول از همه، ما باید مدار خود را بسازیم. این کمی آسان است! ما از آردوینو برای کنترل سروویی استفاده خواهیم کرد که سنسور ما را حدود 180 درجه میچرخاند . سپس آردوینو مقدار را از سنسور فاصله به همراه زاویه فعلی سروو به پورت سریال ارسال می کند .
قبل از ادامه، لطفاً یک لحظه وقت بگذارید و برخی از کارهای دیگر من با SRF-05 و سرووها را بررسی کنید، اگر با آنها آشنایی ندارید.
Arduino SRF-05 Tutorials
Arduino Servo Tutorials
من این را با سنسور فاصله یاب اولتراسونیک SRF-05 میسازم، اما چون میدان تشخیص نسبتاً گستردهای دارد، خیلی دقیق نیست - فکر میکنم در نهایت یک فاصله یاب متفاوت، شاید یک IR به عنوان به هر حال SRF-05 به عنوان حسگر/ آشکارساز استاتیک بهترین کار را دارد…
لیست قطعات رادار آردوینو
برد یاب التراسونیک SRF05
Arduino Deumilanove با تخته نان ATMEGA328 /
بلوز برد نمونه اولیه
/ سیم های رابط
1x سروو (نیازی به منبع تغذیه بیش از 5 ولت ندارد)
همچنین به روشی برای نصب سنسور به سروو نیاز دارید.
مدار سروو رادار آردوینو
مستقیماً، ما آردوینو داریم که به برد برد برق میدهد و سروو و SRF-05 این قدرت را به اشتراک میگذارند. سپس ما پین خروجی سروو را داریم که به پین دیجیتال آردوینو 9 می رود و پین های SRF-05 به پین دیجیتال 2 و 3 می رود. متوجه خواهید شد که در عکس هایم 2 سروو دارم – من فقط از یکی از پایین ترین ها استفاده می کنم. جفت برای چرخاندن سنسور به دور. در سروو خود باید راهی برای نصب سنسور روی چرخ سروو پیدا کنید - من از بلو تاک زیادی استفاده کردم! همچنین خواهید دید که من سنسور خود را بهصورت عمودی نصب کردهام تا وقتی سروو حرکت میکند تداخل کمتری با مقادیر دریافتی داشته باشد - به نظر میرسد قرار دادن سنسور به صورت افقی، تا و گاهی بیش از 5 سانتیمتر بین قرائتهای اول و دوم اختلاف ایجاد میکند. .
سرووهای من کمی به حرکت در می آیند، بنابراین من از خاک رس بلو-تاک/ مدل سازی بیشتری برای نگه داشتن آنها و در جای خود استفاده کرده ام - اگر سرووها به غیر از روشی که قرار است حرکت کنند، به معنای خوانش های مبهم است.
طرح رادار آردوینو SRF05
سخت ترین بیت - سروو را از چپ به راست بچرخانید، سپس از راست به چپ بچرخانید و برای هر درجه حرکت، یک سری خوانش بگیرید و آنها را به پورت سریال ارسال کنید. ما می خواهیم یک مقدار خواندن متوسط برای ثبات تولید کنیم. متأسفانه با استفاده از این سنسور اولتراسوند، ما باید بسیار کند باشیم تا مطمئن شویم که مقادیر دقیق را دریافت می کنیم و باید زمانی را در نظر بگیریم که سیگنال هر بار برگردد و ثبت شود تا مقدار متوسط تولید شود.
ما چرخش را با استفاده از یک حلقه for انجام می دهیم تا تا 180 بشماریم و برای هر تکرار بسته به سمتی که می رویم، سروو را با 1+ یا -1 حرکت می دهیم - اگر سرووهای خود را هک کرده اید، می توانید یک حلقه کامل 360 انجام دهید. . در طول این حلقه یک حلقه FOR دیگر برای شمارش تا 10/ numReadings انجام می دهیم و برای هر تکرار فاصله اندازه گیری شده را به مجموع اضافه می کنیم و پس از 10 خواندن، با تقسیم کل بر تعداد خوانده ها، میانگین خود را به دست می آوریم. سپس کل و شمارنده را مجدداً تنظیم کنید تا برای موقعیت سروو بعدی دوباره شروع شود. در نهایت قبل از اتمام حلقه FOR برای سروو، موقعیت سروو و میانگین خواندن هر کدام را با یک کاراکتر قبلی به پورت سریال خروجی میدهیم تا بعداً برای شناسایی مقادیر هنگام خواندن پورت سریال در پردازش استفاده کنیم. آخرین خط از println استفاده می کند که یک خط جدید را برای مجموعه مقادیر بعدی شروع می کند - هر خواندن خط مخصوص به خود را در بافر سریال دارد که بازگرداندن مقادیر ما را بسیار آسان تر می کند.
برای جزئیات بیشتر: آردوینو + پردازش - ساخت یک صفحه رادار برای تجسم داده های حسگر از SRF-05 - قسمت 1
در ادامه، متن انگلیسی این مطلب را میتوانید مشاهده نمایید:
First things first, we need to build our circuit. This is the easy bit! We’ll be using the Arduino to control a servo that will rotate our sensor around 180 degrees. The Arduino will then send the value from the distance sensor along with the current angle of the servo to the serial port.