فهرست مطالب:

ربات التماس با پیگیری صورت و کنترل توسط کنترلر ایکس باکس - آردوینو: 9 مرحله (همراه با تصاویر)
ربات التماس با پیگیری صورت و کنترل توسط کنترلر ایکس باکس - آردوینو: 9 مرحله (همراه با تصاویر)

تصویری: ربات التماس با پیگیری صورت و کنترل توسط کنترلر ایکس باکس - آردوینو: 9 مرحله (همراه با تصاویر)

تصویری: ربات التماس با پیگیری صورت و کنترل توسط کنترلر ایکس باکس - آردوینو: 9 مرحله (همراه با تصاویر)
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, جولای
Anonim
Image
Image
نصب و پیکربندی OpenCV و C ++
نصب و پیکربندی OpenCV و C ++

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

مرحله 1: مواد

سخت افزار الکترونیکی

  • آردوینو NANO یا UNO
  • دوربین USB 2.0
  • کابل های جامپر (زن و مرد)
  • 2 x سروو - عمومی (اندازه زیر میکرو)
  • 2 x LED - RGB CATHODE 5 میلی متر
  • لیزر 2 x 5mW
  • 1 x LED قرمز 5 میلی متر
  • 1 عدد تخته نان
  • مقاومت 4 x 220Ω
  • 1 x 1KΩ مقاومت
  • 1 x صفحه اصلی
  • 1 عدد سنسور سونار 4 پین
  • کنترل کننده ایکس باکس

سخت افزار آنالوگ

  • جعبه چوبی (15 15 15 7 7 سانتی متر)
  • چسب
  • نوار الکتریکی

نرم افزار

  • آردوینو IDE
  • ویژوال استودیو 2017
  • 3Ds Max (یا هر نرم افزار مدلسازی سه بعدی دیگر)
  • Preform 2.14.0 یا بالاتر
  • OpenCV 3.4.0 یا بالاتر

ابزارها

  • تجهیزات لحیم کاری
  • اره و مته
  • سیم چین

مرحله 2: نصب و پیکربندی OpenCV و C ++

نصب و پیکربندی OpenCV و C ++
نصب و پیکربندی OpenCV و C ++

مرحله 2.1: تهیه نرم افزار

Visual studio 2017: بارگیری Visual studio Comunity 2017openCV 3.4.0 Win pack: رفتن به صفحه بارگیری رسمی

مرحله 2.2: نصب OpenCV2.2.1: فایل zip را در درایو Windows (: C) خود استخراج کنید. 2.2.2: به تنظیمات پیشرفته سیستم خود بروید. این را می توان در تابع جستجوی win10 خود یافت. محیط "Path" را پیدا کنید و ویرایش را فشار دهید.2.2.4: اکنون باید محل "bin map" را به متغیر جدیدی در Path enviromental اضافه کنیم. اگر openCV را روی درایو C خود نصب کرده اید ، مسیر می تواند به این صورت باشد: C: / opencv / build / x64 / vc14 / bin مسیر را جایگذاری کرده و "OK" را در تمام پنجره هایی که ممکن است در این فرآیند باز کرده باشید فشار دهید.

مرحله 2.3: پیکربندی visual studio C ++ 2.3.1: یک پروژه بصری جدید C ++ بسازید. 2.3.2: در برگه فایلهای منبع ، راست کلیک کرده و یک فایل C ++ جدید (.cpp) اضافه کنید و نام آن را "main.cpp" بگذارید.2.3.3: روی پروژه راست کلیک کنید- نام را در Solution explorer انتخاب کرده و Properties را انتخاب کنید. 2.3.4: ما باید Include Directories اضافی را اضافه کنیم. این را می توان به طور کلی در برگه C/C ++ پیدا کرد. مسیر زیر را کپی کنید: C: / opencv / build / include و در پشت "AID" جایگذاری کرده و روی Apply کلیک کنید. 2.3.5: در همان پنجره ما باید برگه "Linker" را انتخاب کنید. به طور کلی ما نیاز به ایجاد فهرست راهنمای کتابخانه ای دیگر داریم. مسیر زیر را در پشت "AID" C قرار دهید: / opencv / build / x64 / vc14 / lib و دوباره Apply را فشار دهید. 2.3.6: در زیر همان تب Linker ، زبانه "Input" را انتخاب کنید. و "Additional Dependencies> edit" را فشار دهید و فایل زیر را opencv_world320d.lib و xinput.lib (برای کنترلر) بچسبانید و دوباره اعمال کنید. پنجره را ببندید. اکنون فایل C ++ شما آماده کار با آن است.

مرحله 3: راه اندازی آردوینو

راه اندازی آردوینو
راه اندازی آردوینو
راه اندازی آردوینو
راه اندازی آردوینو
راه اندازی آردوینو
راه اندازی آردوینو
راه اندازی آردوینو
راه اندازی آردوینو

ملاقات با سروها: سروها قابلیت چرخش 160 درجه دارند. برای عملکرد عادی باید بین 4 ، 8 و 6 ، 0 ولت داشته باشند. سروو دارای 3 پین است: زمین ، 4 ، 8 - 6 ، پین 0 ولت و داده سنجاق کردن برای پروژه ما ، پین های داده سرویس ها را روی DigitalPin 9 و 10 تنظیم می کنیم.

ملاقات با رهبری RGB: چراغ های RGB دارای 4 پین هستند. قرمز ، سبز ، آبی و پایه پایه. به منظور صرفه جویی در فضا در آردوینو ، می توانیم 2 LED RGB را به یکدیگر متصل کنیم. بنابراین ما فقط از 3 پین استفاده خواهیم کرد. ما می توانیم LED های RGB را مانند یک تصویر در یک پیشخوان متصل کرده و به هم لحیم کنیم.

ملاقات با زنگ پیزو: ربات کوچک ما قصد دارد سر و صدا ایجاد کند. برای این کار باید به او صدایی بدهیم! ما می توانیم انتخاب کنیم که او را واقعا بلند کند. یا می توانیم یک مقاومت 220Ω را قبل از زنگ پیزو قرار دهیم تا او کمی ناخوشایند شود. ما زمزمه Piezo را روی تخته نان می گذاریم. بنابراین نیازی به لحیم کاری نیست. ما پین داده (+) را به DigitalPin 2 و پین زمین را به تخته روی نانبرد متصل می کنیم.

ملاقات با سونار: به منظور جلوگیری از تلاش روبات برای هدف قرار دادن شخصی که در فاصله 10 متری قرار دارد. ما می توانیم فاصله ربات را از جایی که بتواند افراد را هدف قرار دهد ، قرار دهیم. ما این کار را با یک سنسور سونار انجام می دهیم. VCC => 5 ولت Trig => DigitalPin 6Echo => DigitalPin 5GND => زمین

ملاقات با آشکارساز سکه: ما قصد داریم یک آشکارساز سکه بسازیم. آشکارساز سکه با تشخیص بسته بودن یا خرابی مدار کار می کند. تقریباً مانند یک سوئیچ کار می کند. اما ما باید مراقب باشیم. اگر این کار را اشتباه انجام دهیم ، هزینه آردوینو برای ما هزینه دارد. اول: AnalogPin A0 را به کابل 5 ولت وصل کنید. اما مطمئن شوید که یک مقاومت 1KΩ بین آن قرار دهید. دوم: سیم را به زمین وصل کنید. ما می توانیم بلافاصله سیم ها و مقاومت را به همان صفحه اصلی که RGB هدایت می کند بچسبانیم. حالا اگر دو سیم را لمس کنیم ، آردوینو یک مدار بسته را تشخیص می دهد. این بدان معناست که یک سکه وجود دارد! ملاقات با لیزرهای عذاب. روبات برای شلیک به سلاح های خود نیاز دارد! برای صرفه جویی در فضا ، من 2 لیزر را با هم لحیم کردم. آنها کاملاً در قاب دوربین قرار می گیرند. آنها را به DigitalPin 11 و زمین متصل کنید. پسر کوچک را آتش بزنید!

ترفند اختیاری. ما می توانیم یک LED قرمز را در زیر سکه قرار دهیم. این یک ترفند کوچک سرگرم کننده برای هنگام تاریکی خواهد بود. یک سیم را به DigitalPin 8 وصل کنید و یک مقاومت 220Ω بین LED و سیم قرار دهید تا از انفجار آن جلوگیری شود. پین کوتاه LED را به زمین وصل کنید.

