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

کنترل کامپیوتر با حرکت دست جلوی التراسونیک (پروژه آردوینو و پایتون)

سلام. آموزش کنترل کامپیوتر و لپتاپ با حرکت دست جلوی سنسور التراسونیک (پروژه آردوینو و پایتون) را آماده کردیم.

آموزش کنترل لپ تاپ با حرکت دادن دست جلوی نمایشگر

اخیراً لپ تاپ ها یا رایانه های تحت کنترل دست بسیار مشهور شده اند. این تکنیک Leap حرکت نام دارد که به ما امکان می دهد عملکردهای خاصی را روی رایانه/لپ تاپ خود با استفاده از حرکت دست انجام دهیم. انجام این کار بسیار جالب و سرگرم کننده است، بنابراین در این پروژه آردوینو سعی شده است با ترکیب Arduino و پایتون، لپ تاپ / کامپیوتر کنترل دست خود را راه اندازی کنیم.

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

حتما ببینید :  ساخت اسیلوسکوپ با آردوینو و پایتون (آموزش کامل راه اندازی پروژه با Arduino)

مفهوم این پروژه بسیار ساده است. ما دو سنسور اولتراسونیک (US) را در بالای مانیتور خود قرار خواهیم داد و فاصله مانیتور و دست خود را با استفاده از آردوینو می خوانیم، بر اساس این مقدار مسافت اقدامات خاصی را انجام خواهیم داد. برای انجام اقدامات بر روی رایانه ما از کتابخانه Python pyautogui استفاده می کنیم. دستورات Arduino از طریق درگاه سریال (USB) به رایانه ارسال می شود. این داده ها توسط پایتون که بر روی رایانه اجرا می شود خوانده می شوند و بر اساس داده های خوانده شده یک عمل خاص انجام می شود.

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

  1. برد آردوینو Uno
  2. سنسور التراسونیک HC-SR04 – دو عدد

مدار پروژه کنترل فیلم با حرکت دست در آردوینو

مدار پروژه کنترل فیلم با حرکت دست در آردوینو

همانطور که در شماتیک پروژه میبینید، مدار بسیار ساده است. برای کنترل رایانه شخصی با حرکات دست ، کافیست دو سنسور اولتراسونیک را به آردوینو متصل کنید. ما می دانیم که سنسورهای التراسونیک با 5 ولت کار می کنند و از این رو توسط تنظیم کننده ولتاژ آردوینو  تغذیه میشوند. آردوینو را می توان برای تغذیه ماژول و همچنین برای ارتباط سریال به کامپیوتر/لپ تاپ متصل کرد. پس از اتمام اتصالات، مطابق شکل زیر آنها را روی مانیتور خود قرار دهید. من از نوار دو طرفه استفاده کرده ام تا بتوانم آن را روی مانیتور خود بچسبانم اما می توانید از خلاقیت خود استفاده کنید.

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

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

با خواندن مقدار فاصله می توانیم به اقدامات خاصی برسیم که با حرکات کنترل شوند، برای مثال در این برنامه من 5 عمل را برنامه ریزی کرده ام.

عمل 1: هنگامی که هر دو دست در فاصله مشخصی از حسگر قرار می گیرند، فیلم در پخش کننده VLC باید پخش یا متوقف شود.

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

عمل 3: هنگامی که دست چپ در فاصله مشخصی از حسگر قرار می گیرد، فیلم باید به عقب برود.

عمل 4: هنگامی که دست راست جلوی سنسور در فاصله ای نزدیک قرار بگیرد و به جلو برود فیلم باید به جلو برود و در صورتی که به عقب برود فیلم به عقب برگردد.

عمل 5: هنگامی که دست چپ جلوی سنسور در فاصله ای نزدیک قرار بگیرد و به جلو برود صدا باید افزایش یابد و در صورتی که به عقب برود صدا باید کاهش یابد.

مشاهده فیلم انتهای مطلب به شما در درک این 5 عمل کمک خواهد کرد.

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

قبل از انجام هر عملی باید فاصله بین سنسور و دست را محاسبه کنیم. بنابراین باید بارها این کار را انجام دهیم، به این معنی که این کد باید به عنوان یک تابع استفاده شود. ما تابعی با نام calculate_distance () نوشتیم که فاصله بین سنسور و دست را به ما میگوید.

/*###تابع محاسبه فاصله سنسور از دست###*/
void calculate_distance(int trigger, int echo)
{
digitalWrite(trigger, LOW);
delayMicroseconds(2);
digitalWrite(trigger, HIGH);
delayMicroseconds(10);
digitalWrite(trigger, LOW);

time_taken = pulseIn(echo, HIGH);
dist= time_taken*0.034/2;
if (dist>50)
dist = 50;
}

با استفاده از تابع بالا ما فاصله را اندازه میگیریم و عملی را انجام میدهیم. در اینجا ما عمل 1 را توضیح میدهیم با دانلود فایل کامل میتوانید تمامی اعمال را ببینید.

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

calculate_distance(trigger1,echo1);
distL =dist; //فاصله سنسور با دست

calculate_distance(trigger2,echo2);
distR =dist; //فاصله سنسور با دست

و با کد زیر عمل مورد نظر خود را ارسال میکنیم که Play/Pause است.

if ((distL >40 && distR>40) && (distL <50 && distR<50)) //تشخیص دو دست
{Serial.println("Play/Pause"); delay (500);} // ارسال دستور سریال Play/Pause

این دستور سریال ارسال میشود و توسط برنامه پایتون اجرا میشود.

حتما ببینید :  پروژه آردوینو قفل کامپیوتر با RFID ( لاگین ویندوز با تگ آرفید )

آموزش برنامه نویسی پایتون برای انجام عمل

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

نصب ماژول pyautogui برای ویندوز

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

مرحله 1: CMD ویندوز را باز کنید و پوشه را  که پایتون را در آن نصب کرده اید تغییر دهید. به طور پیش فرض  را وارد کنید.

cd C:\Python27

مرحله 2: در داخل دایرکتوری پایتون از دستور python –m pip install –upgrade pip استفاده کنید تا Pip خود را به روز کنید. Pip ابزاری در پایتون است که به ما کمک می کند تا ماژول های پایتون را به راحتی نصب کنیم.

python –m pip install –upgrade pip

مرحله 3: سپس دستور زیر را وارد کنید تا کتابخانه ماژول مورد نیاز ما نصب شود. پس از نصب شما باید تصویری شبیه به تصویر پایین مشاهده کنید.

python –m pip install –upgrade pip

پس از نصب موفقیت آمیز این کتابخانه، باید عمل ها را در پایتون نیز تعریف کنیم. ما در اینجا همان عمل 1 را برای پایتون نیز تعریف میکنیم و برای مشاهده کد کامل که دارای 5 عمل است باید فایل انتهای صفحه را دانلود کنید.

به کد زیر دقت کنید. ما در قسمت کد آردوینو گفتیم که هر گاه دو دست در فاصله معین سنسور ها قرار گرفت، دستور سریال Play/Pause ارسال شود. حالا با کد زیر تعریف میکنیم که هنگامی که دستور Play/Pause دریافت شد، دستوری به ویندوز ارسال شود که انگار کلید Space فشرده شده است. شما به راحتی میتوانید این دستورات را تغییر دهید و به طور مثال کلید های مورد نیاز خود را تنظیم کنید.

    if 'Play/Pause' in incoming:
        pyautogui.typewrite(['space'], 0.2)

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

فیلم عملکرد مدار : کلیک کنید !

موارد موجود در فایل : شماتیک کامل مدار ، سورس کامل

[post_shop]

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

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

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

محمد رحیمی

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

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

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

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