فأرة كمبيوتر سايبورغ: 4 خطوات (مع صور)
فأرة كمبيوتر سايبورغ: 4 خطوات (مع صور)
Anonim
فأرة الكمبيوتر سايبورغ
فأرة الكمبيوتر سايبورغ

تشير العديد من الدراسات إلى أن وضعية استخدام فأرة الكمبيوتر التقليدية يمكن أن تكون خطرة ، فالماوس هو قطعة قياسية من معدات الكمبيوتر. يستخدم مستخدمو الكمبيوتر الماوس ما يقرب من ثلاثة أضعاف استخدام لوحة المفاتيح. نظرًا لأن معدلات التعرض مرتفعة ، فإن تحسين وضعية الطرف العلوي أثناء استخدام فأرة الكمبيوتر أمر مهم للغاية.

بالنسبة لهذا المشروع المجرد ، سنقوم بصنع جهاز يمكن ارتداؤه يسمح للناس بالتنقل عبر شاشة الكمبيوتر دون الحاجة إلى تقنية خارجية. بهذه الطريقة يمكننا استخدام حركات اليدين الطبيعية بدلاً من النقر فوق جهاز على سطح أفقي. يسمح هذا أيضًا باستخدام الشاشات أثناء الوقوف ، مما يجعل العروض التقديمية الشفوية أكثر متعة.

أما بالنسبة للنموذج الأولي ، فسيتم استخدام الفهرس كعصا تحكم ، والإصبع الأوسط للنقر الأيسر ، والإصبع البنصر للنقر بزر الماوس الأيمن ، والخنصر لتشغيل وإيقاف تشغيل الجهاز. يعمل الإبهام كسطح يتم الضغط عليه من الأزرار. سيتم إضافة كل ذلك في قفاز.

اللوازم

  • (x1) اردوينو ليوناردو
  • (x1) لوح الحماية
  • (x1) وحدة عصا التحكم
  • (x3) زر الضغط
  • (× 20 ±) وصلات سلكية
  • (x3) مقاومات 1KΩ
  • (x1) طقم خياطة القفازات
  • سيليكون الفيلكرو الساخن
  • عدة لحام الأسلاك
  • جزء مطبوع ثلاثي الأبعاد

الخطوة 1: قم بإعداد الجهاز

قم بإعداد الجهاز
قم بإعداد الجهاز

لقد قمنا بتضمين رسم فريتزينج لفهم التصميم بشكل أفضل. نوصي بتركيب المكونات على لوح حماية أولاً. بهذه الطريقة يمكنك التحقق من أن كل شيء يعمل قبل اللحام.

الخطوة 2: قم بتحميل الكود والاختبار

بمجرد إجراء الاتصالات ، قم بتوصيل USB A (M) إلى micro USB B (M) من الكمبيوتر إلى Arduino Leonardo وتحميل الرسم التخطيطي. لا تتردد في نسخ الرسم وتعديله وتحسينه.

تحذير: عند استخدام الأمر Mouse.move () ، فإن Arduino يتولى الفأرة! تأكد من أن لديك السيطرة قبل استخدام الأمر. إنه يعمل فقط مع Arduino Leonardo أو Micro أو Due

هذا هو الكود الخاص بنا لهذا المشروع:

// تعريف دبابيس # تشمل ؛ const int mouseMiddleButton = 2 ؛ // إدخال دبوس الماوس الأوسط زر const int startEmulation = 3 ؛ // التبديل لتشغيل وإيقاف تشغيل مضاهاة الماوس const int mouseLeftButton = 4 ؛ // إدخال دبوس للماوس الأيسر زر const int mouseRightButton = 5 ؛ // إدخال دبوس الماوس الأيمن زر const int joystickX = A1 ؛ // جويستيك X محور const int جويستيك Y = A0 ؛ // جويستيك المحور ص

// معلمات لقراءة عصا التحكم:

int cursorSpeed = 10 ؛ // سرعة الإخراج للحركة X أو Y int responseDelay = 5 ؛ // تأخير استجابة الماوس ، في عتبة ms int = cursorSpeed / 4 ؛ // يستريح مركز int = cursorSpeed / 2 ؛ // قيمة موضع الراحة int mouseMiddleState = 0 ؛

boolean mouseIsActive = خطأ ؛ // ما إذا كنت تريد التحكم في الماوس أم لا

int lastSwitchState = LOW ؛ // حالة التبديل السابقة

الإعداد باطل() {

pinMode (startEmulation ، INPUT) ؛ // the switch pinMode (mouseMiddleButton ، INPUT) ؛ // وضع دبوس زر الماوس الأوسط (mouseLeftButton ، INPUT) ؛ // زر الماوس الأيسر pinMode (mouseRightButton ، INPUT) ؛ // دبوس زر الفأرة الأيمن

Mouse.begin () ، // السيطرة على الماوس

}

حلقة فارغة() {

// اقرأ المفتاح: int switchState = digitalRead (startEmulation) ؛

// إذا تم تغييره وكان مرتفعًا ، فقم بتبديل حالة الماوس:

إذا (switchState! = lastSwitchState) {if (switchState == LOW) {mouseIsActive =! mouseIsActive؛ }}

// حفظ حالة التبديل للحلقة التالية:

lastSwitchState = switchState ؛

// اقرأ وقياس المحورين:

int xReading = readAxis (A1) ؛ int yReading = readAxis (A0) ؛

// إذا كانت حالة التحكم بالماوس نشطة ، فحرك الماوس:

if (mouseIsActive) {Mouse.move (xReading، yReading، 0) ؛ // (س ، ص ، عجلة الماوس التمرير)}

//اليسار

// اقرأ زر الماوس وانقر أو لا انقر فوق: // إذا تم الضغط على زر الماوس: if (digitalRead (mouseLeftButton) == HIGH) {// إذا لم يتم الضغط على الماوس ، فاضغط عليه: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT) ، تأخير (100) ؛ // تأخير لتمكين إصدار Mouse.release الفردي والنقر المزدوج (MOUSE_LEFT) ؛ }}

// وإلا لم يتم الضغط على زر الماوس:

else {// إذا تم الضغط على الماوس ، فقم بتحريره: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT)؛ }}

//حق

// اقرأ زر الماوس وانقر أو لا انقر فوق: // إذا تم الضغط على زر الماوس: if (digitalRead (mouseRightButton) == HIGH) {// إذا لم يتم الضغط على الماوس ، فاضغط عليه: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT) ، تأخير (100) ؛ // تأخير لتمكين إصدار Mouse.release الفردي والنقر المزدوج (MOUSE_RIGHT) ؛ }}

// وإلا لم يتم الضغط على زر الماوس:

else {// إذا تم الضغط على الماوس ، فقم بتحريره: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT)؛ }}

//وسط

// اقرأ زر الماوس وانقر أو لا انقر فوق: // إذا تم الضغط على زر الماوس: if (digitalRead (mouseMiddleButton) == HIGH) {// إذا لم يتم الضغط على الماوس ، فاضغط عليه: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE) ؛ MouseMiddleState = 1 ؛ // realiza el estado del botón}}

// وإلا لم يتم الضغط على زر الماوس:

else {// إذا تم الضغط على الماوس ، فقم بتحريره: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE)؛ mouseMiddleState = 0 ؛ }}

تأخير (تأجيل الاستجابة) ؛

}

/*

يقرأ محورًا (0 أو 1 لـ x أو y) ويقيس نطاق الإدخال التناظري إلى نطاق من 0 إلى * /

int readAxis (int thisAxis) {

// اقرأ المدخلات التناظرية: int reading = analogRead (thisAxis) ؛

// تعيين القراءة من نطاق الإدخال التناظري إلى نطاق الإخراج:

القراءة = الخريطة (القراءة ، 0 ، 1023 ، 0 ، سرعة المؤشر) ؛

// إذا كانت قراءة الإخراج خارج نطاق

// عتبة موضع الراحة ، استخدمها: int مسافة = مركز القراءة ؛

إذا (القيمة المطلقة (المسافة) <العتبة) {المسافة = 0 ؛ }

// إرجاع المسافة لهذا المحور:

مسافة العودة }

الخطوة 3: تركيب النموذج الأولي

تركيب النموذج الأولي
تركيب النموذج الأولي
تركيب النموذج الأولي
تركيب النموذج الأولي
تركيب النموذج الأولي
تركيب النموذج الأولي

الخطوة الأولى هي خياطة الفيلكرو بالقفاز ، عليك خياطة أربعة شرائط من الفيلكرو لكل إصبع. قمنا بخياطة الجزء الناعم من الفيلكرو.

يحتوي كل زر ضغط على سلكين ، أحدهما يبدأ عند المسامير المعنية ويتصل بالساق الموجبة للزر والآخر بالساق السالبة. في الطرف الآخر من السلك السالب ، نقوم بلحام مقاومات كل زر بالإضافة إلى السلك السالب لعصا التحكم بسلك أخير ، والذي يتصل بـ GND بلوحة Arduino. نفس الاتصال المتوازي يعمل مع الجانب الإيجابي. (3 أزرار وساق عصا التحكم إيجابية)

بعد لحام وصلات العبور ، سنضع شرائط الفيلكرو الصلبة ، بحيث تتعطل الأسلاك بينهما. أخيرًا ، قمنا بلصق وحدة عصا التحكم حراريًا على قطعة مطبوعة ثلاثية الأبعاد. يمكنك العثور أدناه على ملف. STL.

الخطوة 4: ابدأ باستخدام يدك كماوس

Image
Image
ابدأ باستخدام يدك كالفأرة!
ابدأ باستخدام يدك كالفأرة!
ابدأ باستخدام يدك كالفأرة!
ابدأ باستخدام يدك كالفأرة!

صوّت لنا في مسابقة التكنولوجيا المساعدة إذا كنت قد استمتعت بالمشروع.

موصى به: