پروژه الکترونیکپروژه های آردوینوپروژه های بلوتوثپروژه های پایتونپروژه های پردازش تصویرپروژه های ربات

ربات تشخیص چهره و دنبال کننده صورت با آردوینو و Processing

سلام. پروژه ربات تشخیص چهره و دنبال کننده صورت با آردوینو را آماده کردیم.

پروژه ربات تشخیص صورت و دنبال کننده چهره با Arduino

تا به حال شده است که بخواهید پروژه تشخیص چهره را بدون استفاده از برنامه نویسی های دیگر مثل OpenCV ، ویژوال بیسیک #C و … بسازید ؟ در این پروژه آردوینو ما با استفاده از مخلوط کردن قدرت Arduino و اندروید یک بازوی رباتیک دنبال کننده صورت را میسازیم. مزیت این پروژه این است که نیازی به خرید ماژول دوربین ندارید و با دوربین گوشی این کار انجام میشود. همچنین نیازی نیست که آردوینو به کامپیوتر متصل شود. همچنین ما برای ارتباط Android و Arduino از یک ماژول بلوتوث استفاده میکنیم. برنامه اندرویدی استفاده شده در این پروژه با استفاده از Processing اندروید تولید شده است. میتوانید در انتهای صفحه این برنامه را دانلود کنید.

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

در انتهای مطلب فیلم عملکرد پروژه و توضیحات کامل کد پروژه را مشاهده میکنید.

چاپ سه بعدی قطعات (اختیاری)

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

ربات تشخیص چهره با آردوینو

چاپ سه بعدی ابزاری شگفت انگیز است که می تواند در ساخت و آزمایش پروژه ها با طرح های مکانیکی کمک شایانی کند.  اگر به چاپگر 3 بعدی دسترسی دارید، می توانید از فایل های چاپ سه بعدی در انتهای مطلب قرار گرفته اند استفاده کنید و قطعات خود را چاپ کنید. ما برای چاپ پرونده های STL از نرم افزاری به نام Cura استفاده می کنیم. تنظیماتی که ما برای چاپ مواد استفاده کرده ایم در زیر آورده شده است که می توانید از همان استفاده کنید یا آنها را بر اساس چاپگر خود تغییر دهید.

چاپ سه بعدی قطعات ربات

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

حتما ببینید :  ساخت سرور بلوتوث کم مصرف BLE با ESP32 (+پروژه نمایش میزان باتری)

پروژه ربات تشخیص صورت و دنبال کننده چهره با Arduino

توضیحات شماتیک مدار

مدار پروژه ردیابی چهره با آردوینو و تلفن هوشمند در تصویر زیر نشان داده شده است.

توضیحات شماتیک مدار ربات دنبال کننده چهره

همانطور که در شماتیک مدار دیده میشود، مدار ما دارای 2 سروو موتور است. یکی برای جابجایی تلفن به سمت چپ و راست است و دیگری برای تنظیم شیب تلفن همراه است. جهت حرکت سروو موتور توسط آردوینو نانو کنترل میشود. اطلاعات حرکت نیز توسط ماژول بلوتوث Hc 05 در اختیار Arduino قرار میگیرند. تمام مدار نیز با یک باتری 9 ولت تغذیه میشود. این مدار را می توان به راحتی بر روی برد بورد متصل کرد.

قطعات مورد نیاز

  1. آردوینو نانو
  2. موتور سروو SG90 -دو عدد
  3. ماژول بلوتوث HC-05 / HC-06
  4. باتری 9 ولت

تنظیمات برنامه اندروید تشخیص چهره

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

  1. فایل APK را در انتهای صفحه بارگیری کنید.
  2. مدار را روشن کنید.
  3. در تنظیمات تلفن خودماژول بلوتوث با نام “HC-05” را جستجو کنید. (اگر نام ماژول خود را تغییر داده اید، نام آن را دوباره به HC-05 تغییر دهید.)
  4. به ماژول بلوتوث خود متصل شوید. در صورت درخواست رمز 000 و 1234 را امتحان کنید.
  5. شما باید تصویر دوربین خود را در صفحه ببینید و همچنین در بالای صفحه عبارت Connected to : HC-05 را مشاهده کنید.
  6. دوربین خود را جرکت دهید، باید مربع سبزی را روی چهره روبروی توسط دوربین مشاهده کنید.

تنظیمات برنامه اندروید تشخیص چهره

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

می توانید با آوردن پیشرفتهای زیادی که نیازی به رمزگذاری برنامه Android خودتان نیستید ، این پروژه ردیابی چهره Arduino را به سطح بعدی برسانید. ایجاد یک برنامه اندرویدی ممکن است دشوار به نظر برسد اما با کمک پردازش به من اعتماد کنید که می توانید در هیچ زمان یادگیری آن را یاد بگیرید. كد پردازش كامل كه براي ساخت اين برنامه استفاده مي شود را مي توان در اينجا بارگذاري كرد. شما می توانید با خلاقیت خود پیشرفت کنید. برای کسب اطلاعات بیشتر در مورد پردازش ، پروژه های زیر را بررسی کنید:

توضیحات کد پروژه ردیابی چهره با آردوینو

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

حتما ببینید :  اندازه گیری جمعیت با پردازش تصویر رزبری پای و OpenCV

برنامه آردوینو برای این پروژه نسبتاً ساده است، فقط باید بر اساس مقادیر دریافت شده از ماژول بلوتوث، مسیر دو موتور سروو را کنترل کنیم. کد کامل را می توانید در انتهای این آموزش دریافت کنید. در اینجا چند خط مهم از کد Arduino را توضیح میدهیم.

در کد زیر اتصال سریال با پین D12 به عنوان RX و D11 به عنوان TX برقرار می شود. از این رو پین D12 باید به TX ماژول بلوتوث و پین D11 به RX ماژول بلوتوث وصل شود.

SoftwareSerial cam_BT(12, 11);  // RX, TX

سپس ماژول بلوتوث را با نرخ باود 9600 راه اندازی میکنیم. اطمینان حاصل کنید که ماژول نیز با همان نرخ baud کار می کند. در غیر این صورت آن را تغییر دهید.

cam_BT.begin(9600); //نرخ باود 9600
cam_BT.println("Ready to take commands");

در خط زیر میگوییم آردوینو اطلاعات به دست آمده از گوشی را بخواند. همچنین این داده ها در متغیر “BluetoothData” ذخیره میشوند.

if (cam_BT.available()) //دستور خواندن اطلاعات دریافتی
   {
BluetoothData=cam_BT.read();
Serial.print("Incoming from BT:");
Serial.println(BluetoothData);
}

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

if (BluetoothData==49) //چرخش به چپ
{pos1+=2; servo1.write(pos1);}

if (BluetoothData==50) //چرخش به راست
{pos1-=2; servo1.write(pos1);}

if (BluetoothData==51) //چرخش به بالا
{pos2-=2; servo2.write(pos2);}

if (BluetoothData==52) //چرخش به پایین
{pos2+=2; servo2.write(pos2);}

فیلم و نحوه کار پروژه تشخیص چهره

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

دانلود فیلم عملکرد پروژه دنبال کننده صورت

موارد موجود در فایل : سورس کامل ، شماتیک پروژه ، نرم افزار اندروید

برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا