التحكم بالحاسوب بحركة اليد بدلًا من الفأرة باستخدام الاردوينو

مبتدئ

image_pdf

  الكود البرمجي (بايثون)

افتح برنامج IDLE (Python 3.9 32-bit) من قائمة File اختر New File والصق الكود البرمجي التالي.

التحكم بالحاسوب بحركات اليد

ارفع الكود البرمجي للوحة الاردوينو من قائمة Run انقر على Run module.

import serial #Serial imported for Serial communication
import time #Required to use delay functions
import pyautogui
ArduinoSerial = serial.Serial('com18',9600) #Create Serial port object called arduinoSerialData
time.sleep(2) #wait for 2 seconds for the communication to get established
while 1:
    incoming = str (ArduinoSerial.readline()) #read the serial data and print it as line
    print (incoming)
    if 'Play/Pause' in incoming:
        pyautogui.typewrite(['space'], 0.2)
    if 'Rewind' in incoming:
        pyautogui.hotkey('ctrl', 'left')  
    if 'Forward' in incoming:
        pyautogui.hotkey('ctrl', 'right') 
    if 'Vup' in incoming:         pyautogui.hotkey('ctrl', 'down')     if 'Vdown' in incoming:       pyautogui.hotkey('ctrl', 'up')
  incoming = "";

شرح الكود البرمجي

افتح صفحة جديدة في IDLE Python وقم باستدعاء المكتبات المطلوبة pyautogui, serial python و time.

import serial #Serial imported for Serial communication
import time #Required to use delay functions
import pyautogui

حدد المنفذ COM المستخدم في الاتصال مع الاردوينو.
(هذا سطر قابل للتغيير بناء على نوع المنفذ الذي ستستخدمه في المشروع يمكنك تعيينه عن طريق برنامج اردوينو IDE من قائمة Port).

ArduinoSerial = serial.Serial('com18',9600) #Create Serial port object called arduinoSerialData 
time.sleep(2) #wait for 2 seconds for the communication to get established

 في هذا السطر تتم قراءة المسافة بين اليدين والحساس من المنفذ التسلسلي.

وعلى أساس تلك المسافة يتم تنفيذ الاجراءات وربطها مع اختصارات لوحة المفاتيح.

الاختصارات المستخدمة في هذا الدرس من مشغل VLC:

Space :ايقاف/تشغيل الملف

 Ctrl +  السهم يمين أو يسار: التقديم أو الترجيع دقيقة

Ctrl + السهم للأعلى والأسفل: رفع وخفض مستوي الصوت

while 1:
    incoming = str (ArduinoSerial.readline()) #read the serial data and print it as line
    print incoming
    
    if 'Play/Pause' in incoming:
        pyautogui.typewrite(['space'], 0.2)

    if 'Rewind' in incoming:
        pyautogui.hotkey('ctrl', 'left')  

    if 'Forward' in incoming:
        pyautogui.hotkey('ctrl', 'right') 

    if 'Vup' in incoming:
        pyautogui.hotkey('ctrl', 'down')
        
    if 'Vdown' in incoming:
        pyautogui.hotkey('ctrl', 'up')

ستلاحظ كقدرتك على التحكم بالحاسوب بحركات اليد بدلًا من الفأرة باستخدام الاردوينو يمكنك اختبار صحة الخطوات والاجراءات من خلال الصفحة المنبثقة بعد النقر على Run modul ستظهر  صفحة IDLE Shell.

التحكم بالحاسوب بحركات اليد

لا تنسى إيقاف مصدر الطاقة بعد الانتهاء من استخدام النظام.

 

X
تم إضافة المنتج إلى السلة بنجاح