مرحله 4: کد C ++

مرحله 4.1: تنظیم کد main.cpp4.1.1: "main.cpp" را بارگیری کرده و کد را در main.cpp.4.1.2 خود کپی کنید: در خط 14 "com" را به com مورد استفاده آردوینو تغییر دهید. "\. / COM (تغییر این)" 4.1.3: در خط 21 و 22 مسیر صحیح فایلهای "haarcascade_frontalface_alt.xml" و "haarcascade_eye_tree_eyeglasses.xml" را در صورت نصب openCV روی درایو C تنظیم کنید ، این فایلها را می توان در اینجا قرار داد: "C: / opencv / build / etc / haarcascades \" پشت خط های پشتی را نگه دارید یا یکی را در جایی که فقط یک مورد وجود دارد اضافه کنید.

مرحله 4.2: tserial.h و Tserial.cpp را اضافه کنید این 2 فایل ارتباط بین arduino و رایانه را کنترل می کند. 4.2.1: بارگیری tserial.h و Tserial.cpp.4.2.2: این 2 فایل را در پروژه قرار دهید فهرست راهنما. در Solution explorer روی پروژه راست کلیک کرده و add> item موجود را انتخاب کنید. در پنجره باز شده ، دو فایل اضافه شده را انتخاب کنید.

مرحله 4.2: CXBOXController.h و CXBOXController.h را اضافه کنید این فایلها قسمت کنترل پروژه را به عهده می گیرد. 4.2.1: در Solution explorer روی پروژه راست کلیک کرده و add> item موجود را انتخاب کنید در پنجره بازشو ، دو فایل اضافه شده را انتخاب کنید. فایل های C ++ راه اندازی شده اند.

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

مرحله 5.1: کتابخانه NewPing5.1.1: ArduinoCode.ino را بارگیری کرده و آن را در arduino IDE.5.1.2 باز کنید: به "Sketch> Include libary> Manage libaries" بروید.5.1.3: در کادر فیلتر در "NewPing" جستجو کنید. و این کتابخانه را نصب کنید.

مرحله 5.2: Pitches library5.2.1: pitches.txt را بارگیری کرده و محتوای pitches.txt را کپی کنید 5.2.2: در Arduino IDE CTRL+Shift+N را فشار دهید تا یک برگه جدید باز شود. 5.2.3: کد را از pitches.txt را وارد برگه جدید کرده و آن را به عنوان "pitches.h" ذخیره کنید. کد Arduino راه اندازی شده است

مرحله 6: چاپ سه بعدی و اصلاح چاپ

چاپ سه بعدی و اصلاح چاپ
چاپ سه بعدی و اصلاح چاپ
چاپ سه بعدی و اصلاح چاپ
چاپ سه بعدی و اصلاح چاپ

مرحله 6.1: فایل سه بعدی را چاپ کنید printfile.form را باز کنید و بررسی کنید که آیا همه چیز خوب است. اگر همه چیز خوب به نظر می رسد ، چاپ چاپ را به چاپگر ارسال کنید. اگر چیزی به نظر می رسد یا می خواهید مدل را تغییر دهید. من فایل های 3Ds Max و فایل های OBJ را برای ویرایش شما قرار داده ام.

مرحله 6.2: اصلاح مدل 6.2.1: پس از اتمام چاپ ، 2 مدل را در 70٪ الکل خیس کنید تا هرگونه چاپ مجدد حذف شود. مدل را سخت کنید یا می توانید از لامپ UV برای سخت شدن مدل استفاده کنید. این کار باید انجام شود زیرا مدل چسبناک خواهد بود.

6.2.3: چارچوب پشتیبانی را حذف کنید. این را می توان با سیم برش انجام داد. یا هر ابزار دیگری که می تواند پلاستیک را برش دهد. حتی اگر مدل در معرض اشعه ماوراء بنفش زیاد باشد. قسمتهایی که می توانند نرم باشند ، قسمتهایی هستند که به فریم های پشتیبانی نزدیک هستند. مدل را در معرض تابش بیشتر اشعه ماوراء بنفش قرار دهید تا سفت شود. 6.2.5: با یک "dremel" می توانید تمام برآمدگی های کوچک ایجاد شده توسط چارچوب را از بین ببرید. می توانید سعی کنید سروها را در قاب قرار دهید. اگر مناسب نیستند می توانید از Dremel برای سمباده زنی مواد استفاده کنید. متناسب سازد

مرحله 7: ساخت جعبه

ساختن جعبه
ساختن جعبه
ساختن جعبه
ساختن جعبه

مرحله 7.1: ایجاد سوراخ ها من یک طرح از جعبه مورد نظر را درج کرده ام. طرح اصلی در مقیاس نیست ، اما همه اندازه ها درست است. 7.1.1: با علامت گذاری تمام سوراخ ها در مکان های مناسب شروع کنید. 7.1.2: تمام سوراخ ها را ایجاد کنید. حفره های بزرگتر را می توان با Dremel تا اندازه ایجاد کرد. 7.1.1.3: سوراخ های مربعی نیز می توانند سوراخ شوند اما برای مربع جلوه دادن آنها ، می توانید Dremel را با یک فایل کوچک قرار دهید و گوشه های تیز را خارج کنید. 7.1.4: سعی کنید همه اجزا را متناسب کنید. اگر مناسب هستند ، خوب است بروید! 7.1.5: مراقب تکه های چوب باشید. برای از بین بردن آنها از کاغذ شن استفاده کنید.

مرحله 7.2: نقاشی 7.2.1: با سنباده زدن درب شروع کنید. ما نیاز داریم که رنگ بچسبد. 7.2.2: یک پارچه بردارید و کمی سقز روی آن بگذارید تا جعبه تمیز شود.

مرحله 8: پایان کار

پایان دادن به بالا
پایان دادن به بالا
پایان دادن به بالا
پایان دادن به بالا
پایان دادن به بالا
پایان دادن به بالا

مرحله 8.1: آشکارساز سکه 8.1.1: مقداری مهاربند فلزی را برای آشکارساز سکه بچسبانید. 8.1.2: هر سیم را از اتصال به یک مهار لحیم کنید..3: اتصال را با یک سکه آزمایش کنید. اگر مدار بسته ای وجود ندارد ، سیم ها را بیشتر به لبه بچسبانید. مرحله 8.2: صفحه اصلی و led های RGB8.2.1: صفحه اصلی را در گوشه سمت راست بالای صفحه قرار دهید و آن را بچسبانید! 8.2.2: چراغ های RGB را با سیمها وصل کنید 8.2.3: تمام سیمهای صفحه اصلی را به آردوینو وصل کنید. مرحله 8.3: سنسور سونار 8.3.1: سنسور را در سوراخهایی که برای آن ایجاد کرده ایم قرار دهید. اگر سیمهای نر به ماده دارید ، می توانید رد شوید 8.3.28.3.2: برخی از سیم های زن و مرد را به نصف برسانید و سیم های زن و مرد را به هم بچسبانید و یک کابل واحد ایجاد کنید که می توانیم از آن برای اتصال سنسور به آردوینو استفاده کنیم. 8.3.3: سنسور را به آردوینو وصل کنید

مرحله 8.4: لیزرها و دوربین 8.4.1: قاب کوچک را به دوربین بچسبانید. 8.4.2: لیزرها را نیز در قاب قرار دهید. آنها را بچسبانید تا دشمن آنها را نبرد!

مرحله 8.5: Servos و چاپ سه بعدی 8.5.1: سروو را در سوراخ درب بچسبانید 8.5.2: فایل arduino را روی arduino بارگذاری کنید (این باعث می شود سروها در موقعیت مناسب قرار بگیرند) 8.5.3: با سروو یک فلات گرد کوچک این را روی سروو در درب قرار دهید.8.5.4: چاپ سه بعدی بزرگ را روی سروو و فلات قرار دهید و آنها را با یک پیچ محکم با یکدیگر پیچ کنید. 8.5.6: دوربین را در جای خود قرار دهید و همه چیز آماده حرکت است!

مرحله 9: برنامه را شروع کنید

برای راه اندازی ربات فایل C ++ را در Visual studio باز کنید. مطمئن شوید که در "حالت اشکال زدایی" هستید فایل arduino را در arduino بارگذاری کنید. پس از بارگذاری ، مطبوعات را در استودیوی بصری بارگذاری کنید. و ربات تمام سکه های جهان را آتش می زند و جمع آوری می کند !!!

توصیه شده: