آموزش آردوینوپروژه های آردوینو

پروژه واقعیت مجازی با آردوینو (ساخت دستکش VR)

سلام. پروژه واقعیت مجازی با آردوینو (آموزش ساخت دستکش VR با Arduino) را آماده کردیم. این پروژه یک نوع پردازش تصویر نیز به حساب می آید.

طراحی دست کش واقعیت مجازی با آردوینو

در این پروژه آردوینو قصد داریم نحوه اجرای واقعیت مجازی با Arduino و Processing بیاموزیم. در این پروژه ما دست خود را جلوی کامپیوتر میگیریم و نشانگر را به مکان مورد مظر منتقل میکنیم. در این آموزش می آموزیم چطور با حرکت دست جلوی وب میتوان روی رایانه چیزی کشید. همچنین با این پروژه و حرکت دادن دست میتوان لامپ ها را روشن و خاموش کرد.

برای تحقق این امر، باید از قدرت آردوینو و پردازش (Processing) استفاده کنیم. بسیاری از شما با آردوینو آشنا هستند، اما پردازش ممکن است برای شما چیز جدید باشد. پردازش برنامه ای دقیقاً مانند Arduino است یعنی رایگان و متن باز (Open Source). با استفاده از پردازش می توانید برنامه های ساده سیستم، برنامه های Android و… را ایجاد کنید. همچنین Processing توانایی انجام پردازش تصویر و تشخیص صدا را نیز دارد. این نرم افزار مثل آردوینو است و یادگیری آن بسیار آسان است ، اما اگر کاملاً تازه کار هستید نگران نباشید، زیرا این آموزش و کد های آن به طور کامل قرار گرفته اند و همچنین تا حد الامکان قسمت های کد را توضح داده ایم. میتوان گفت هر کسی با استفاده از این آموزش میتواند این پروژه را در حانه اجرا کند.

فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

برای یادگیری آردوینو (برنامه نویسی، ساخت ربات، ارتباط با اندروید) روی دوره آموزش آردوینو کلیک کنید.
برای یادگیری کامل الکترونیک روی دوره آموزش الکترونیک کلیک کنید.

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

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

ممکن است پیچیده به نظر برسد اما ، به من اعتماد کنید. آنقدر که به نظر می رسد سخت نیست.

مدار واقعیت مجازی با آردوینو

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

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

طراحی دست کش واقعیت مجازی با Arduino

سنسور هالو ماژول بلوتوث همانطور که در شکل زیر نشان داده شده به کانکتور وصل می شود. (میتوانید با استفاده از سیم های دیگر متصل کنید)

پروژه واقعیت مجازی با آردوینو و Processing

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

واقعیت مجازی آردوینو چگونه کار میکند ؟

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

  1. برد آردوینو نانو
  2. سنسور هال A3144 – دو عدد
  3. یک قطعه کوچک از آهنربا
  4. ماژول بلوتوث (HC-05 / HC-06)
  5. مقاومت 10 کیلو اهم – دو عدد
  6. باتری 9 ولت
  7. دستکش
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

حالا به بخش برنامه نویسی پروژه میرسیم.

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

کد آردوینو طراحی سیستم VR

هدف این کد دریافت وضعیت سنسور های هال ارسال شده توسط ماژول بلوتوث است. همچنین باید بتواند لامپ را روشن و خاموش کند. کد کامل پروژه در انتهای مطلب قرار داده شده است. در اینجا بخش های مهم کد را بررسی میکنیم.

if (Phs1!=HallState_1 || Phs2!=HallState_2) //بررسی فشرده بودن دکمه ها
 {
if (HallState_1==LOW && HallState_2==LOW) // سنسور هال 1 و 2 فشرده نشده
Aisha.write(1);
if (HallState_1==HIGH && HallState_2==LOW) // سنسور هال 1 فشرده شده 2 فشرده نشده
Aisha.write(2);
if (HallState_1==LOW && HallState_2==HIGH) // سنسور هال 1 فشرده نشده 2 فشرده شده 
Aisha.write(3);
if (HallState_1==HIGH && HallState_2==HIGH) // سنسور هال 1 و 2 فشرده شده
Aisha.write(4);
 }

همانطور که در کد بالا میبینید، ما بر اساس وضعیت سنسور های هال، یک مقدار خاصی را به وسیله بلوتوث ارسال میکنیم. به عنوان مثال اگر سنسور هال 1 زیاد باشد و سنسور هال 2 کم باشد ، عدد “2” را از طریق ماژول بلوتوث ارسال خواهیم کرد. حتما مقادیر را در ماژول BT بنویسید “(Aisha.write(4” و آنها را چاپ (print) نکنید.

if (BluetoothData=='y') 
digitalWrite(ledpin,HIGH);
if (BluetoothData=='n')
digitalWrite(ledpin,LOW);

این خطوط برای روشن و خاموش کردن LED آن برد که به پین ​​13 وصل می شود، براساس مقدار دریافت شده توسط ماژول BT، استفاده می شوند. به عنوان مثال اگر ماژول y را دریافت کند، LED روشن می شود و اگر یک n دریافت کند، آن را خاموش می کند. (میتوانید پین را تغییر دهید و آن را به یک رله متصل کنید. در این صورت شما میتوانید هر وسیله را روشن و خاموش کنید)

توضیحات برنامه Processing واقعیت مجازی

هدف از برنامه Processing ایجاد یک سیستم است که می تواند به عنوان UI (رابط کاربری) عمل کند و همچنین پردازش تصویر را برای ردیابی یک شی خاص انجام دهد. در اینجا شیئ آبی را که در بالا به دستکشهایمان چسبیده ایم ردیابی می کنیم. این برنامه در اصل دارای چهار صفحه است.

  1. صفحه کالیبراسیون
  2. صفحه اصلی
  3. صفحه نمایش رنگ
  4. صفحه نمایش دکمه کنترل LED

ما می توانیم با تکان دادن دستان خود و حرکت دادن آن (در هوا) ، از یک صفحه به صفحه دیگر حرکت کنیم. همچنین می توانیم برای کنترل LED یا ترسیم چیزی روی صفحه، بر روی مکان های مورد نظر کلیک کنیم.

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

  1. اگر قبلا نصب نکرده اید، JAVA را در رایانه خود نصب کنید.
  2. You Cam perfect را روی رایانه خود نصب کنید
  3. Arduino خود را روشن کرده و رایانه خود را با ماژول بلوتوث جفت کنید
  4. فایل برنامه را راه اندازی کنید
  5. اگر همه چیز خوب پیش برود، باید بتوانید LED را در ماژول بلوتوث ثابت ببینید و چراغ وب کم روشن شود. اگر مشکلی دارید از طریق بخش نظرات به من برسید و من به شما کمک می کنم.

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

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

port = new Serial(this,Serial.list()[1],9600);

در اینجا من پورت COM را انتخاب کرده ام که برای من COM5 است (به تصویر زیر مراجعه کنید). همچنین تعیین کردیم که ماژول بلوتوث روی نرخ باود 9600 کار میکند.

توضیحات برنامه Processing واقعیت مجازی

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

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

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

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

کالیبراسیون دستکش VR با Arduino

حالا انگشت شست انگشت خود را با انگشت اشاره لمس کنید و باید پیام “Key 1 Pressed” را ببینید و وقتی انگشت شست را با انگشت میانی فشار می دهید باید “Key 2 Pressed” را ببینید. این نشان می دهد که همه چیز خوب است و کالیبراسیون به پایان رسیده است. حالا روی دکمه Done کلیک کنید.

کالیبراسیون واقعیت مجازی با آردوینو

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

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

دانلود فایل های پروژه

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

برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام آیرنکس عضو شوید.

تصویر از محمد رحیمی

محمد رحیمی

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

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

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