সাইবর্গ কম্পিউটার মাউস: 4 টি ধাপ (ছবি সহ)
সাইবর্গ কম্পিউটার মাউস: 4 টি ধাপ (ছবি সহ)
Anonim
সাইবর্গ কম্পিউটার মাউস
সাইবর্গ কম্পিউটার মাউস

অনেক গবেষণায় দেখা গেছে যে প্রচলিত কম্পিউটার মাউস ব্যবহার করার ভঙ্গি বিপজ্জনক হতে পারে। মাউস কম্পিউটার যন্ত্রপাতির একটি আদর্শ অংশ। কম্পিউটার ব্যবহারকারীরা কিবোর্ডের চেয়ে প্রায় তিনগুণ বেশি মাউস ব্যবহার করে। যেহেতু এক্সপোজারের হার বেশি, কম্পিউটার মাউস ব্যবহার করার সময় উপরের চরম ভঙ্গির উন্নতি করা খুবই গুরুত্বপূর্ণ।

এই বিমূর্ত প্রকল্পের জন্য আমরা একটি পরিধানযোগ্য তৈরি করব যা মানুষকে বাইরের প্রযুক্তির প্রয়োজন ছাড়াই একটি কম্পিউটার স্ক্রিন দিয়ে চলাচল করতে দেয়। এইভাবে আমরা একটি অনুভূমিক পৃষ্ঠে একটি ডিভাইস ক্লিক করার পরিবর্তে হাতের প্রাকৃতিক গতিবিধি ব্যবহার করতে পারি। এটি দাঁড়িয়ে থাকার সময় পর্দা ব্যবহার করার অনুমতি দেয়, মৌখিক উপস্থাপনাগুলিকে আরও মনোরম করে তোলে।

প্রোটোটাইপের জন্য সূচকটি জয়স্টিক হিসাবে ব্যবহার করা হবে, বাম ক্লিকের জন্য মধ্যম আঙুল, ডান ক্লিকের জন্য আঙুল এবং ডিভাইসটি চালু এবং বন্ধ করার জন্য গোলাপী। থাম্বটি পৃষ্ঠের মতো কাজ করবে যেখানে বোতামগুলি চাপানো হয়। যা সব একটি গ্লাভস যোগ করা হবে।

সরবরাহ

  • (x1) আরডুইনো লিওনার্দো
  • (x1) প্রোটোবোর্ড
  • (x1) জয়স্টিক মডিউল
  • (x3) পুশবাটন
  • (x20 ±) তারের জাম্পার
  • (x3) 1KΩ এর প্রতিরোধক
  • (x1) গ্লাভস সেলাই কিট
  • ভেলক্রো হট সিলিকন
  • ওয়্যার সোল্ডারিং কিট
  • 3D মুদ্রিত অংশ

ধাপ 1: হার্ডওয়্যার সেট আপ করুন

হার্ডওয়্যার সেট আপ করুন
হার্ডওয়্যার সেট আপ করুন

আমরা নকশাটি আরও ভালভাবে বোঝার জন্য একটি ফ্রিজিং স্কেচ অন্তর্ভুক্ত করেছি। আমরা প্রথমে একটি প্রোটোবোর্ডে উপাদানগুলি মাউন্ট করার পরামর্শ দিই। এইভাবে আপনি সোল্ডারিংয়ের আগে সবকিছু কাজ করছে কিনা তা পরীক্ষা করতে পারেন।

ধাপ 2: কোড এবং পরীক্ষা আপলোড করুন

একবার সংযোগ তৈরি হয়ে গেলে USB A (M) কে মাইক্রো USB B (M) থেকে কম্পিউটার থেকে Arduino Leonardo- এর সাথে সংযুক্ত করুন এবং স্কেচ আপলোড করুন। স্কেচে অনুলিপি, সংশোধন এবং উন্নতি করুন।

সতর্কতা: যখন আপনি Mouse.move () কমান্ডটি ব্যবহার করেন, তখন Arduino আপনার মাউস দখল করে নেয়! কমান্ড ব্যবহার করার আগে নিশ্চিত করুন যে আপনার নিয়ন্ত্রণ আছে। এটি শুধুমাত্র Arduino Leonardo, Micro বা Due এর জন্য কাজ করে

এই প্রকল্পের জন্য এখানে আমাদের কোড:

// সংজ্ঞায়িত পিন#অন্তর্ভুক্ত; const int mouseMiddleButton = 2; // মাউসের মাঝের বোতামের জন্য ইনপুট পিন int intEmulation = 3; // সুইচ চালু এবং বন্ধ মাউস এমুলেশন const int mouseLeftButton = 4; // মাউসের জন্য ইনপুট পিন বাম বোতাম const int mouseRightButton = 5; // মাউসের ডান বাটনের জন্য ইনপুট পিন int int joystickX = A1; // জয়স্টিক এক্স অক্ষ const int জয়স্টিক Y = A0; // জয়স্টিক Y অক্ষ

// জয়স্টিক পড়ার জন্য প্যারামিটার:

int cursorSpeed = 10; // এক্স বা ওয়াই আন্দোলনের আউটপুট গতি int responseDelay = 5; // মাউসের প্রতিক্রিয়া বিলম্ব, ms int threshold = cursorSpeed / 4; // বিশ্রামের প্রান্তিক কেন্দ্র কেন্দ্র = কার্সারস্পিড / 2; // বিশ্রামের অবস্থান মান int mouseMiddleState = 0;

বুলিয়ান মাউসআইস্যাকটিভ = মিথ্যা; // মাউস নিয়ন্ত্রণ করতে হবে কিনা

int lastSwitchState = LOW; // পূর্ববর্তী সুইচ অবস্থা

অকার্যকর সেটআপ() {

pinMode (startEmulation, INPUT); // সুইচ পিন pinMode (mouseMiddleButton, INPUT); // মধ্য মাউস বোতাম পিনমোড (মাউস লেফট বাটন, ইনপুট); // বাম মাউস বোতাম পিনমোড (মাউসরাইটবটন, ইনপুট); // ডান মাউস বোতাম পিন

মাউস। শুরু (); // মাউসের নিয়ন্ত্রণ নিন

}

অকার্যকর লুপ () {

// সুইচটি পড়ুন: int switchState = digitalRead (startEmulation);

// যদি এটি পরিবর্তিত হয় এবং এটি উচ্চ হয়, মাউস অবস্থা টগল করুন:

if (switchState! = lastSwitchState) {if (switchState == LOW) {mouseIsActive =! mouseIsActive; }}

// পরবর্তী লুপের জন্য সুইচ অবস্থা সংরক্ষণ করুন:

lastSwitchState = switchState;

// দুটি অক্ষ পড়ুন এবং স্কেল করুন:

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

// যদি মাউস নিয়ন্ত্রণ অবস্থা সক্রিয় থাকে, মাউসটি সরান:

যদি (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, স্ক্রল মাউস হুইল)}

// বাম

// মাউস বোতামটি পড়ুন এবং ক্লিক করুন বা না ক্লিক করুন: // যদি মাউস বোতাম টিপে থাকে: if (digitalRead (mouseLeftButton) == HIGH) {// যদি মাউস টিপানো না হয়, তাহলে এটি টিপুন: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); বিলম্ব (100); // একক সক্ষম করতে বিলম্ব এবং Mouse.release (MOUSE_LEFT) ডাবল ক্লিক করুন; }}

// অন্যথায় মাউস বোতাম চাপানো হয় না:

অন্য {// যদি মাউস টিপে থাকে, তাহলে ছেড়ে দিন: 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) -এ দুবার ক্লিক করুন; }}

// অন্যথায় মাউস বোতাম চাপানো হয় না:

অন্য {// যদি মাউস টিপে থাকে, তাহলে ছেড়ে দিন: 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; // বাস্তবতা এল এস্তাদো দেল বোটান

// অন্যথায় মাউস বোতাম চাপানো হয় না:

অন্যথায় {// যদি মাউস টিপে থাকে, তাহলে ছেড়ে দিন: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

বিলম্ব (প্রতিক্রিয়া বিলম্ব);

}

/*

একটি অক্ষ (x বা y এর জন্য 0 বা 1) পড়ে এবং এনালগ ইনপুট পরিসীমা 0 থেকে */

int readAxis (int thisAxis) {

// এনালগ ইনপুট পড়ুন: int reading = analogRead (thisAxis);

// এনালগ ইনপুট পরিসীমা থেকে আউটপুট পরিসরে পড়ার মানচিত্র:

পড়া = মানচিত্র (পড়া, 0, 1023, 0, কার্সারস্পিড);

// যদি আউটপুট পড়ার বাইরে থেকে হয়

// বিশ্রামের অবস্থান থ্রেশহোল্ড, এটি ব্যবহার করুন: int দূরত্ব = পড়া - কেন্দ্র;

যদি (abs (দূরত্ব) <থ্রেশহোল্ড) {দূরত্ব = 0; }

// এই অক্ষের জন্য দূরত্ব ফিরিয়ে দিন:

ফেরার দূরত্ব; }

ধাপ 3: প্রোটোটাইপ মাউন্ট করা

প্রোটোটাইপ মাউন্ট করা
প্রোটোটাইপ মাউন্ট করা
প্রোটোটাইপ মাউন্ট করা
প্রোটোটাইপ মাউন্ট করা
প্রোটোটাইপ মাউন্ট করা
প্রোটোটাইপ মাউন্ট করা

প্রথম ধাপ হল গ্লাভে ভেলক্রো সেলাই করা, আপনাকে প্রতিটি আঙুলে ভেলক্রো চারটি স্ট্রিপ সেলাই করতে হবে। আমরা ভেলক্রোর নরম অংশ সেলাই করেছি।

প্রতিটি পুশবাটনের দুটি তার রয়েছে, একটি যা সংশ্লিষ্ট পিনগুলিতে শুরু হয় এবং বোতামের ধনাত্মক পায়ে এবং অন্যটি নেতিবাচক পায়ে সংযুক্ত হয়। নেতিবাচক তারের অন্য প্রান্তে আমরা প্রতিটি বোতামের প্রতিরোধ ক্ষমতা এবং জয়স্টিকের নেতিবাচক তারের একটি শেষ তারের সাথে ঝালাই করি, যা আরডুইনো বোর্ডের GND- এর সাথে সংযোগ স্থাপন করে। একই সমান্তরাল সংযোগ ইতিবাচক দিকের জন্য কাজ করে। (3 বোতাম এবং জয়স্টিক পজিটিভ লেগ)

জাম্পারগুলি সোল্ডার করার পরে আমরা শক্ত ভেলক্রো-স্ট্রিপগুলি লাগাব, যাতে তারগুলি মাঝখানে আটকে যাবে। পরিশেষে আমরা থার্মো-আঠালো জয়স্টিক মডিউলকে একটি 3D মুদ্রিত টুকরোতে লাগিয়েছি। নীচে আপনি. STL ফাইলটি খুঁজে পেতে পারেন।

ধাপ 4: মাউস হিসাবে আপনার হাত ব্যবহার শুরু করুন

Image
Image
মাউস হিসাবে আপনার হাত ব্যবহার শুরু করুন!
মাউস হিসাবে আপনার হাত ব্যবহার শুরু করুন!
মাউস হিসাবে আপনার হাত ব্যবহার শুরু করুন!
মাউস হিসাবে আপনার হাত ব্যবহার শুরু করুন!

আপনি যদি প্রকল্পটি উপভোগ করেন তবে সহায়ক প্রযুক্তি প্রতিযোগিতায় আমাদের জন্য ভোট দিন।

প্রস্তাবিত: