- پیشگی شرائط:
- منصوبے کے پیچھے تصور:
- سرکٹ ڈایاگرام:
- آپ آرڈینو کو پروگرام کر رہے ہیں:
- اپنے ازگر کا پروگرامنگ:
- اشارہ کنٹرول شدہ کمپیوٹر ایکشن میں:
حال ہی میں اشارہ سے کنٹرول شدہ لیپ ٹاپ یا کمپیوٹر بہت مشہور ہورہے ہیں۔ اس تکنیک کو لیپ موشن کہا جاتا ہے جو ہمارے کمپیوٹر / لیپ ٹاپ پر کچھ کام انجام دینے کے قابل بناتا ہے۔ یہ کرنا بہت اچھا اور لطف ہے ، لیکن یہ لیپ ٹاپ واقعی بہت زیادہ قیمت رکھتے ہیں۔ تو اس پروجیکٹ میں آو پاور آف ارڈینو اور ازگر کو ملا کر ہم اپنے اشارہ کنٹرول لیپ ٹاپ / کمپیوٹر بنانے کی کوشش کریں ۔
ہم اپنے ہاتھ کی پوزیشن کا تعین کرنے اور پوزیشن کی بنیاد پر میڈیا پلیئر (VLC) کو کنٹرول کرنے کے لئے دو الٹراسونک سینسر استعمال کریں گے ۔ میں نے اس کا استعمال مظاہرے کے لئے کیا ہے ، لیکن ایک بار جب آپ پروجیکٹ کو سمجھ گئے تو آپ کوڈ کی کچھ لائنوں کو تبدیل کرکے اپنے پسندیدہ انداز میں اپنی پسندیدہ ایپلی کیشن کو کنٹرول کرسکتے ہیں۔
پیشگی شرائط:
ہم نے پہلے ہی کچھ پروجیکٹس کا احاطہ کیا ہے جو ارڈینو کو ازگر کے ساتھ جوڑ دیتے ہیں۔ لہذا میں فرض کرتا ہوں کہ آپ نے ازگر اور اس کی سیریل لائبریری پہلے ہی انسٹال کرلی ہے اور آپ نے پلکیں مارنے والے ایل ای ڈی جیسے کچھ بنیادی منصوبوں کو کامیابی کے ساتھ آزمایا ہے۔ اگر نہیں ، تو گھبرانے کی ضرورت نہیں ہے کہ آپ اس آرڈینو - ازگر کی قیادت میں کنٹرول ٹیوٹوریل میں واپس جاسکتے ہیں اور اس کے ساتھ جاسکتے ہیں۔ لہذا یقینی بنائیں کہ آپ آگے بڑھنے سے پہلے ازگر اور پائسیریل لائبریری انسٹال کرچکے ہیں۔
منصوبے کے پیچھے تصور:
منصوبے کے پیچھے تصور بہت آسان ہے۔ ہم اپنے مانیٹر کے اوپری حصے میں دو الٹراسونک (امریکی) سینسر رکھیں گے اور ارودوینو کا استعمال کرتے ہوئے مانیٹر اور ہمارے ہاتھ کے مابین فاصلہ پڑھیں گے ، اس فاصلے کی اس قدر کی بنیاد پر ہم کچھ خاص کام انجام دیں گے۔ ہمارے کمپیوٹر پر کاروائیاں کرنے کے لئے ہم ازگر پییاٹوگئی لائبریری کا استعمال کرتے ہیں ۔ ارڈینو سے کمانڈز سیریل پورٹ (یو ایس بی) کے ذریعے کمپیوٹر کو ارسال کیں گئیں۔ اس کے بعد یہ اعداد و شمار اس ازگر کے ذریعہ پڑھیں گے جو کمپیوٹر پر چل رہا ہے اور پڑھنے والے اعداد و شمار کی بنیاد پر ایک عمل انجام پائے گا۔
سرکٹ ڈایاگرام:
ہینڈ اشاروں کے ساتھ پی سی کو کنٹرول کرنے کے لئے ، صرف دو الٹراسونک سینسروں کو ارڈینو کے ساتھ مربوط کریں۔ ہم 5V کے ساتھ امریکی سینسر کا کام جانتے ہیں اور اسی وجہ سے وہ اردوینو کے آن بورڈ وولٹیج ریگولیٹر کے ذریعہ چل رہے ہیں۔ ایردوینو ماڈیول کو طاقت دینے کے لئے پی سی / لیپ ٹاپ سے منسلک کیا جاسکتا ہے اور سیریل مواصلات کے لئے بھی۔ ایک بار جب رابطے ہوجائیں تو انہیں اپنے مانیٹر پر رکھیں جیسا کہ ذیل میں دکھایا گیا ہے۔ میں نے اسے اپنے مانیٹر پر قائم رکھنے کے لئے ڈبل سائڈ ٹیپ استعمال کیا ہے لیکن آپ اپنی تخلیقی صلاحیتوں کو استعمال کرسکتے ہیں۔ اسے کسی جگہ محفوظ رکھنے کے بعد ہم پروگرامنگ کے ساتھ آگے بڑھ سکتے ہیں۔
آپ آرڈینو کو پروگرام کر رہے ہیں:
ارڈینو کو امریکی سینسر سے ہاتھ کا فاصلہ پڑھنے کے لئے پروگرام کیا جانا چاہئے۔ مکمل پروگرام اس صفحے کے آخر میں دیا جاتا ہے؛ اس پروگرام کے لئے میں نے ذیل میں وضاحت دی ہے۔ اگر آپ الٹراسونک سینسر کے لئے نئے ہیں ، تو صرف آرڈینوو اور الٹراسونک سینسر پر مبنی فاصلہ پیمائش سے گزریں۔
فاصلے کی قدر کو پڑھ کر ہم اشاروں کے ساتھ قابو پانے کے لئے کچھ خاص اقدامات پر پہنچ سکتے ہیں ، مثال کے طور پر اس پروگرام میں میں نے ڈیمو کے طور پر 5 حرکتوں کا پروگرام بنایا ہے ۔
ایکشن 1: جب دونوں ہاتھ کسی خاص فاصلے پر سینسر کے سامنے رکھے جائیں تو پھر VLC پلیئر میں موجود ویڈیو کو چلائیں / رکیں۔
ایکشن 2: جب دائیں ہاتھ کسی خاص فاصلے پر سینسر کے سامنے رکھ دیا جاتا ہے تو پھر ویڈیو کو ایک قدم آگے بڑھانا چاہئے۔
ایکشن 3: جب بائیں ہاتھ کو کسی خاص فاصلے پر سینسر کے سامنے رکھ دیا جاتا ہے تو پھر ویڈیو کو ایک قدم اٹھانا چاہئے۔
ایکشن 4: جب دائیں ہاتھ کسی خاص قریبی فاصلے پر سینسر کے سامنے رکھ دیا جاتا ہے اور پھر اگر سینسر کی طرف بڑھا جاتا ہے تو ویڈیو کو تیزی سے آگے بڑھانا چاہئے اور اگر چلا گیا تو ویڈیو کو ریوائنڈ کرنا چاہئے۔
ایکشن 5: جب بائیں ہاتھ کو کسی خاص قریبی فاصلے پر سینسر کے سامنے رکھا جاتا ہے اور پھر اگر سینسر کی طرف بڑھا جاتا ہے تو ویڈیو کا حجم بڑھ جانا چاہئے اور اگر منتقل ہوجاتا ہے تو حجم کم ہونا چاہئے۔
آئیے دیکھیں کہ مذکورہ بالا عمل کو انجام دینے کے لئے کس طرح پروگرام لکھا جاتا ہے۔ لہذا ، جیسا کہ ذیل میں دکھایا گیا ہے ، ہم تمام پروگراموں کی طرح I / O پنوں کی وضاحت کے ساتھ شروع کرتے ہیں۔ دونوں امریکی سینسر ڈیجیٹل پن 2،3،4 اور 5 سے جڑے ہوئے ہیں اور + 5V پن کے ذریعہ تقویت یافتہ ہیں۔ ٹرگر پنز آؤٹ پٹ پن ہیں اور ایکو پنز ان پٹ ہیں۔
ارڈینو اور ازگر کے مابین سیریل مواصلات 9600 کی باؤڈ ریٹ سے ہوتی ہیں۔
const int ٹرگر 1 = 2؛ // اول سیسنور کانسٹ اکو 1 = 3 کا ٹرگر پن؛ // یکم سیسنور کانسٹ ٹرگر 2 = 4 کی ایکو پن؛ // 2nd سیسنور کانسٹیٹ ایتو 2 = 5 کا ٹرگر پن pin // دوسرا سزنور باطل سیٹ اپ () {سیریل.بیگین (9600) کا اکو پن؛ پن موڈ (ٹرگر 1 ، آؤٹپٹ)؛ پن موڈ (ایکو 1 ، انپٹ)؛ پن موڈ (ٹرگر 2 ، آؤٹ پٹ)؛ پن موڈ (ایکو 2 ، ان پٹ)؛ }
ہمیں کسی بھی کارروائی پر بات کرنے سے پہلے ہر بار سینسر اور ہاتھ کے مابین فاصلے کا حساب لگانے کی ضرورت ہے ۔ تو ہم نے اسے متعدد بار کرنا ہے ، اس کا مطلب ہے کہ اس کوڈ کو بطور فنکشن استعمال کیا جانا چاہئے۔ ہم نے ایک فنکشن لکھا ہے جس کا نام کیلکولیٹ ڈسٹینس () ہے جو ہمیں سینسر اور ہاتھ کے مابین فاصلہ لوٹائے گا۔
/ * ### فاصلے کا حساب لگانے کا کام ### * / باطل حساب / فاصلہ (INT ٹرگر ، INT گونج) {ڈیجیٹل رائٹ (ٹرگر ، LOW)؛ تاخیرمیکرو سیکنڈ (2)؛ ڈیجیٹل رائٹ (ٹرگر ، ہائی)؛ تاخیرمیکرو سیکنڈ (10)؛ ڈیجیٹل رائٹ (ٹرگر ، کم)؛ ٹائم_ٹیکن = پلس ان (گونج ، HIGH)؛ دور = وقت_ختر * 0.034 / 2؛ if (dist> 50) دور = 50؛ }
ہماری مرکزی لوپ کے اندر ہم فاصلے کی قدر کی جانچ کرتے ہیں اور مذکورہ بالا عمل کو انجام دیتے ہیں ۔ اس سے پہلے ہم دو متغیر ڈیس ایل اور ڈسٹ آر استعمال کرتے ہیں جو موجودہ فاصلہ قیمت کے ساتھ اپ ڈیٹ ہوجاتے ہیں ۔
حساب کتاب_فاصل (محرک 1 ، ایکو 1)؛ distL = dist؛ // بائیں سینسر کیلکولیٹ_ڈسٹینس (ٹرگر 2 ، ایکو 2) کا فاصلہ حاصل کریں۔ distR = dist؛ // دائیں سینسر کا فاصلہ حاصل کریں
چونکہ ہم دونوں سنسروں کے مابین فاصلہ جانتے ہیں ، لہذا اب ہم اس کا موازنہ پہلے سے طے شدہ اقدار کے ساتھ کر سکتے ہیں اور کچھ خاص اقدامات پر پہنچ سکتے ہیں۔ مثال کے طور پر اگر دونوں ہاتھ 40 ایم سی کے فاصلے پر رکھے گئے ہیں تو ہم ویڈیو چلاتے / موقوف کرتے ہیں۔ یہاں لفظ "پلے / توقف" سیریل پورٹ کے ذریعے بھیجا جائے گا
اگر ((distL> 40 && distR> 40) && (distL <50 && distR <50)) // دونوں ہاتھوں کا پتہ لگائیں {Serial.println ("Play / Pause")؛ تاخیر (500)؛
اگر تنہا دائیں ہاتھ ماڈیول کے سامنے رکھا گیا ہے ، تو ہم ایک قدم کے ساتھ ویڈیو کو تیزی سے آگے بڑھاتے ہیں اور اگر یہ بائیں ہاتھ ہے تو ہم ایک قدم سے پیچھے ہوجاتے ہیں۔ کارروائی کی بنیاد پر ، یہاں سیریل پورٹ کے ذریعے لفظ "رائیونڈ" یا "فارورڈ" بھیجا جائے گا
if ((distL> 40 && distL <50) && (distR == 50٪)) // بائیں ہاتھ کا پتہ لگائیں ial سیریل.پرنٹلن ("دوبارہ لوٹائیں")؛ تاخیر (500)؛} if ((distR> 40 && distR <50) && (distL == 50))) // دائیں ہاتھ کا پتہ لگائیں {سیریل.پرنٹ لین ("فارورڈ")؛ تاخیر (500)؛
حجم اور ٹریک پر دشمن کا تفصیلی کنٹرول ہم ایک مختلف طریقہ کار کا استعمال کرتے ہیں تاکہ جھوٹے محرکات کو روکا جا سکے۔ حجم کو کنٹرول کرنے کے ل we ہمیں بائیں ہاتھ کی لگ بھگ رکھنا ہوگی۔ 15 سینٹی میٹر کے فاصلے پر ، پھر آپ اسے سینسر کی طرف بڑھا سکتے ہیں تاکہ حجم میں اضافہ کرنے کے ل it اسے سینسر سے دور منتقل کیا جاسکے۔ اس کے لئے کوڈ ذیل میں دکھایا گیا ہے۔ کارروائی کی بنیاد پر ، یہاں لفظ "ووپ" یا "وڈون" سیریل پورٹ کے ذریعے بھیجا جائے گا
// لاک بائیں - کنٹرول وضع اگر (distL> = 13 && distL <= 17) {تاخیر (100)؛ // ہینڈ ہولڈ ٹائم کیلکولیٹ_ ڈسٹینس (ٹرگر 1 ، ایکو 1)؛ distL = dist؛ اگر (distL> = 13 && distL <= 17) ial Serial.println ("بائیں مقفل ہے")؛ جبکہ (distL <= 40) ulate حساب_فاصل (محرک 1 ، ایکو 1)؛ distL = dist؛ if (distL <10) // ہاتھ دھکا {Serial.println ("Vup") میں؛ تاخیر (300)؛} if (distL> 20) // ہاتھ نکالا {Serial.println ("Vdown")؛ تاخیر (300)؛}}}
ہم ویڈیو کے ٹریک کو کنٹرول کرنے کے لئے ، دائیں طرف کے سینسر کے لئے بھی یہی طریقہ استعمال کرسکتے ہیں ۔ یہی وجہ ہے کہ اگر ہم دائیں ہاتھ سینسر کی طرف بڑھائیں تو وہ فلم کو تیزی سے آگے بڑھائے گی اور اگر آپ اسے سینسر سے دور کرتے ہیں تو یہ مووی کو موڑ دے گی۔ کارروائی کی بنیاد پر ، یہاں سیریل پورٹ کے ذریعے لفظ "ریونڈ" یا "فارورڈ" بھیجا جائے گا
اب آپ صفحے کے آخر میں دیئے گئے اس اشارے پر قابو پانے والے پی سی کے مکمل کوڈ کے بارے میں پڑھ سکتے ہیں اور اسے پوری طرح سے کم کرنے کی کوشش کرسکتے ہیں اور پھر اسے اپنے اردوینو IDE میں کاپی کرسکتے ہیں۔
اپنے ازگر کا پروگرامنگ:
اس پروجیکٹ کے لئے ازگر کا پروگرام بہت آسان ہے۔ ہمیں محض آرڈینو کے ساتھ ایک صحیح سیوری کے ذریعہ سیریل مواصلات کو قائم کرنا ہے اور پھر کچھ بنیادی کی بورڈ کے اعمال انجام دیں۔ ازگر کے ساتھ پہلا قدم p yautogui ماڈیول نصب کرنا ہوگا ۔ یقینی بنائیں کہ آپ اس قدم کی پیروی کرتے ہیں کیونکہ پییوٹوگئی ماڈیول کے بغیر یہ پروگرام کام نہیں کرے گا ۔
ونڈوز کے لئے پییوٹوگئی ماڈیول انسٹال کرنا:
ونڈوز کے لئے پییوٹوگئی انسٹال کرنے کے لئے درج ذیل اقدامات پر عمل کریں ۔ اگر آپ دوسرے پلیٹ فارم کو استعمال کر رہے ہیں تو اقدامات بھی کم و بیش اسی طرح کے ہوں گے۔ یقینی بنائیں کہ آپ کا کمپیوٹر / لیپ ٹاپ انٹرنیٹ سے منسلک ہے اور ذیل میں اقدامات کے ساتھ آگے بڑھیں
مرحلہ 1: ونڈوز کمانڈ پرامپٹ کو کھولیں اور ڈائرکٹری کو فولڈر میں تبدیل کریں جہاں آپ نے ازگر نے انسٹال کیا ہے۔ پہلے سے کمانڈ ہونا چاہئے
سی ڈی سی: \ ازگر 27
مرحلہ 2: اپنی ازگر کی ڈائرکٹری کے اندر اپنے پائپ کو اپ گریڈ کرنے کے لئے کمان thm پِپ انسٹال اپ گریڈ پِپ کمانڈ استعمال کریں۔ پِپ ازگر میں ایک آلہ ہے جو ہمیں آسانی سے ازگر کے ماڈیولز انسٹال کرنے میں مدد کرتا ہے۔ ایک بار جب یہ ماڈیول اپ گریڈ ہوجاتا ہے (جیسا کہ نیچے کی تصویر میں دکھایا گیا ہے) اگلے مرحلے پر آگے بڑھیں۔
ازگر میں پائی انسٹال کریں
مرحلہ 3: پیانوگوئی ماڈیول کو انسٹال کرنے کے لئے کمان " ازگر –m pp pyautogui " استعمال کریں۔ ایک بار جب عمل کامیاب ہوجاتا ہے تو آپ کو اسکرین کو کچھ اس طرح ملنا چاہئے۔
ازگر میں پائی انسٹال کریں
اب جب کہ پیوٹوگئی ماڈیول اور پائسیریل ماڈیول (پچھلے سبق میں نصب) اس ازگر کے ساتھ کامیابی سے انسٹال ہوا ہے ، تو ہم اس ازگر کے پروگرام کے ساتھ آگے بڑھ سکتے ہیں۔ مکمل ازگر کوڈ ٹیوٹوریل کے آخر میں دی گئی ہے لیکن مندرجہ ذیل کے طور پر ایک ہی کے لئے وضاحت ہے.
آئیے اس پروجیکٹ کے لئے تینوں مطلوبہ ماڈیولز درآمد کریں۔ وہ پییوٹوگئی ، سیریل ازگر اور وقت ہیں۔
سیریل درآمد سیریل مواصلات درآمد وقت کے لئے درآمد # تاخیر کے افعال کو درآمد پییاٹوگئی استعمال کرنے کی ضرورت ہے
اگلا ہم COM پورٹ کے ذریعہ اریڈینو کے ساتھ رابطہ قائم کرتے ہیں۔ میرے کمپیوٹر میں آرڈوینو COM 18 سے منسلک ہے۔ یہ معلوم کرنے کے ل device ڈیوائس مینیجر کا استعمال کریں کہ آپ کا ارڈوینو کس COM پورٹ سے منسلک ہے اور اس کے مطابق درج ذیل لائن کو درست کریں۔
ایردووسیرل = سیریل ۔سیرل ('com18' ، 9600) # تخلیق شدہ سیریل پورٹ آبجیکٹ جسے ارڈوینو ایریل ڈیٹا ٹائم کہا جاتا ہے۔ نیند (2) # مواصلات قائم ہونے کے ل 2 2 سیکنڈ کا انتظار کریں
لامحدود جبکہ لوپ کے اندر ، ہم بار بار COM پورٹ سنتے ہیں اور کلیدی الفاظ کو کسی بھی پہلے سے منحرف کام کے ساتھ موازنہ کرتے ہیں اور اس کے مطابق کلیدی بورڈ پریس بناتے ہیں۔
جبکہ 1: آنے والی = str (ArdinoSerial.readline ()) سیریل ڈیٹا کو پڑھیں اور آنے والے وقت میں 'Play / Pause' کی حیثیت سے لائن پرنٹ کے بطور پرنٹ کریں: pyautogui.typewrite (، 0.2) اگر آنے والی میں 'Rewind': pyautogui۔ ہاٹکی ('ctrl'، 'بائیں') اگر آنے والے وقت میں 'فارورڈ': pyautogui.hotkey ('ctrl'، 'حق') اگر آنے والی میں 'Vup': pyautogui.hotkey ('ctrl'، 'down') اگر ' آنے والے وقت میں خرابی: pyautogui.hotkey ('ctrl'، 'up')
جیسا کہ آپ دیکھ سکتے ہیں ، کسی کلید کو دبانے کے ل we ہمیں صرف "pyautogui.typewrite (، 0.2)" کمانڈ استعمال کرنا ہوگی جو 0.2 سیکسی کے لئے کلیدی جگہ دبائے گی۔ اگر آپ کو ctrl + S جیسے گرم چابیاں کی ضرورت ہو تو آپ ہاٹ کی کمانڈ "pyautogui.hotkey ('ctrl'، 's')" استعمال کرسکتے ہیں۔
میں نے یہ امتزاج اس لئے استعمال کیے ہیں کہ وہ VLC میڈیا پلیئر پر کام کرتے ہیں آپ انہیں اشاروں کے ساتھ کمپیوٹر میں کسی بھی چیز پر قابو پانے کے ل applications اپنی ایپلی کیشنز بنانا چاہیں تو آپ اسے کسی بھی طرح سے موافقت کرسکتے ہیں ۔
اشارہ کنٹرول شدہ کمپیوٹر ایکشن میں:
مذکورہ بالا وضاحت کے مطابق رابطے بنائیں اور اپنے اردوینو بورڈ پر آرڈینو کوڈ اپ لوڈ کریں۔ پھر ذیل میں ازگر اسکرپٹ کا استعمال کریں اور اپنے لیپ ٹاپ / کمپیوٹر پر پروگرام لانچ کریں۔
اب آپ VLC میڈیا پلیئر کا استعمال کرتے ہوئے اپنے کمپیوٹر پر کوئی بھی فلم چلا سکتے ہیں اور مووی کو کنٹرول کرنے کے لئے اپنے ہاتھ کا استعمال نیچے دیئے گئے ویڈیو میں دکھایا جاسکتا ہے۔
امید ہے کہ آپ اس پروجیکٹ کو سمجھ گئے ہوں گے اور اس کے ساتھ کھیل کر لطف اندوز ہوں گے۔ یہ صرف ایک ڈیمو ہے اور آپ اپنی تخلیقی صلاحیتوں کو استعمال کرکے اس کے ارد گرد بہت زیادہ ٹھنڈی اشارے سے کنٹرول چیزیں بنا سکتے ہیں۔ مجھے بتائیں کہ آیا یہ کارآمد تھا اور آپ اس کو کمنٹ سیکشن میں استعمال کرکے کیا تخلیق کریں گے اور میں اسے جان کر خوشی ہوگی۔