সুচিপত্র:

3D AIR মাউস - Arduino + প্রসেসিং: 5 টি ধাপ
3D AIR মাউস - Arduino + প্রসেসিং: 5 টি ধাপ

ভিডিও: 3D AIR মাউস - Arduino + প্রসেসিং: 5 টি ধাপ

ভিডিও: 3D AIR মাউস - Arduino + প্রসেসিং: 5 টি ধাপ
ভিডিও: ড্রোন তৈরির জন্য কি কি পার্টস প্রয়োজন? Which Parts Required for Making A Quadcopter Drone 2024, জুলাই
Anonim
3D AIR মাউস | Arduino + প্রসেসিং
3D AIR মাউস | Arduino + প্রসেসিং

3D AIR মাউস | Arduino + Processing আমি একজন ইন্ডাস্ট্রিয়াল ডিজাইনের ছাত্র, এবং গত বছর "Technology as RAW materiel" নামে একটি কোর্সের অংশ হিসেবে আমি এই প্রজেক্টটি আমার চূড়ান্ত কাজ হিসেবে তৈরি করেছি। আমি বেশিরভাগ সময় SolidWorks, ডিজাইন এবং ইঞ্জিনিয়ারিং এর জন্য একটি CAD সফটওয়্যারের সাথে কাজ করি। । স্ক্রিনে একটি কঠিন শরীর ঘোরানো মধ্য মাউস বোতাম ব্যবহার করে সম্পন্ন করা হয়। আমি আরও স্বজ্ঞাত কিছু খুঁজছিলাম। এইভাবে আমি 3 ডি এয়ার মাউস করা শেষ করলাম, যেখানে একটি বস্তুর প্রকৃত ঘূর্ণন মাউসকে সমস্ত 3 অক্ষের মধ্যবর্তী বায়ুতে সরিয়ে দিয়ে করা হয় - একইভাবে আপনি যদি বস্তুটি আপনার হাতে ধরে রাখেন তবে একইভাবে ঘোরান। আমি Arduino, কয়েকটি সেন্সর এবং একটি প্রসেসিং স্কেচ ব্যবহার করেছি। দ্রষ্টব্য:- এখন পর্যন্ত, এটি কেবল ধারণার একটি প্রদর্শনী, যেহেতু সলিডওয়ার্কের সাথে কাজ করার জন্য কোন প্রকৃত প্লাগ-ইন নেই (তবে অবশ্যই, নির্দ্বিধায় যদি আপনি জানেন কিভাবে লিখুন একটি কিছু ধারণা যদি আপনি নিজে নিজে চেষ্টা করে তৈরি করতে চান … এটি উপভোগ করুন … (এটি আমার প্রথম নির্দেশযোগ্য) এখানে সমাপ্ত প্রকল্পের একটি ভিডিও ডেমো

ধাপ 1: হার্ডওয়্যার এবং স্টাফ

হার্ডওয়্যার এবং স্টাফ
হার্ডওয়্যার এবং স্টাফ
হার্ডওয়্যার এবং স্টাফ
হার্ডওয়্যার এবং স্টাফ
হার্ডওয়্যার এবং স্টাফ
হার্ডওয়্যার এবং স্টাফ
হার্ডওয়্যার এবং স্টাফ
হার্ডওয়্যার এবং স্টাফ

এটি সবচেয়ে সস্তা নির্দেশযোগ্য নয় কারণ এটি একটি 3 অক্ষ অ্যাকসিলরোমিটার + কম্পাস সেন্সরের উপর ভিত্তি করে আপনার প্রয়োজনীয় জিনিসগুলি:* একটি মাউস - একটি ব্যবহার করা ভাল (শুধুমাত্র এটি ব্যবহার করা এবং সস্তা হওয়ার কারণে), যেকোন মাউসকেই করতে হবে। সেন্সর এবং কিছু অতিরিক্ত তারের জন্য আপনার কিছু জায়গা থাকতে হবে, তাই অতিরিক্ত পাতলা / অতিরিক্ত ক্ষুদ্র ইঁদুরের জন্য যাবেন না।* টিল্ট ক্ষতিপূরণ সহ কম্পাস মডিউল - HMC634 - এটি 3 অক্ষ সেন্সর, স্পারকফুনে কেনা হয়েছে ~ $ 149* লজিক লেভেল কনভার্টার - একটি আবশ্যক! যেহেতু আরডুইনো 5V এবং 3 অক্ষ সেন্সর 3.3V, তাই 5V কে 3.3V এ রূপান্তর করার জন্য আপনার একজনের প্রয়োজন। এটির একটি বড় নাম আছে, কিন্তু স্পার্কফুনে শুধুমাত্র $ 1.95 খরচ হয়। SpurkFun এ 2.25 ডলারে কেনা আপনার যদি আপনার নির্বাচিত মাউসের ভিতরে এটি রাখার জন্য পর্যাপ্ত জায়গা না থাকে, তাহলে আপনি এটিকে ছোট এবং সস্তা ব্যবহার করতে পারেন। * এক (1) এলইডি - রঙ নিয়ে কিছু মনে করবেন না, অতি উজ্জ্বল ভাল কাজ করবে।* 2 প্রতিরোধক - এক (1) x 100Ω এবং এক (1) x 100KΩ (অপটিক্যাল সেন্সরের জন্য) আমি ডাইসিমিলা মডেল ব্যবহার করেছি। একটি নতুন ডুয়েমিলানোভ স্পার্কফুনে প্রায় $ 29.95 (খুব বেশি কাজ করা উচিত) + আরডুইনো সফটওয়্যার ইনস্টল করা আছে।* প্রসেসিং সফটওয়্যার ইনস্টল করা আছে। গরম আঠালো (জায়গায় জিনিস ঠিক করার জন্য) কয়েকটি ছোট স্ক্রু। প্রায় 6 সেমি (দিয়া।) কাঠের নোঙ্গর। কিছু অতিরিক্ত তার। সোল্ডারিং লোহা। প্লাস্টিক কাটার কিছু, আমি একটি কাটিয়া ছুরি এবং একটি ফাইল (আকৃতির জন্য)। ("ঠিক আছে, এই পদক্ষেপের জন্য আমাকে ঘৃণা করবেন না, ইংরেজি আমার দ্বিতীয় ভাষা, যদি আমি এটি ভুল করে থাকি, আমি দু sorryখিত, আমি নিশ্চিত যে আপনি এক সেকেন্ডের মধ্যে কী নিয়ে যাচ্ছেন তা আপনি বুঝতে পারবেন। আপনি এটি ছবিতে দেখতে পাবেন ")

ধাপ 2: ইলেকট্রনিক্স

ইলেকট্রনিক্স
ইলেকট্রনিক্স
ইলেকট্রনিক্স
ইলেকট্রনিক্স

সবকিছু একসঙ্গে বিক্রি করা প্রয়োজন … একটি উপায়ে … দ্রষ্টব্য: 3 অক্ষ সেন্সর একটি ব্যয়বহুল সামান্য জিনিস সব কিছু পাওয়ার আগে তারের ডবল পরীক্ষা করুন … এই প্রকল্পে ব্যবহৃত সমস্ত তারের জন্য সংযুক্ত পরিকল্পনা দেখুন। সংযুক্ত সোর্স কোড আপনি যদি একই পিন নম্বরগুলি ব্যবহার করেন তবেই আমি কাজ করতে পারি, তবে যতক্ষণ আপনি কোডে উপযুক্ত নম্বরগুলি পরিবর্তন করেন ততক্ষণ সংযোগ করার সময় নির্দ্বিধায় পরিবর্তন করুন। 3 অক্ষ সেন্সর যুক্ত করে লজিক লেভেল কনভার্টারে: সেন্সর 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 তে অপটিক্যাল সেন্সর: সংযুক্ত ছবি দেখুন GND (আমি একটি অপটিক্যাল সেন্সর ব্যবহার করেছি)+ Arduino PIN 13 এ (এটি করা হয়েছিল যেহেতু এই পিনটিতে ইতিমধ্যেই একটি অন-বোর্ড প্রতিরোধক রয়েছে, যদি আপনি অন্যটি ব্যবহার করেন তবে একটি প্রতিরোধক ব্যবহার করতে ভুলবেন না যাতে আপনি LED বার্ন করবেন না)

ধাপ 3: মাউস প্রস্তুত করা

মাউস প্রস্তুত করা হচ্ছে
মাউস প্রস্তুত করা হচ্ছে
মাউস প্রস্তুত করা হচ্ছে
মাউস প্রস্তুত করা হচ্ছে
মাউস প্রস্তুত করা হচ্ছে
মাউস প্রস্তুত করা হচ্ছে

এখানেই সেন্সরগুলি মাউসের আবাসস্থলের ভিতরে তাদের স্থান খুঁজে পায়। নিশ্চিত করুন যে এটি সমান হয়েছে এবং ওরিয়েন্টেশন মনে রাখবেন (আপনি যখন সেন্সরটি হাতে পাবেন তখন আপনি জানতে পারবেন) আপনি যে কোনও উপায়ে এটি ঠিক করতে পারেন, আমি কাঠের নোঙ্গরের 2 টি ছোট টুকরা ব্যবহার করেছি, 2 টি ছোট স্ক্রু গ্রহণ করার জন্য ড্রিল করা হয়েছে, এবং মাউসের মূল বোর্ডে গরম আঠা। যখন মাউস উত্তোলন করা হয় এবং সেন্সর অবস্থা "খোলা" হয় (দেখার জন্য কোন টেবিল নেই) মাউস 3D মোডে স্যুইচ করে (প্রসেসিং স্কেচ চালায়) অতিরিক্ত তারের (সেন্সর থেকে আরডুইনো পর্যন্ত) রাউটিং করার জন্য আরেকটি গর্ত তৈরি করুন প্লাস্টিকের আবাসন। খনিটি মাউসের ডানদিকে অবস্থিত ছিল। এই প্রকল্পে LED হল 3D- মোড নির্দেশক। আমি আমার সিলিকন মাউসের চাকার পাশে রাখি। যখন ইঁদুরটি উত্তোলন করা হয়, চাকাটিতে একটি সুন্দর নীল আভা ছিল।

ধাপ 4: সোর্স কোড

Arduino এর কোডটি আমার শিক্ষক Shachar Geiger লিখেছিলেন, এবং এই প্রকল্পের জন্য আমার দ্বারা সংশোধন করা হয়েছিল। 3D কিউব কোড হল প্রসেসিং ওয়েব সাইটে পাওয়া মৌলিক কোড। আমি এটিকে কিছুটা পরিবর্তন করেছি কোডে, এই অংশটি সেন্সর থেকে আসা কাঁচা তথ্যকে (সাধারণত -180 থেকে 180 x 10) 0-255 getHeading (); সিরিয়াল.লেখুন ('x'); x = (x +1800) / 14; Serial.write (x); Serial.write ('y'); y = (y+1800) / 14; (z+1800) / 14; Serial.write (z); সেন্সর এবং Arduino থেকে তথ্য প্রতিটি পৃথক অক্ষের জন্য প্রসেসিং স্কেচে যায়, কিন্তু একটি পূর্ববর্তী অক্ষর অক্ষর দিয়ে (exp। X12 Y200 Z130 এর জন্য), নিম্নলিখিত কোডটি অক্ষরটি ফেলে দেয় এবং শুধুমাত্র COM- এ পাঠানো মানগুলি ছেড়ে দেয় port 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 ((float) X/25.0); rotateY ((float) Z/25.0); pX = X; pY = Y; pZ = Z;} অন্যথায় {rotateZ (-(float) pY/25.0); rotateX ((float) pX /25.0);rotateY((float)pZ/25.0);} সংযুক্ত জিপ ফাইলটিতে Arduino এবং প্রসেসিং কোড উভয়ই রয়েছে

ধাপ 5: ভিডিও

এটিই … এটি একটি ভিডিওতে সমাপ্ত প্রকল্প। এখানে একটি ছোটখাট ত্রুটি রয়েছে (আপনি দেখতে পারেন যে ভিডিওটিতে ঘনক্ষেত্র কখনও কখনও "জাম্প" করে), এটি Z অক্ষের কারণে, আপনার সাথে নাও হতে পারে …

প্রস্তাবিত: