جدول المحتويات:

ماوس هوائي ثلاثي الأبعاد - اردوينو + المعالجة: 5 خطوات
ماوس هوائي ثلاثي الأبعاد - اردوينو + المعالجة: 5 خطوات

فيديو: ماوس هوائي ثلاثي الأبعاد - اردوينو + المعالجة: 5 خطوات

فيديو: ماوس هوائي ثلاثي الأبعاد - اردوينو + المعالجة: 5 خطوات
فيديو: عرفتوا ليه المترو بيتقلب وبيعمل حوادث شاهد الفيديو للنهايه 2024, يوليو
Anonim
ماوس هوائي ثلاثي الأبعاد | اردوينو + المعالجة
ماوس هوائي ثلاثي الأبعاد | اردوينو + المعالجة

ماوس ثلاثي الأبعاد | Arduino + Processing أنا طالب في التصميم الصناعي ، وفي العام الماضي كجزء من دورة تسمى "التكنولوجيا كمواد RAW" قمت ببناء هذا المشروع باعتباره عملي النهائي. أعمل معظم الوقت مع SolidWorks ، وهو برنامج CAD للتصميم والهندسة. يتم تدوير جسم صلب على الشاشة باستخدام زر الماوس الأوسط. كنت أبحث عن شيء أكثر سهولة. هذه هي الطريقة التي انتهيت بها من عمل الماوس الهوائي ثلاثي الأبعاد ، حيث يتم التدوير الفعلي للكائن عن طريق تحريك الماوس في منتصف الهواء على جميع المحاور الثلاثة - بنفس الطريقة التي تقوم بها بتدوير الكائن إذا كنت تحمله في يدك. لقد استخدمت Arduino واثنين من أجهزة الاستشعار ورسم تخطيطي للمعالجة. ملاحظات: - حتى الآن ، هذا مجرد عرض توضيحي للمفهوم ، حيث لا يوجد مكون إضافي فعلي للعمل مع SolidWork (ولكن بالطبع ، لا تتردد في اكتب واحدًا إذا كنت تعرف كيف:) - نظرًا لأن جميع الأجهزة لم تكن لي ، فقد اختفى الماوس ثلاثي الأبعاد الفعلي ، وأنا أستخدم بعض الصور ومقطع فيديو لمحاولة فهم كل هذا ، ولإعطائك فكرة ما إذا كنت ترغب في محاولة بناء واحدة بنفسك … استمتع بها … (إنها أول تعليمات لي) إليك عرض فيديو توضيحي للمشروع النهائي

الخطوة 1: الأجهزة والأشياء

الأجهزة والأشياء
الأجهزة والأشياء
الأجهزة والأشياء
الأجهزة والأشياء
الأجهزة والأشياء
الأجهزة والأشياء
الأجهزة والأشياء
الأجهزة والأشياء

إنها ليست أرخص وسيلة للتوجيه لأنها تعتمد على مقياس تسارع ثلاثي المحاور + مستشعر بوصلة. الأشياء التي ستحتاج إليها: * فأرة - الفأرة المستخدمة أفضل (فقط لأنها تستخدم وأرخص سعرًا) ، أي ماوس يجب أن يفعل. أنت بحاجة إلى بعض المساحة لإيواء المستشعرات وبعض الأسلاك الإضافية ، لذلك لا تبحث عن فئران رفيعة جدًا / صغيرة جدًا. 149 دولارًا * محول المستوى المنطقي - يجب أن يكون! نظرًا لأن Arduino يبلغ 5 فولت ومستشعر المحور 3 هو 3.3 فولت ، فأنت بحاجة إلى واحد منهم لتحويل 5 فولت إلى 3.3 فولت. له اسم كبير ، ولكنه يكلف 1.95 دولارًا فقط في SpurkFun. * كاشف ضوئي كبير / ترانزستور ضوئي - هذا مستشعر ضوئي بسيط ، يستخدم في هذا المشروع لاكتشاف متى يتم رفع الماوس عن سطح العمل. تم شراؤه في SpurkFun مقابل 2.25 دولارًا إذا لم يكن لديك مساحة كافية لإيواء هذا داخل الماوس الذي اخترته ، فيمكنك استخدام هذا الماوس الأصغر والأرخص. * مؤشر LED واحد (1) - بغض النظر عن اللون ، فائق السطوع سيعمل بشكل أفضل. * 2 مقاومات - واحد (1) × 100 درجة وواحد (1) × 100KΩ (للمستشعر البصري) * لوحة Arduino - DA! لقد استخدمت نموذج Diecimila. يتوفر Duemilanove أحدث متوفر في SpurkFun مقابل 29.95 دولارًا (يجب أن يعمل أيضًا) + تم تثبيت برنامج Arduino. * تم تثبيت برنامج المعالجة. * رمز مصدر المشروع (لا تقلق ، ستتمكن من تنزيله في ثوانٍ.) بالإضافة إلى: بعض الغراء الساخن (لإصلاح الأشياء في مكانها) زوجان من البراغي الصغيرة ، حوالي 10 سم من 6 مم (ديا) مرساة خشبية ، بعض الأسلاك الإضافية ، لحام الحديد ، شيء لقطع البلاستيك به ، استخدمت سكين تقطيع وملف (لتشكيل). ("حسنًا ، لا تكرهني بسبب هذه الخطوة ، اللغة الإنجليزية هي لغتي الثانية ، إذا أخطأت في هذه الخطوة ، أنا متأكد من أنك ستفهم ما سأتحدث عنه في غضون ثوانٍ. ومتى ستراه في الصور ")

الخطوة الثانية: الإلكترونيات

إلكترونيات
إلكترونيات
إلكترونيات
إلكترونيات

كل شيء يحتاج إلى أن يتم لحامه معًا … بطريقة ما … ملاحظة: مستشعر المحاور الثلاثة هو شيء صغير باهظ الثمن ، تحقق مرتين من الأسلاك قبل تشغيل كل شيء … انظر المخططات المرفقة لجميع الأسلاك المستخدمة في هذا المشروع. كود المصدر المرفق يمكن أن تعمل فقط إذا كنت تستخدم نفس أرقام التعريف الشخصية التي استخدمتها ، ولكن لا تتردد في تغييرها عند الاتصال طالما قمت بتغيير الأرقام المناسبة في الرمز. توصيل مستشعر 3 محاور بمحول المستوى المنطقي: Sensor VCC -> Arduino 3V3Sensor GND -> Arduino GndSensor SDA -> Converter TXI (Chan1) Converter TXO (Chan1) -> Arduino ANALOG IN 4Sensor SCL -> Converter TXI (Chan2) Converter TXO (Chan2) -> Arduino ANALOG IN 5Converter GND (واحد منهم على الأقل) -> Arduino GndConverter HV -> Arduino 5VConverter LV -> Arduino 3V3 المستشعر البصري إلى Arduino: انظر الصورة المرفقة = الدبوس 11 على ArduinoLED: GND لبعض GND (لقد استخدمت أحد المستشعرات الضوئية) + إلى Arduino PIN 13 (تم ذلك نظرًا لأن هذا الدبوس يحتوي بالفعل على مقاوم على اللوحة ، إذا كنت تستخدم مقاومًا مختلفًا ، فتأكد من استخدام المقاوم حتى لا تحرق مؤشر LED)

الخطوة 3: تجهيز الماوس

تحضير الماوس
تحضير الماوس
تحضير الماوس
تحضير الماوس
تحضير الماوس
تحضير الماوس

هذا هو المكان الذي تجد فيه المستشعرات مكانها داخل مبيت الماوس. ابحث عن أفضل مكان لإصلاح مستشعر المحاور الثلاثة. تأكد من أنها مستوية وانتبه إلى الاتجاه (ستعرف متى سيكون لديك المستشعر في متناول اليد) يمكنك إصلاحه بالطريقة التي تريدها ، لقد استخدمت قطعتين قصيرتين من المرساة الخشبية ، محفورة لقبول المسامير الصغيرة 2 ، ولصقها ساخنًا على اللوحة الرئيسية للفأرة. بالنسبة للمستشعر البصري ، قم بتشكيل ثقب مستطيل في الجزء السفلي من الماوس ، والفكرة هي جعل المستشعر "يرى" الجدول طوال الوقت. عندما يتم رفع الماوس وتكون حالة المستشعر "مفتوحة" (لا يوجد جدول يمكن رؤيته) ، ينتقل الماوس إلى الوضع ثلاثي الأبعاد (يقوم بتشغيل رسم المعالجة) قم بتشكيل ثقب آخر لتوجيه الأسلاك الإضافية (من المستشعرات إلى Arduino) خارج بناء المساكن بإستخدام البلاستك. يقع المنجم على الجانب الأيمن من الماوس. أصلح مؤشر LED في المكان الذي سيظهر فيه. في هذا المشروع ، يكون مؤشر LED هو مؤشر الوضع ثلاثي الأبعاد. أضع خاصتي بجوار عجلة فأرة السيليكون. عندما يتم رفع الفأرة ، كان للعجلة توهج أزرق جميل.

الخطوة 4: كود المصدر

تمت كتابة كود Arduino بواسطة معلمي Shachar Geiger ، وتم تعديله من قبلي لهذا المشروع ، رمز المكعب ثلاثي الأبعاد هو الكود الأساسي الموجود على موقع ويب المعالجة. لقد قمت بتعديله قليلاً في الكود ، يحول هذا الجزء المعلومات الأولية القادمة من المستشعر (عادةً من -180 إلى 180 × 10) إلى 0-255 getHeading () ؛ Serial.write ('x') ؛ x = (x +1800) / 14؛ Serial.write (x)؛ Serial.write ('y')؛ y = (y + 1800) / 14؛ Serial.write (y)؛ Serial.write ('z')؛ z = (z + 1800) / 14 ؛ Serial.write (z) ؛ تنتقل المعلومات الواردة من المستشعر و Arduino إلى مخطط المعالجة لكل محور منفصل ، ولكن مع وجود حرف المحور السابق (بالنسبة إلى exp. X12 Y200 Z130) ، يسقط الكود التالي الحرف ويترك القيم فقط ليتم إرسالها إلى COM المنفذ while (port.available () == 0) {} char reading = 0؛ while (reading! = 'x') {while (port.available () == 0) {} reading = (char) port.read ()؛} X = port.read ()؛ while (reading! = 'y') {while (port.available () == 0) {} reading = (char) port.read ()؛} Y = port.read ()؛ while (reading! = 'z') {while (port.available () == 0) {} reading = (char) port.read ()؛} Z = port.read ()؛ هذا الجزء من الكود يسقط جميع القيم السالبة … إذا ((X! = -1) && (Y! = -1) && (Z! = -1)) {rotateZ (- (float) Y / 25.0)؛ rotateX ((تعويم) X / 25.0) ؛ استدارة Y ((تعويم) Z / 25.0) ؛ pX = X ؛ pY = Y ؛ pZ = Z ؛} else {rotateZ (- (float) pY / 25.0) ؛ rotateX ((float) pX /25.0)؛rotateY((float)pZ/25.0)؛} احتوى ملف ZIP المرفق على كود Arduino وكود المعالجة

الخطوة 5: الفيديو

هذا كل شيء … هذا هو المشروع النهائي في مقطع فيديو. هناك خلل بسيط (يمكنك أن ترى أن المكعب "يقفز" أحيانًا في الفيديو) ، هذا بسبب المحور Z ، قد لا يحدث لك …

موصى به: