پروژه الکترونیکپروژه های Processingپروژه های آردوینوپروژه های بازی و سرگرمیپروژه های پردازش تصویر

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

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

طراحی دست کش واقعیت مجازی با 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 را در ماژول بلوتوث ثابت ببینید و چراغ وب کم روشن شود. اگر مشکلی دارید از طریق بخش نظرات به من برسید و من به شما کمک می کنم.
حتما ببینید :  پروژه شمارنده معکوس با آردوینو (آموزش کامل ساخت تایمر با Arduino)

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

پردازش توانایی خواندن داده های سریال را دارد، در این برنامه داده های سریال از درگاه 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 ، به صفحه اصلی هدایت خواهید شد که می توانید در هوا دست خود را تکان دهید ، نقاشی بکشید یا چراغ را روی صفحه آردوینو روشن و خاموش کنید. فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

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

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

[post_shop]

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

[/post_shop] [lrm_form default_tab=”register” logged_in_message=””]

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

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم.

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

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

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